Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

SimpleKinematic.h

Go to the documentation of this file.
00001 // ================================================
00002 // SimpleKinematic class description
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00006 //
00007 // Namespace Atlfast::
00008 //
00009 // class: SimpleKinematic
00010 //
00011 // Authors: P.Clarke, H.Phillips, E.Richter-Was, P.Sherwood, R.Steward
00012 //
00013 // Description: 
00014 //
00015 //  Convertor from various types to IKinematic
00016 //
00017 //..................................................
00018 
00019 
00020 #ifndef ATLFAST_SIMPLEKINEMATIC_H
00021 #define ATLFAST_SIMPLEKINEMATIC_H
00022 
00023 
00024 // Kinematic classes.
00025 #include "HepMC/GenParticle.h"
00026 #include "CLHEP/Vector/LorentzVector.h"
00027 #include "AtlfastEvent/IKinematic.h"
00028 
00029 namespace Atlfast  {
00034   class SimpleKinematic: public IKinematic {
00035   public:
00036     SimpleKinematic(const HepMC::GenParticle& p): m_momentum(p.momentum()){}
00037     SimpleKinematic(const HepMC::GenParticle* p): m_momentum(p->momentum()){}
00038 
00039     //IKinematic interface
00040     virtual HepLorentzVector  momentum() const {return m_momentum;}
00041     virtual double  eta() const{ return m_momentum.pseudoRapidity();}
00042     virtual double  phi() const{ return m_momentum.phi();}
00043     virtual double  pT()  const{ return m_momentum.perp();}
00044     virtual double  eT()  const{ return m_momentum.perp();}
00045     virtual double  mT()  const{ return m_momentum.mt();}
00046     virtual ~SimpleKinematic(){}
00047   private:
00048     const HepLorentzVector m_momentum;
00049   };
00050 }
00051 #endif
00052 
00053 
00054 
00055 
00056 

Generated on Wed Jan 15 11:00:29 2003 for AtlfastUtils by doxygen1.3-rc1