118 if(meanLoss <= minLoss)
return meanLoss;
139 if ( meanLoss > minFraction*kineticEnergy ) {
140 G4double gam = (kineticEnergy - meanLoss)/particleMass + 1.0;
142 if(b2 < xmin*beta2) b2 = xmin*beta2;
145 siga *= 0.25*(1.0 + x)*(x3 + (1.0/b2 - 0.5)/(1.0/beta2 - 0.5) );
149 G4double twomeanLoss = meanLoss + meanLoss;
159 }
while (0.0 > loss || twomeanLoss < loss);
162 }
else if(sn > 0.1) {
169 loss = twomeanLoss*rndmEngine->
flat();
ThreeVector shoot(const G4int Ap, const G4int Af)
G4double GetKineticEnergy() const
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double) override
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double tmax, G4double length) override
const G4Material * GetMaterial() const