20 #ifndef CMSmplIonisationWithDeltaModel_h 21 #define CMSmplIonisationWithDeltaModel_h 1 23 #include "G4VEmModel.hh" 24 #include "G4VEmFluctuationModel.hh" 27 class G4ParticleChangeForLoss;
35 void Initialise(
const G4ParticleDefinition*,
const G4DataVector&)
override;
38 const G4ParticleDefinition*,
39 G4double kineticEnergy,
40 G4double cutEnergy)
override;
43 G4double kineticEnergy,
48 G4double kineticEnergy,
52 G4double maxEnergy)
override;
55 const G4MaterialCutsCouple*,
56 const G4DynamicParticle*,
58 G4double maxEnergy)
override;
61 const G4DynamicParticle*,
64 G4double meanLoss)
override;
66 G4double
Dispersion(
const G4Material*,
const G4DynamicParticle*, G4double tmax, G4double length)
override;
68 G4double
MinEnergyCut(
const G4ParticleDefinition*,
const G4MaterialCutsCouple* couple)
override;
94 static std::vector<G4double>*
dedx0;
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
const G4ParticleDefinition * monopole
G4double ComputeDEDXAhlen(const G4Material *material, G4double bg2, G4double cut)
CMSmplIonisationWithDeltaModel(G4double mCharge, const G4String &nam="mplIonisationWithDelta")
static std::vector< G4double > * dedx0
G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
void SetParticle(const G4ParticleDefinition *p)
G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmax, G4double length, G4double meanLoss) override
G4ParticleDefinition * theElectron
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
~CMSmplIonisationWithDeltaModel() override
G4ParticleChangeForLoss * fParticleChange
static const double tmax[3]
G4double pi_hbarc2_over_mc2
G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy) override
G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double tmax, G4double length) override
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
G4double MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *couple) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override