Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /pfRICH/g4irt/include/CherenkovSteppingAction.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 
0002 #ifndef _CHERENKOV_STEPPING_ACTION_
0003 #define _CHERENKOV_STEPPING_ACTION_
0004 
0005 #include "G4UserSteppingAction.hh"
0006 
0007 #include <IRT2/CherenkovEvent.h>
0008 #include <IRT2/CherenkovDetectorCollection.h>
0009 class G4Track;
0010 #include <IRT2/TransientParticle.h>
0011 #include <IRT2/CherenkovRadiator.h>
0012 #include <IRT2/CherenkovPhotonDetector.h>
0013 
0014 #include <TransientTrackInformation.h>
0015 
0016 class CherenkovSteppingAction : public G4UserSteppingAction
0017 {
0018  public:
0019   CherenkovSteppingAction(IRT2::CherenkovDetectorCollection *geometry, IRT2::CherenkovEvent *event);
0020   virtual ~CherenkovSteppingAction() {};
0021   
0022   // Method from the base class;
0023   virtual void UserSteppingAction(const G4Step*);
0024 
0025   TransientTrackInformation *AttachUserInfo(G4Track* track, IRT2::TransientParticle *myself, 
0026                         IRT2::TransientParticle *parent);
0027 
0028   void DisableSecondaries( void ) { m_SeconadriesDisabled = true; };
0029 
0030  private:
0031   IRT2::CherenkovEvent *m_EventPtr;
0032   IRT2::CherenkovDetectorCollection *m_Geometry;
0033 
0034   bool m_SeconadriesDisabled;
0035 
0036   double GetQE(const IRT2::CherenkovPhotonDetector *pd, double eph);
0037   double GetAttenuationLength(const IRT2::CherenkovRadiator *radiator, double eph); 
0038   double GetRefractiveIndex(const IRT2::CherenkovRadiator *radiator, double eph); 
0039 };
0040 
0041 #endif