48 fCofXsc *= hbarc*hbarc*electron_mass_c2;
77 if( ( pName ==
"nu_e" || pName ==
"anti_nu_e" ||
78 pName ==
"nu_mu" || pName ==
"anti_nu_mu" ||
79 pName ==
"nu_tau" || pName ==
"anti_nu_tau" ) &&
93 G4double result = 0., cofL, cofR, cofL2, cofR2, cofLR;
103 else if( pName ==
"anti_nu_e")
108 else if( pName ==
"nu_mu")
113 else if( pName ==
"anti_nu_mu")
118 else if( pName ==
"nu_tau")
123 else if( pName ==
"anti_nu_tau")
140 G4double tM = 2.*energy*energy/(electron_mass_c2 + 2.*energy);
147 result = (cofL2+cofR2)*(tM-tC);
148 result -= (cofR2+cofLR*0.5*electron_mass_c2/energy)*(tM2-tC2)/energy;
149 result += cofR2*(tM3-tC3)/energy/energy/3.;
153 G4double rtM = 2.*energy/(electron_mass_c2 + 2.*energy);
157 result = (cofL2+cofR2)*rtM*energy;
158 result -= (cofR2*energy+cofLR*0.5*electron_mass_c2)*rtM2;
159 result += cofR2*rtM3*energy/3.;
173 G4double totS = 2.*energy*emass + emass*emass;
175 if( energy > 50.*GeV )
178 result /= 1.+ aa*totS/mz/mz;
180 if( pName ==
"anti_nu_e")
182 result *= 1. + dd*gw*gw*totS/( (totS-mw*mw)*(totS-mw*mw)+gw*gw*mw*mw );
G4ParticleDefinition * GetDefinition() const
G4double GetTotalEnergy() const
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *)
virtual G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *)
~G4NeutrinoElectronNcXsc()
G4NeutrinoElectronNcXsc()
const G4String & GetParticleName() const