MomentumSumVisitor.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_MOMENTUMSUMVISITOR_H
00002 #define ATLFAST_MOMENTUMSUMVISITOR_H
00003 
00007 
00008 #ifndef ATLFAST_IAOO_H
00009 #include "AtlfastEvent/IAOO.h"
00010 #endif
00011 
00012 #ifndef ATLFAST_IAOOVISITOR_H
00013 #include "AtlfastEvent/IAOOvisitor.h"
00014 #endif
00015 
00016 #ifndef STD_VECTOR_H
00017 #include <vector>
00018 #define STD_VECTOR_H
00019 #endif
00020 
00021 
00022 #ifndef CLHEP_LORENTZVECTOR_H
00023 #include "CLHEP/Vector/LorentzVector.h"
00024 #define CLHEP_LORENTZVECTOR_H
00025 #endif
00026 
00027 namespace Atlfast{
00028   class ReconstructedParticle;
00029   class Cell;
00030   class IKinematic;
00031   class TwoCptCell;
00032   class KtCluster;
00033   class Cluster;
00034   class Jet;
00035   class SimpleKinematic;
00036   class Track;
00037 
00038   class IAOO;
00039 
00040   using ::HepLorentzVector;
00041  
00042   class MomentumSumVisitor: public IAOOvisitor{
00043   public:
00044     ~MomentumSumVisitor(){}
00046     void reset();
00047     void operator()(const IAOO* ia);
00048 
00050     virtual void process(const Cell*);
00051     virtual void process(const Cluster*);
00052     virtual void process(const KtCluster*);
00053     virtual void process(const Jet*);
00054     virtual void process(const ReconstructedParticle*);
00055     virtual void process(const SimpleKinematic*);
00056     virtual void process(const Track*);
00057     virtual void process(const TwoCptCell*);
00058 
00059     //
00060     
00061     HepLorentzVector   momSum(const Cell&)                   const;
00062     HepLorentzVector   momSum(const TwoCptCell&)             const;
00063     HepLorentzVector   momSum(const Cluster&)                const;
00064     HepLorentzVector   momSum(const KtCluster&)                const;
00065     HepLorentzVector   momSum(const Jet&)                    const;
00066     HepLorentzVector   momSum(const SimpleKinematic&)        const;
00067     HepLorentzVector   momSum(const Track&)                  const;
00068     HepLorentzVector   momSum(const ReconstructedParticle&)  const;
00069 
00070   private:
00071 
00073     HepLorentzVector m_cellMom;
00074     HepLorentzVector m_twoCptCellMom;
00075     HepLorentzVector m_clusterMom;
00076     HepLorentzVector m_ktClusterMom;
00077     HepLorentzVector m_jetMom;
00078     HepLorentzVector m_reconstructedParticleMom;
00079     HepLorentzVector m_simpleKinematicMom;
00080     HepLorentzVector m_trackMom;
00081   };
00082 }//namespace
00083 #endif 
00084   
00085  
00086 
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 

Generated on Fri Sep 21 13:20:36 2007 for AtlfastUtils by  doxygen 1.5.1