Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

TrackSelector.h

Go to the documentation of this file.
00001 #ifndef TRACKMCTOOLS_TRACKSELECTOR_H 
00002 #define TRACKMCTOOLS_TRACKSELECTOR_H 1
00003 
00004 // from Gaudi
00005 #include "GaudiAlg/GaudiTool.h"
00006 
00007 // Event
00008 #include "Event/MCParticle.h"
00009 #include "Event/Track.h"
00010 
00011 // from TrackInterfaces
00012 #include "TrackInterfaces/ITrackSelector.h"
00013 #include "TrackInterfaces/ITrackReconstructible.h"
00014 
00015 // local
00016 //#include "TrackMCTools/TrackAcceptance.h"
00017 
00040 class TrackSelector : public GaudiTool, virtual public ITrackSelector
00041 {
00042 public:
00044   TrackSelector( const std::string& type, 
00045                  const std::string& name,
00046                  const IInterface* parent );
00047 
00049   virtual ~TrackSelector( ); 
00050 
00052   virtual StatusCode initialize();
00053 
00058   virtual bool select( Track* track ) const;
00059 
00064   virtual bool select( MCParticle* mcParticle );
00065 
00070   virtual bool selectByTrackType( Track* track ) const;
00071 
00076   virtual bool selectByTrackType( MCParticle* mcParticle );
00077 
00082   virtual unsigned int trackType( MCParticle* mcPart );
00083 
00089   virtual StatusCode setTrackType( MCParticle* mcPart,
00090                                    Track*& track );
00091 
00092 protected:
00093 
00094 private:
00095 
00096   // Reconstructibility tool
00097   ITrackReconstructible* m_mcParticleJudge; 
00098 
00099   // Store previously calculated values
00100   unsigned int m_previousTrackType;   
00101   MCParticle*  m_previousMCParticle; 
00102 
00103   // Job options
00104   bool m_uniqueFlag;                
00105   bool m_validFlag;                 
00106   double m_minP;                    
00107   double m_maxP;                    
00108   std::vector<int> m_tracktypes;    
00109 
00110   std::string m_mcParticleJudgeName;
00111 
00112 };
00113 #endif // TRACKMCTOOLS_TRACKSELECTOR_H 

Generated on Fri May 27 13:59:37 2005 for New Track Event Model by doxygen 1.4.1