00001 #include "AtlfastUtils/MomentumSumVisitor.h" 00002 00003 #include "AtlfastEvent/ReconstructedParticle.h" 00004 #include "AtlfastEvent/Cell.h" 00005 #include "AtlfastEvent/TwoCptCell.h" 00006 #include "AtlfastEvent/Cluster.h" 00007 #include "AtlfastEvent/KtCluster.h" 00008 #include "AtlfastEvent/Jet.h" 00009 #include "AtlfastEvent/SimpleKinematic.h" 00010 #include "AtlfastEvent/Track.h" 00011 #include "AtlfastEvent/IKinematic.h" 00012 00013 00014 namespace Atlfast{ 00016 void MomentumSumVisitor::operator()(const IAOO* iaoo){iaoo->accept(this);} 00017 void MomentumSumVisitor::process(const Cell* t){ 00018 //const IKinematic* ik = t; 00019 // m_cellMom+=ik->momentum();} 00020 m_cellMom+=t->momentum();} 00021 void MomentumSumVisitor::process(const Cluster* t){ 00022 //const IKinematic* ik = t; 00023 // m_clusterMom+=ik->momentum(); 00024 m_clusterMom+=t->momentum(); 00025 } 00026 void MomentumSumVisitor::process(const KtCluster* t){ 00027 const IKtCluster* ik = t; 00028 m_ktClusterMom+=ik->momentum(); 00029 } 00030 void MomentumSumVisitor::process(const Jet* t){ 00031 //const IKinematic* ik = t; 00032 // m_jetMom+=ik->momentum();} 00033 m_jetMom+=t->momentum();} 00034 00035 void MomentumSumVisitor::process(const ReconstructedParticle* t){ 00036 //const IKinematic* ik = t; 00037 // m_reconstructedParticleMom+=ik->momentum(); 00038 m_reconstructedParticleMom+=t->momentum(); 00039 } 00040 00041 void MomentumSumVisitor::process(const SimpleKinematic* t){ 00042 //const IKinematic* ik = t; 00043 // m_simpleKinematicMom+=ik->momentum(); 00044 m_simpleKinematicMom+=t->momentum(); 00045 } 00046 00047 void MomentumSumVisitor::process(const Track* t){ 00048 //const IKinematic* ik = t; 00049 // m_trackMom+=ik->momentum();} 00050 m_trackMom+=t->momentum();} 00051 00052 void MomentumSumVisitor::process(const TwoCptCell* t){ 00053 const ITwoCptCell* it = t; 00054 // m_twoCptCellMom+=ik->momentum(); 00055 m_twoCptCellMom+=it->momentum(); 00056 } 00057 00058 HepLorentzVector MomentumSumVisitor::momSum( const Cell&) const { 00059 return m_cellMom; 00060 } 00061 HepLorentzVector MomentumSumVisitor::momSum( const TwoCptCell&) const { 00062 return m_twoCptCellMom; 00063 } 00064 HepLorentzVector MomentumSumVisitor::momSum( const Cluster&) const { 00065 return m_clusterMom; 00066 } 00067 HepLorentzVector MomentumSumVisitor::momSum( const KtCluster&) const { 00068 return m_ktClusterMom; 00069 } 00070 HepLorentzVector MomentumSumVisitor::momSum( const Jet&) const { 00071 return m_jetMom; 00072 } 00073 HepLorentzVector MomentumSumVisitor::momSum( const SimpleKinematic&) const { 00074 return m_simpleKinematicMom; 00075 } 00076 HepLorentzVector MomentumSumVisitor::momSum( const Track& ) const { 00077 return m_trackMom; 00078 } 00079 HepLorentzVector 00080 MomentumSumVisitor::momSum( const ReconstructedParticle&) const { 00081 return m_reconstructedParticleMom; 00082 } 00083 }//namespace; 00084 00085