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
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