26 , mTraversed(traversed)
27 , mRadLength(radLength)
34 :
Device(other), mParticle(nullptr), mKMin(other.mKMin), mKMax(other.mKMax),
35 mEpsilon(other.mEpsilon), mTraversed(other.mTraversed),
36 mRadLength(other.mRadLength), mPdf(NULL) {
56 if (upper < lower || std::isnan(upper) || std::isnan(lower)) {
70 int n =
static_cast<int>(ret);
71 if (fabs(ret - n) < fabs(ret - n - 1)) {
79 mParticle.reset(static_cast<erhic::ParticleMC*>(prt.Clone()));
81 mPdf =
new TF1(
"Smear_Bremsstrahlung_PDF",
91 if (prt.
GetP() < 0. || std::isnan(prt.
GetP())) prt.
SetP(0.);
103 const int nGamma =
NGamma();
104 for (
int i = 0; i < nGamma; i++) {
106 double loss =
mPdf->GetRandom();