76 G4double energy = kineticEnergy/keV ;
79 G4double rm = (m1 + m2Local) * std::sqrt( std::pow(z1, 0.667) + std::pow(z2, 0.667) ) ;
81 G4double er = 32.53 * m2Local * energy / ( z1 * z2 * rm ) ;
84 ionloss = std::sqrt(er) * 1.593 ;
86 }
else if ( er < 10.0 ) {
87 ionloss = 1.7 * std::sqrt(er) * std::log(er + std::exp(1.0)) /
88 (1.0 + 6.8 * er + 3.4 * std::pow(er, 1.5)) ;
91 ionloss = std::log(0.47 * er) * 0.5 / er ;
96 G4double sig = 4.0 * m1 * m2Local * std::sqrt( (std::pow(z1, 0.23) + std::pow(z2, 0.23)) /
97 (std::pow(z1, 0.667) + std::pow(z2, 0.667)) )
98 / ((m1 +m2Local)*(m1 + m2Local)*
99 (4.0 + 0.197*std::pow(er,-1.6991)+6.584*std::pow(er,-1.0494))) ;
101 ionloss *= G4RandGauss::shoot(1.0,sig) ;
104 ionloss *= 8.462 * z1 * z2 * m1 / rm ;
106 if ( ionloss < 0.0) ionloss = 0.0 ;
G4double NuclearStoppingPower(G4double kineticEnergy, G4double z1, G4double z2, G4double m1, G4double m2) const