102 theParticle = &aParticleType;
108 if(theParticle == thePiPlus || theParticle == thePiMinus ||
109 theParticle == theKPlus || theParticle == theKMinus ||
110 theParticle == theK0S || theParticle == theK0L) {
112 G4double F[
n] = {0.33,0.27,0.29,0.31,0.27,0.18,0.13,0.1,0.09,0.07};
114 for(
size_t i=0; i<
n; i++) {factors->
PutValue(i,F[i]);}
118 G4double F[
n] = {0.50,0.45,0.40,0.35,0.30,0.25,0.06,0.04,0.005,0.0};
120 for(
size_t i=0; i<
n; i++) {factors->
PutValue(i,F[i]);}
125 G4cout <<
"G4ChargeExchangeProcess for "
146 G4cout <<
"G4ChargeExchangeProcess compute GHAD CS for element "
160 x *= factors->
GetValue(ptot, b)/std::pow(A, 0.42);
161 if(theParticle == thePiPlus || theParticle == theProton ||
162 theParticle == theKPlus || theParticle == theANeutron)
163 { x *= (1.0 - Z/A); }
165 else if(theParticle == thePiMinus || theParticle == theNeutron ||
166 theParticle == theKMinus || theParticle == theAProton)
170 if(ptot > 2.*
GeV) x *= 4.0*
GeV*
GeV/(ptot*ptot);
183 return (p == thePiPlus || p == thePiMinus ||
184 p == theProton || p == theNeutron ||
185 p == theAProton|| p == theANeutron||
186 p == theKPlus || p == theKMinus ||
187 p == theK0S || p == theK0L ||