15 const double beta,
const double z) {
17 const double beta2 = beta * beta;
20 4 * M_PI *
pow(classic_electr_radius, 2) * electron_mass_c2 * Avogadro;
21 const double coef2 = z * z * ratio_Z_to_A / beta2;
23 log(2. * electron_mass_c2 * beta2 * gamma2 / I_eff) - beta2;
24 return coef1 * coef2 * sum;
28 const double I_eff,
const double gamma_1,
31 const double beta =
lorbeta(gamma_1);
32 const double beta2 = beta * beta;
33 const double gamma = gamma_1 + 1.0;
34 const double gamma2 = gamma * gamma;
36 4 * M_PI *
pow(classic_electr_radius, 2) * electron_mass_c2 *
38 const double coef2 = z * z * ratio_Z_to_A / beta2;
40 log(2. * electron_mass_c2 * beta2 * gamma2 / I_eff) - beta2;
41 return coef1 * coef2 * sum;
45 const double ratio_Z_to_A,
const double I_eff,
const double m,
46 const double gamma_1,
const double ecut,
const double z) {
48 const double beta =
lorbeta(gamma_1);
49 const double beta2 = beta * beta;
50 const double gamma = gamma_1 + 1.0;
51 const double gamma2 = gamma * gamma;
53 2 * M_PI *
pow(classic_electr_radius, 2) * electron_mass_c2 *
55 const double coef2 = z * z * ratio_Z_to_A / beta2;
56 const double mrat = electron_mass_c2 / (m * c_squared);
57 const double emax = 2.0 * electron_mass_c2 * beta2 * gamma2 /
58 (1.0 + 2.0 * gamma * mrat + mrat * mrat);
61 sum = log(2.0 * electron_mass_c2 * beta2 * gamma2 * emax /
pow(I_eff, 2)) -
64 sum = log(2.0 * electron_mass_c2 * beta2 * gamma2 * ecut /
pow(I_eff, 2)) -
65 beta2 * (1.0 + ecut / emax);
67 return coef1 * coef2 * sum;
DoubleAc pow(const DoubleAc &f, double p)
double Bethe_Bloch_energy_loss_gamma_1(const double ratio_Z_to_A, const double I_eff, const double gamma_1, const double z)
double lorbeta(const double gamma_1)
double Bethe_Bloch_energy_loss(const double ratio_Z_to_A, const double I_eff, const double beta, const double z)
double lorgamma_1(double beta)
double Bethe_Bloch_restricted_energy_loss_gamma_1(const double ratio_Z_to_A, const double I_eff, const double m, const double gamma_1, const double ecut, const double z)