67 minNumberInteractionsBohr(2.0),
102 if(meanLoss <=
minLoss) {
return meanLoss; }
107 G4double navr = meanLoss*meanLoss/siga;
118 siga *= 0.25*(1.0 +
x)*(x3 + (1.0/b2 - 0.5)/(1.0/beta2 - 0.5) );
121 G4double twomeanLoss = meanLoss + meanLoss;
124 if(twomeanLoss < siga) {
128 x = (loss - meanLoss)/siga;
135 }
while (0.0 > loss || loss > twomeanLoss);
141 loss = meanLoss*n/navr;
static constexpr double twopi_mc2_rcl2
G4double GetPDGCharge() const
const G4ParticleDefinition * particle
virtual ~G4BohrFluctuations()
G4double GetPDGMass() const
static constexpr double proton_mass_c2
G4ParticleDefinition * GetDefinition() const
static constexpr double eV
G4BohrFluctuations(const G4String &nam="BohrFluc")
virtual void InitialiseMe(const G4ParticleDefinition *) override
ThreeVector shoot(const G4int Ap, const G4int Af)
static constexpr double eplus
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double, G4double) override
G4double GetKineticEnergy() const
G4long G4Poisson(G4double mean)
const G4Material * GetMaterial() const
G4double GetElectronDensity() const
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double) override
G4double minNumberInteractionsBohr