34 #include "MyMollerBhabhaModel.hh"
69 if (kineticEnergy < th) {
73 G4double tau = tkin/electron_mass_c2;
80 eexc /= electron_mass_c2;
89 dedx = log(2.0*(tau + 2.0)/eexc2) - 1.0 - beta2
90 + log((tau-d)*d) + tau/(tau-d)
91 + (0.5*d*d + (2.0*tau + 1.)*log(1. - d/tau))/gamma2;
100 dedx = log(2.0*(tau + 2.0)/eexc2) + log(tau*d)
101 - beta2*(tau + 2.0*d - y*(3.0*d2
102 + y*(d - d3 + y*(d2 - tau*d3 +
d4))))/tau;
119 dedx *= twopi_mc2_rcl2*electronDensity/beta2;
120 if (dedx < 0.0) dedx = 0.0;
126 if (kineticEnergy >=
lowLimit) dedx *= sqrt(tkin/kineticEnergy);
127 else dedx *= sqrt(tkin*kineticEnergy)/
lowLimit;
G4IonisParamMat * GetIonisation() const
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
void SetParticle(const G4ParticleDefinition *p)
MyMollerBhabhaModel(const G4ParticleDefinition *p=0, const G4String &nam="myMollerBhabha")
G4double GetElectronDensity() const
const G4ParticleDefinition * particle
G4double GetTotNbOfAtomsPerVolume() const
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4double GetMeanExcitationEnergy() const