00001 #include "AtlfastUtils/JetVisitor.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 00012 #include "AtlfastEvent/ParticleCodes.h" 00013 00014 #include <iostream> 00015 00016 namespace Atlfast{ 00017 void JetVisitor::reset() { 00018 m_cells.clear() ; 00019 m_twoCptCells.clear() ; 00020 m_clusters.clear() ; 00021 m_ktClusters.clear() ; 00022 m_jets.clear() ; 00023 m_reconstructedParticles.clear() ; 00024 m_simpleKinematics.clear() ; 00025 m_tracks.clear() ; 00026 } 00027 00029 void JetVisitor::operator()(const IAOO* iaoo){iaoo->accept(this);} 00030 00031 void JetVisitor::process(const Cell* t){ 00032 m_cells.push_back(t); 00033 } 00034 00035 void JetVisitor::process(const Cluster* t){ 00036 m_clusters.push_back(t); 00037 } 00038 00039 void JetVisitor::process(const KtCluster* t){ 00040 m_ktClusters.push_back(t); 00041 } 00042 00043 void JetVisitor::process(const Jet* t){ 00044 m_jets.push_back(t); 00045 } 00046 00047 void JetVisitor::process(const ReconstructedParticle* t){ 00048 m_reconstructedParticles.push_back(t); 00049 } 00050 00051 void JetVisitor::process(const SimpleKinematic* t){ 00052 m_simpleKinematics.push_back(t); 00053 } 00054 00055 void JetVisitor::process(const Track* t){ 00056 m_tracks.push_back(t); 00057 } 00058 00059 void JetVisitor::process(const TwoCptCell* t){ 00060 m_twoCptCells.push_back(t); 00061 } 00062 00063 00064 00065 std::vector<const Cell*> 00066 JetVisitor::typeVector(const Cell&) const { 00067 return m_cells ; 00068 } 00069 00070 std::vector<const TwoCptCell*> 00071 JetVisitor::typeVector(const TwoCptCell&) const { 00072 return m_twoCptCells ; 00073 } 00074 00075 std::vector<const Cluster*> 00076 JetVisitor::typeVector(const Cluster&) const { 00077 return m_clusters ; 00078 } 00079 00080 std::vector<const KtCluster*> 00081 JetVisitor::typeVector(const KtCluster&) const { 00082 return m_ktClusters ; 00083 } 00084 00085 std::vector<const Jet*> 00086 JetVisitor::typeVector(const Jet&) const { 00087 return m_jets ; 00088 } 00089 00090 std::vector<const SimpleKinematic*> 00091 JetVisitor::typeVector(const SimpleKinematic&) const { 00092 return m_simpleKinematics ; 00093 } 00094 00095 std::vector<const Track*> 00096 JetVisitor::typeVector(const Track&) const { 00097 return m_tracks ; 00098 } 00099 00100 std::vector<const ReconstructedParticle*> 00101 JetVisitor::typeVector(const ReconstructedParticle&) const { 00102 return m_reconstructedParticles ; 00103 } 00104 }//namespace;