File indexing completed on 2024-04-06 12:30:13
0001 #ifndef LowEnergyFastSimModel_h
0002 #define LowEnergyFastSimModel_h
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "LowEnergyFastSimParam.h"
0007
0008 #include "G4VFastSimulationModel.hh"
0009 #include "GFlashHitMaker.hh"
0010 #include "G4Region.hh"
0011 #include "G4Types.hh"
0012 #include "G4ThreeVector.hh"
0013
0014 class TrackingAction;
0015 class G4ParticleDefinition;
0016 class G4Material;
0017
0018 class LowEnergyFastSimModel : public G4VFastSimulationModel {
0019 public:
0020 LowEnergyFastSimModel(const G4String& name, G4Region* region, const edm::ParameterSet& parSet);
0021
0022 G4bool IsApplicable(const G4ParticleDefinition& particle) override;
0023 G4bool ModelTrigger(const G4FastTrack& fastTrack) override;
0024 void DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep) override;
0025
0026 private:
0027 G4double fEmax;
0028 const G4Envelope* fRegion;
0029 const TrackingAction* fTrackingAction;
0030 const G4ParticleDefinition* fPositron;
0031 const G4Material* fMaterial;
0032 G4bool fCheck;
0033 G4ThreeVector fTailPos;
0034 GFlashHitMaker fHitMaker;
0035 LowEnergyFastSimParam fParam;
0036 };
0037
0038 #endif