90 if (averageLoss <
minLoss) {
return averageLoss; }
114 siga = std::sqrt((tmax/beta2 - 0.5*tcut)*CLHEP::twopi_mc2_rcl2*
123 loss = G4RandGauss::shoot(rndmEngineF,
meanLoss, siga);
125 }
while (0.0 > loss || twomeanLoss < loss);
131 loss =
meanLoss*G4RandGamma::shoot(rndmEngineF, neff, 1.0)/neff;
138 e0 = ioni->GetEnergy0fluct();
143 ipotFluct = ioni->GetMeanExcitationEnergy();
147 const G4double scaling = std::min(1.+0.5*CLHEP::keV/tcut, 1.50);
151 G4Log(2.*CLHEP::electron_mass_c2*beta2*gam2) - beta2 : 0.0;
152 return SampleGlandz(rndmEngineF, material, tcut)*scaling;
G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, const G4double, const G4double, const G4double, const G4double) override
G4DynamicParticleFluctuation(const G4String &nam="dynPartFluc")
G4double Dispersion(const G4Material *, const G4DynamicParticle *, const G4double, const G4double, const G4double) override
G4double GetCharge() const
G4double GetKineticEnergy() const