SimpleKinematic.cxx

Go to the documentation of this file.
00001 // SimpleKinematic implementation
00002 //
00003 
00004 #include "AtlfastEvent/SimpleKinematic.h"
00005 #include "AtlfastEvent/IAOOvisitor.h"
00006 
00007 namespace Atlfast {
00008   SimpleKinematic::SimpleKinematic(const SimpleKinematic& rhs):
00009     Atlfast::IAOO(rhs),
00010     INavigable(rhs),
00011     I4Momentum(rhs),
00012     INavigable4Momentum(rhs),
00013     Atlfast::IKinematic(rhs),
00014     Atlfast::IAODNavigation(rhs),
00015     AODNavigationImp(rhs){
00016     m_momentum=rhs.m_momentum;
00017   }
00018   SimpleKinematic& SimpleKinematic::operator=(const SimpleKinematic& rhs){
00019     
00020     if(this == &rhs) return *this;
00021 
00022     AODNavigationImp::operator=(rhs);
00023 
00024     m_momentum=rhs.m_momentum;
00025 
00026     return *this;
00027   }
00028    
00029   HepLorentzVector  SimpleKinematic::momentum() const {return m_momentum;}
00030   double  SimpleKinematic::eta() const{ return m_momentum.pseudoRapidity();}
00031   double  SimpleKinematic::phi() const{ return m_momentum.phi();}
00032   double  SimpleKinematic::pT()  const{ return m_momentum.perp();}
00033   double  SimpleKinematic::eT()  const{ return m_momentum.perp();}
00034   double  SimpleKinematic::mT()  const{ return m_momentum.mt();}
00035   IKinematic* SimpleKinematic::clone() const{
00036      IKinematic* ik = new SimpleKinematic(*this);
00037      return ik;
00038    }
00039   SimpleKinematic::~SimpleKinematic(){}
00041   void SimpleKinematic::accept(IAOOvisitor* iaPtr) const{
00042     iaPtr->process(this);
00043   }
00044   
00045 } // end of namespace bracket
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 

Generated on Fri Sep 21 13:00:10 2007 for AtlfastEvent by  doxygen 1.5.1