Back to home page

Project CMSSW displayed by LXR

 
 

    


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