62 #define TWOPI 6.283185307
63 #define SQRT2 1.414213562
64 #define BSHIFT -0.43287
88 if (nubar <
WIDTH) G4fissionerr(6,
"SmpTerrell",
"fission nubar out of range");
94 expo = std::exp(-temp2);
95 cshift = temp1 +
BSHIFT * WIDTH * expo/(1. - expo);
98 rw = std::sqrt(-std::log(fisslibrng()));
99 theta =
TWOPI * fisslibrng();
100 sampleg = width * rw * std::cos(theta) + cshift;
101 }
while (sampleg < 0.0);
103 return std::floor(sampleg);