1 #ifndef ElectronLimiter_h
2 #define ElectronLimiter_h 1
10 #include "G4VEmProcess.hh"
11 #include "G4ParticleChangeForGamma.hh"
19 class G4ParticleDefinition;
20 class G4VEnergyLossProcess;
29 G4bool
IsApplicable(
const G4ParticleDefinition &)
override;
36 G4double previousStepSize,
37 G4ForceCondition *condition)
override;
39 G4VParticleChange *
PostStepDoIt(
const G4Track &,
const G4Step &)
override;
42 std::vector<G4double> &,
43 std::vector<G4double> &,
44 std::vector<G4double> &);
58 std::vector<G4double>
rms_;
void SetRangeCheckFlag(G4bool)
ElectronLimiter(const edm::ParameterSet &, const G4ParticleDefinition *)
const G4ParticleDefinition * particle_
void StartTracking(G4Track *) override
CMSTrackingCutModel * trcut_
std::vector< G4double > rms_
G4double PostStepGetPhysicalInteractionLength(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) override
void InitialiseProcess(const G4ParticleDefinition *) override
~ElectronLimiter() override
void SetFieldCheckFlag(G4bool)
G4VEnergyLossProcess * ionisation_
G4bool IsApplicable(const G4ParticleDefinition &) override
std::vector< const G4Region * > regions_
std::vector< G4double > energyLimits_
G4VParticleChange * PostStepDoIt(const G4Track &, const G4Step &) override
void SetTrackingCutPerRegion(std::vector< const G4Region * > &, std::vector< G4double > &, std::vector< G4double > &, std::vector< G4double > &)
std::vector< G4double > factors_