16 namespace ActsFatras {
41 template <
typename generator_t>
46 slab, particle.
pdg(), particle.
mass(),
48 double sigma2 = sigma * sigma;
51 std::normal_distribution<double> gaussDist(0., 1.);
53 std::uniform_real_distribution<double> uniformDist(0., 1.);
60 double beta2inv = 1 + mOverP * mOverP;
62 double log_dprime = std::log(dprime);
64 double log_dprimeprime =
65 std::log(std::pow(slab.
material().
Z(), 2.0 / 3.0) * dprime);
85 if (uniformDist(generator) <
epsilon) {
89 return M_SQRT2 * std::sqrt(sigma2) * gaussDist(generator);