JetVisitor.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_JETVISITOR_H
00002 #define ATLFAST_JETVISITOR_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 namespace Atlfast{
00022   class ReconstructedParticle;
00023   class Cell;
00024   class IKinematic;
00025   class TwoCptCell;
00026   class Cluster;
00027   class KtCluster;
00028   class Jet;
00029   class SimpleKinematic;
00030   class Track;
00031 
00032   class IAOO;
00033  
00034   class JetVisitor: public IAOOvisitor{
00035   public:
00036     JetVisitor(){}
00037     ~JetVisitor(){}
00039     void reset();
00040     void operator()(const IAOO* ia);
00041 
00043     virtual void process(const Cell*);
00044     virtual void process(const Cluster*);
00045     virtual void process(const KtCluster*);
00046     virtual void process(const Jet*);
00047     virtual void process(const ReconstructedParticle*);
00048     virtual void process(const SimpleKinematic*);
00049     virtual void process(const Track*);
00050     virtual void process(const TwoCptCell*);
00051 
00052     //
00053     virtual std::vector<const Cell*>       
00054                               typeVector(const Cell&)                  const;
00055 
00056     virtual std::vector<const TwoCptCell*> 
00057                               typeVector(const TwoCptCell&)            const;
00058 
00059     virtual std::vector<const Cluster*>    
00060                               typeVector(const Cluster&)               const;
00061 
00062     virtual std::vector<const KtCluster*>    
00063                               typeVector(const KtCluster&)             const;
00064 
00065     virtual std::vector<const Jet*>        
00066                               typeVector(const Jet&)                   const;
00067 
00068     virtual std::vector<const SimpleKinematic*>  
00069                               typeVector(const SimpleKinematic&)       const;
00070 
00071     virtual std::vector<const Track*>          
00072                               typeVector(const Track&)                 const;
00073 
00074     virtual std::vector<const ReconstructedParticle*> 
00075                               typeVector(const ReconstructedParticle&) const;
00076 
00077   private:
00078 
00080     std::vector<const Cell*>                   m_cells ;
00081     std::vector<const TwoCptCell*>             m_twoCptCells ;
00082     std::vector<const Cluster*>                m_clusters ;
00083     std::vector<const KtCluster*>              m_ktClusters ;
00084     std::vector<const Jet*>                    m_jets ;
00085     std::vector<const ReconstructedParticle*>  m_reconstructedParticles ;
00086     std::vector<const SimpleKinematic*>        m_simpleKinematics ;
00087     std::vector<const Track*>                  m_tracks ;
00088 
00089   };
00090 }//namespace
00091 #endif 
00092   
00093  
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 

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