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

TrackAcceptance.h

Go to the documentation of this file.
00001 #ifndef TRACKTOOLS_TRACKACCEPTANCE_H
00002 #define TRACKTOOLS_TRACKACCEPTANCE_H 1
00003 
00004 // Include files
00005 // -------------
00006 // from Gaudi
00007 #include "GaudiAlg/GaudiTool.h"
00008 
00009 // LHCbKernel
00010 #include "Relations/IAssociator.h" 
00011 
00012 // Event
00013 #include "Event/MCParticle.h"
00014 #include "Event/MCHit.h"
00015 #include "Event/MCVeloHit.h"
00016 
00017 // Associators
00018 #include "TrackTools/ITrackReconstructible.h"
00019 
00020 // Det
00021 #include "VeloDet/DeVelo.h"
00022 #include "STDet/STDetectionStation.h"
00023 #include "OTDet/DeOTStation.h"
00024 
00043 class TrackAcceptance: public GaudiTool,
00044                        virtual public ITrackReconstructible {
00045 public:
00047   typedef IAssociator<MCParticle, MCHit>     MCHitAsct;
00048   typedef IAssociator<MCParticle, MCVeloHit> MCVeloHitAsct;
00049 
00051   TrackAcceptance( const std::string& type,
00052                    const std::string& name,
00053                    const IInterface* parent );
00054 
00056   virtual ~TrackAcceptance();
00057 
00059   virtual StatusCode initialize();
00060 
00065   virtual bool hasVelo        ( MCParticle* mcPart );
00066 
00071   virtual bool hasTT          ( MCParticle* mcPart );
00072 
00077   virtual bool hasSeed        ( MCParticle* mcPart );
00078 
00083   virtual bool hasVeloAndSeed ( MCParticle* mcPart );
00084 
00085 private:
00086 
00088   DeVelo* m_velo;
00089 
00090   // ST Detector information
00091   STDetectionStation* m_TT1Station; 
00092   STDetectionStation* m_TT2Station; 
00093   STDetectionStation* m_IT1Station; 
00094   STDetectionStation* m_IT2Station; 
00095   STDetectionStation* m_IT3Station; 
00096 
00097   // OT Detector information
00098   DeOTStation* m_OT1Station;        
00099   DeOTStation* m_OT2Station;        
00100   DeOTStation* m_OT3Station;        
00101 
00102   // associators
00103   MCVeloHitAsct* m_p2VeloHitAsct;   
00104   MCHitAsct* m_p2ITHitAsct;         
00105   MCHitAsct* m_p2OTHitAsct;         
00106 
00107   // job options
00108   std::string m_p2VeloHitAsctName; 
00109   std::string m_p2ITHitAsctName;   
00110   std::string m_p2OTHitAsctName;   
00111   int m_minNVeloRHits;             
00112   int m_minNVeloPhiHits;           
00113   int m_minNTTHits;                
00114   int m_minNT1Hits;                
00115   int m_minNT2Hits;                
00116   int m_minNT3Hits;                
00117 };
00118 
00119 #endif // TRACKTOOLS_TRACKACCEPTANCE_H

Generated on Wed May 4 11:52:34 2005 for New Track Event Model by doxygen 1.4.1