#include <G4BohrFluctuations.hh>
Definition at line 58 of file G4BohrFluctuations.hh.
G4BohrFluctuations::G4BohrFluctuations |
( |
const G4String & |
nam = "BohrFluc" | ) |
|
|
explicit |
Definition at line 64 of file G4BohrFluctuations.cc.
67 minNumberInteractionsBohr(2.0),
static constexpr double proton_mass_c2
static constexpr double eV
G4VEmFluctuationModel(const G4String &nam)
G4BohrFluctuations::~G4BohrFluctuations |
( |
| ) |
|
|
virtual |
Implements G4VEmFluctuationModel.
Definition at line 150 of file G4BohrFluctuations.cc.
159 G4double etot = kineticEnergy + particleMass;
160 beta2 = kineticEnergy*(kineticEnergy + 2.0*particleMass)/(etot*etot);
162 * electronDensity * chargeSquare;
G4double GetKineticEnergy() const
static constexpr double twopi_mc2_rcl2
G4ParticleDefinition * GetDefinition() const
virtual void InitialiseMe(const G4ParticleDefinition *) override
G4double GetElectronDensity() const
Implements G4VEmFluctuationModel.
Definition at line 96 of file G4BohrFluctuations.cc.
102 if(meanLoss <= minLoss) {
return meanLoss; }
107 G4double navr = meanLoss*meanLoss/siga;
109 if (navr >= minNumberInteractionsBohr) {
112 if ( meanLoss > minFraction*kineticEnergy ) {
113 G4double gam = (kineticEnergy - meanLoss)/particleMass + 1.0;
115 if(b2 < xmin*beta2) b2 = xmin*beta2;
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;
ThreeVector shoot(const G4int Ap, const G4int Af)
G4long G4Poisson(G4double mean)
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double, G4double) override
const G4Material * GetMaterial() const
The documentation for this class was generated from the following files: