Atlfast::Cluster Class Reference

#include <Cluster.h>

Inheritance diagram for Atlfast::Cluster:

Inheritance graph
[legend]
Collaboration diagram for Atlfast::Cluster:

Collaboration graph
[legend]
List of all members.

Public Member Functions

template<class CellIter>
 Cluster (const HepLorentzVector &vec, CellIter first, CellIter last)
 Cluster (const Cluster &src)
Clusteroperator= (const Cluster &src)
 Cluster ()
virtual ~Cluster ()
virtual HepLorentzVector momentum () const
virtual double eta () const
virtual double phi () const
virtual double pT () const
virtual double eT () const
virtual double mT () const
virtual IKinematicclone () const
void setMomentum (const HepLorentzVector &)
virtual void accept (IAOOvisitor *iaPtr) const
 to be implemented by the concrete classes
virtual void print (const std::string &coor, std::string t="") const
virtual void fillToken (INavigationToken &) const
virtual void fillToken (INavigationToken &, const boost::any &) const
virtual void fillNavTokenFromAssocs (INavigationToken &) const=0
virtual double e () const
virtual double m () const
virtual void associate (const IAOO *otherEntity)=0
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const=0
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const=0
virtual bool unAssociated () const=0
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()=0
 zero the container
virtual void dump (const std::string &s) const =0
 dump out debug info

Protected Member Functions

virtual void fillNavTokenFromAssocs (INavigationToken &) const
virtual void associate (const IAOO *otherEntity)
 store any object with IAOO above it the inheritance heirarchy
virtual std::vector< const
IAOO * >::const_iterator 
begin () const
 iterators for the store.
virtual std::vector< const
IAOO * >::const_iterator 
end () const
virtual bool unAssociated () const
 A quick way to find out whether there are any associations at a ll.
virtual void reset ()
 zero the container
virtual void dump (const std::string &) const
 dump out debug info

Private Attributes

HepLorentzVector m_momentum

Detailed Description

This class represents a cluster of energy with a centroid at a given 3-vector position. Clusters honour the IKinematic interface with the constraints that eT=pT, and thus contains the documented kinematic methods.

Definition at line 70 of file Cluster.h.


Constructor & Destructor Documentation

template<class CellIter>
Atlfast::Cluster::Cluster ( const HepLorentzVector &  vec,
CellIter  first,
CellIter  last 
) [inline]

............. Constructors

associate the component cells

Definition at line 117 of file Cluster.h.

00117                                                                                  : 
00118     ICluster(), AODNavigationImp(), m_momentum(vec){
00119 
00121     IAOO* iaoo = this;
00122     for ( CellIter i=first; i != last; ++i ) {iaoo->associate(*i);}
00123   }

Atlfast::Cluster::Cluster ( const Cluster src  ) 

Definition at line 12 of file Cluster.cxx.

00012                                       :
00013     Atlfast::IAOO(src),
00014     INavigable(src),
00015     I4Momentum(src),
00016     INavigable4Momentum(src),
00017     Atlfast::IKinematic(src),
00018     Atlfast::IAODNavigation(src),
00019     Atlfast::ICluster(src),
00020     AODNavigationImp(src){ 
00021     m_momentum = src.m_momentum;
00022   }

Atlfast::Cluster::Cluster (  ) 

Definition at line 35 of file Cluster.cxx.

00035                    : 
00036     AODNavigationImp(),
00037     m_momentum(HepLorentzVector(0.0,0.0,0.0,0.0)){
00038   }

virtual Atlfast::Cluster::~Cluster (  )  [inline, virtual]

Definition at line 87 of file Cluster.h.

00087 {}


Member Function Documentation

Cluster & Atlfast::Cluster::operator= ( const Cluster src  ) 

Definition at line 24 of file Cluster.cxx.

00024                                                  {
00025     
00026     if( this == &src) return *this;
00027 
00028     AODNavigationImp::operator=(src );
00029     m_momentum = src.m_momentum;
00030 
00031     return *this;
00032   }

HepLorentzVector Atlfast::Cluster::momentum (  )  const [virtual]

.............................................. IKinematic Interface

Implements Atlfast::IKinematic.

Definition at line 41 of file Cluster.cxx.

00041 {return m_momentum; } 

double Atlfast::Cluster::eta (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 42 of file Cluster.cxx.

00042 { return m_momentum.pseudoRapidity() ;}

double Atlfast::Cluster::phi (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 43 of file Cluster.cxx.

00043 { return m_momentum.phi() ;  } 

double Atlfast::Cluster::pT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 44 of file Cluster.cxx.

00044 { return m_momentum.perp() ;}

double Atlfast::Cluster::eT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 46 of file Cluster.cxx.

00046                              { 
00047     return  m_momentum.e()*m_momentum.perp()/m_momentum.rho() ;
00048   }

double Atlfast::Cluster::mT (  )  const [virtual]

Implements Atlfast::IKinematic.

Definition at line 45 of file Cluster.cxx.

00045 { return m_momentum.mt(); }   

IKinematic * Atlfast::Cluster::clone (  )  const [virtual]

Implements Atlfast::IKinematic.

Reimplemented in Atlfast::KtCluster.

Definition at line 49 of file Cluster.cxx.

00049                                   {
00050     IKinematic* ik = new Cluster(*this);
00051     return ik;
00052   }

void Atlfast::Cluster::setMomentum ( const HepLorentzVector &   )  [virtual]

Implements Atlfast::ICluster.

Definition at line 58 of file Cluster.cxx.

00058                                                        {
00059     m_momentum=vec;
00060   }

void Atlfast::Cluster::accept ( IAOOvisitor iaPtr  )  const [virtual]

to be implemented by the concrete classes

Implements Atlfast::IAOO.

Reimplemented in Atlfast::KtCluster.

Definition at line 54 of file Cluster.cxx.

00054                                                {
00055     iaPtr->process(this);
00056   }

void Atlfast::Cluster::print ( const std::string &  coor,
std::string  t = "" 
) const [virtual]

Dump method.

Reimplemented from Atlfast::IKinematicBase.

Reimplemented in Atlfast::KtCluster.

Definition at line 70 of file Cluster.cxx.

00070                                                              {
00071     AODNavigationImp::print(coor, t);
00072     std::cout<<t<<std::string(73,' ')<<"Cluster"<<std::endl;
00073   }

void Atlfast::Cluster::fillToken ( INavigationToken &   )  const [virtual]

Reimplemented from Atlfast::AODNavigationImp.

Definition at line 63 of file Cluster.cxx.

00063                                                       {
00064     this-> fillNavTokenFromAssocs(token);
00065   }

void Atlfast::Cluster::fillToken ( INavigationToken &  ,
const boost::any &   
) const [virtual]

Reimplemented from Atlfast::AODNavigationImp.

Definition at line 67 of file Cluster.cxx.

00067                                                                 {
00068   }

virtual void Atlfast::IAODNavigation::fillNavTokenFromAssocs ( INavigationToken &   )  const [pure virtual, inherited]

Implemented in Atlfast::AODNavigationImp.

virtual double Atlfast::IKinematic::e (  )  const [inline, virtual, inherited]

Reimplemented in Atlfast::Jet.

Definition at line 75 of file IKinematic.h.

00075 {return this->momentum().e();}

virtual double Atlfast::IKinematic::m (  )  const [inline, virtual, inherited]

Definition at line 76 of file IKinematic.h.

00076 {return this->momentum().m();}

virtual void Atlfast::IAOO::associate ( const IAOO otherEntity  )  [pure virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::begin (  )  const [pure virtual, inherited]

iterators for the store.

Implemented in Atlfast::AOObase.

virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::end (  )  const [pure virtual, inherited]

Implemented in Atlfast::AOObase.

virtual bool Atlfast::IAOO::unAssociated (  )  const [pure virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::reset (  )  [pure virtual, inherited]

zero the container

Implemented in Atlfast::AOObase.

virtual void Atlfast::IAOO::dump ( const std::string &  s  )  const [pure virtual, inherited]

dump out debug info

Implemented in Atlfast::AOObase.

void Atlfast::AODNavigationImp::fillNavTokenFromAssocs ( INavigationToken &   )  const [virtual, inherited]

Implements Atlfast::IAODNavigation.

Definition at line 14 of file AODNavigationImp.cxx.

00014                                                                             {
00015     NavigationToken<I4Momentum>* i4Token =
00016       dynamic_cast< NavigationToken<I4Momentum>* >(&token);
00017     if ( i4Token == 0 ) return;
00018     
00019     TypeVisitor typeVisitor = SimpleAssocsDispatcher(this, TypeVisitor());
00020 
00021     std::vector<const I4Momentum*> i4s = typeVisitor.i4momenta();    
00022     std::vector<const I4Momentum*>::const_iterator iter = i4s.begin();
00023     for(;iter!= i4s.end(); ++iter){i4Token->setObject(*iter);}
00024   }

void Atlfast::AOObase::associate ( const IAOO otherEntity  )  [virtual, inherited]

store any object with IAOO above it the inheritance heirarchy

Implements Atlfast::IAOO.

Definition at line 18 of file AOObase.cxx.

00018                                            {
00019     m_associations.push_back( other ) ;
00020   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::begin (  )  const [virtual, inherited]

iterators for the store.

Implements Atlfast::IAOO.

Definition at line 10 of file AOObase.cxx.

00010                                                            {
00011     return m_associations.begin();
00012   }

std::vector< const IAOO * >::const_iterator Atlfast::AOObase::end (  )  const [virtual, inherited]

Implements Atlfast::IAOO.

Definition at line 14 of file AOObase.cxx.

00014                                                            {
00015     return m_associations.end();
00016   }

virtual bool Atlfast::AOObase::unAssociated (  )  const [inline, virtual, inherited]

A quick way to find out whether there are any associations at a ll.

Implements Atlfast::IAOO.

Definition at line 31 of file AOObase.h.

00031 { return m_associations.empty() ; }

virtual void Atlfast::AOObase::reset (  )  [inline, virtual, inherited]

zero the container

Implements Atlfast::IAOO.

Definition at line 32 of file AOObase.h.

00032 { m_associations.clear();}

void Atlfast::AOObase::dump ( const std::string &   )  const [virtual, inherited]

dump out debug info

Implements Atlfast::IAOO.

Definition at line 22 of file AOObase.cxx.

00022                                             {
00023     std::cout<<'\n'<<s<<"Associations: "
00024              <<std::setw(6)<<m_associations.size()
00025              <<std::string(53,' ')
00026              <<"AOObase"<<std::endl;
00027     //std::for_each(m_associations.begin(), 
00028     //    m_associations.end(), 
00029     //    AtlfastDumperObject("Associations", "   ")
00030     //    );
00031   }


Member Data Documentation

HepLorentzVector Atlfast::Cluster::m_momentum [private]

Definition at line 77 of file Cluster.h.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 13:00:20 2007 for AtlfastEvent by  doxygen 1.5.1