63#define TWOPI 6.283185307
64#define SQRT2 1.414213562
65#define BSHIFT -0.43287
92 std::string errMsg =
"fission nubar out of range, nubar=" + o.str();
93 G4fissionerr(6,
"SmpTerrell", errMsg);
100 expo =
G4Exp(-temp2);
101 cshift = temp1 +
BSHIFT *
WIDTH * expo/(1. - expo);
104 G4int icounter_max = 1024;
106 rw = std::sqrt(-
G4Log(fisslibrng()));
107 theta =
TWOPI * fisslibrng();
108 sampleg = width * rw * std::cos(theta) + cshift;
110 if ( icounter > icounter_max ) {
111 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
114 }
while (sampleg < 0.0);
117 return std::floor(sampleg);
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
G4GLOB_DLL std::ostream G4cout