60 LowestKineticEnergy(1*
GeV), HighestKineticEnergy(1*
PeV),
78 outFile <<
"G4KokoulinMuonNuclearXS provides the total inelastic\n"
79 <<
"cross section for mu- and mu+ interactions with nuclei.\n"
80 <<
"R. Kokoulin's approximation of the Borog and Petrukhin double\n"
81 <<
"differential cross section at high energy and low Q**2 is integrated\n"
82 <<
"over the muon energy loss to get the total cross section as a\n"
83 <<
"function of muon kinetic energy\n" ;
116 for (
G4int j = 0; j < nEl; j++) {
117 Z =
G4lrint((*theElementTable)[j]->GetZ());
120 const G4bool isHeavyElementAllowed =
true;
if ( isHeavyElementAllowed && Z>92 ) Z=92;
143 {0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801};
145 {0.0506,0.1112,0.1569,0.1813,0.1813,0.1569,0.1112,0.0506};
152 if (KineticEnergy <=
CutFixed)
return CrossSection;
156 if (epmax <= epmin)
return CrossSection;
166 for (
G4int l = 0; l < kkk; ++l) {
168 for (
G4int ll = 0; ll < 8; ++ll) {
176 CrossSection *=
hhh ;
177 if (CrossSection < 0.) { CrossSection = 0.; }
194 G4double TotalEnergy = KineticEnergy + ParticleMass;
199 (epsilon <=
CutFixed) ) {
return DCrossSection; }
208 G4double mass2 = ParticleMass*ParticleMass;
210 G4double up = TotalEnergy*TotalEnergy*v1/mass2*(1.+mass2*v2/(alam2*
v1));
213 DCrossSection = coeffn*aeff*sigph/epsilon*
214 (-v1+(v1+0.5*v2*(1.+2.*mass2/alam2))*
G4Log(up/down));
216 if (DCrossSection < 0.) { DCrossSection = 0.; }
217 return DCrossSection;
225 const G4bool isHeavyElementAllowed =
true;
if ( isHeavyElementAllowed && Z>92 ) Z=92;