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 
00028 //#ifndef ATLFAST_IKINEMATIC_H
00029 //#include "AtlfastEvent/IKinematic.h"
00030 //#endif
00031 
00032 #ifndef ATLFAST_IAODNAVIGATION_H
00033 #include "AtlfastEvent/IAODNavigation.h"
00034 #endif
00035 
00036 //#ifndef ATLFAST_IKINEMATICBASE_H
00037 //#include "AtlfastEvent/IKinematicBase.h"
00038 //#endif
00039 
00040 #ifndef ATLFAST_AODNAVIGATIONIMP_H
00041 #include "AtlfastEvent/AODNavigationImp.h"
00042 #endif
00043 
00044 namespace Atlfast  {
00049   class IAOOvisitor;
00050   class SimpleKinematic: virtual public IAODNavigation, 
00051     private AODNavigationImp {
00052     public:
00053     SimpleKinematic(){}
00054     explicit 
00055       SimpleKinematic(const HepMC::GenParticle& p): m_momentum(p.momentum()){}
00056     explicit
00057       SimpleKinematic(const HepMC::GenParticle* p): m_momentum(p->momentum()){}
00058     SimpleKinematic(const SimpleKinematic&);
00059     SimpleKinematic& operator=(const SimpleKinematic&);
00060     
00061     //IKinematic interface
00062     virtual HepLorentzVector  momentum() const;
00063     virtual double  eta() const;
00064     virtual double  phi() const;
00065     virtual double  pT()  const;
00066     virtual double  eT()  const;
00067     virtual double  mT()  const;
00068     virtual IKinematic* clone() const;
00069     virtual ~SimpleKinematic();
00071     virtual void accept(IAOOvisitor* iaPtr) const;
00072     
00073   private:
00074     HepLorentzVector m_momentum;
00075   };
00076 }
00077 #endif
00078 
00079 
00080 
00081 
00082 

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