#include <Cluster.h>
Inheritance diagram for Atlfast::Cluster:
Public Member Functions | |
template<class CellIter> | |
Cluster (const HepLorentzVector &vec, CellIter first, CellIter last) | |
Cluster (const Cluster &src) | |
Cluster & | operator= (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 IKinematic * | clone () 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 |
Definition at line 70 of file Cluster.h.
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 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.
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] |
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] |
virtual void Atlfast::IAOO::associate | ( | const IAOO * | otherEntity | ) | [pure virtual, inherited] |
virtual std::vector<const IAOO*>::const_iterator Atlfast::IAOO::begin | ( | ) | const [pure virtual, inherited] |
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] |
virtual void Atlfast::IAOO::dump | ( | const std::string & | s | ) | const [pure virtual, inherited] |
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 }
HepLorentzVector Atlfast::Cluster::m_momentum [private] |