65 lowEnergyLimit(1.*
MeV),
66 highEnergyLimit(100.*
GeV),
67 twoln10(2.*std::log(10.)),
167 G4double tau = kineticEnergy/particleMass ;
171 if ( tau < taul ) tau = taul ;
175 G4double gamma,bg2,beta2,tmax,
x,delta,sh ;
188 bg2 = tau*(tau+2.0) ;
189 beta2 = bg2/(gamma*gamma) ;
201 if ( x < x1den ) delta += aden*std::pow((x1den-x),mden) ;
209 for (
G4int k=0; k<=2; k++) {
211 sh += shellCorrectionVector[k]/
x;
215 for (
G4int k=0; k<=2; k++) {
217 sh += shellCorrectionVector[k]/
x;
219 sh *= std::log(tau/taul)/std::log(
taulim/taul) ;
224 ionloss -= delta + sh ;
227 if ( ionloss < 0.0) ionloss = 0.0 ;
static constexpr double MeV
G4hBetheBlochModel(const G4String &name)
static constexpr double twopi_mc2_rcl2
G4double HighEnergyLimit(const G4ParticleDefinition *aParticle, const G4Material *material) const
G4double GetX1density() const
G4double * GetShellCorrectionVector() const
G4double GetPDGMass() const
static constexpr double electron_mass_c2
G4bool IsInCharge(const G4DynamicParticle *particle, const G4Material *material) const
G4double GetAdensity() const
G4double LowEnergyLimit(const G4ParticleDefinition *aParticle, const G4Material *material) const
G4double TheValue(const G4DynamicParticle *particle, const G4Material *material)
G4double GetMeanExcitationEnergy() const
G4double GetX0density() const
G4double GetCdensity() const
G4IonisParamMat * GetIonisation() const
G4double GetMdensity() const
G4double GetKineticEnergy() const
G4double BetheBlochFormula(const G4Material *material, G4double kineticEnergy, G4double particleMass) const
static constexpr double GeV
G4double GetElectronDensity() const