34 #define INCLXX_IN_GEANT4_MODE 1
43 namespace KinematicsUtils {
62 INCL_WARN(
"Tried to evaluate local energy for a particle outside the maximum radius."
63 <<
'\n' << p->
print() <<
'\n'
72 if(kinE <= n->getPotential()->getFermiEnergy(t)) {
76 if(tf0<0.0)
return 0.0;
77 pfl0 = std::sqrt(tf0*(tf0 + 2.0*mass));
84 vloc = std::sqrt(pl*pl + mass*mass) -
mass;
101 INCL_ERROR(
"squareTotalEnergyInCM: beta2 == " << beta2 <<
" > 1.0" <<
'\n');
111 G4double pcm2 = (z*z-m1sq*m2sq)/(2*z+m1sq+m2sq);
113 INCL_ERROR(
"momentumInCM: pcm2 == " << pcm2 <<
" < 0.0" <<
'\n');
116 return std::sqrt(pcm2);
120 return 0.5*std::sqrt((E*E - std::pow(M1 + M2, 2))
121 *(E*E - std::pow(M1 - M2, 2)))/
E;
127 G4double plab2 = (s*s-2*s*(m1sq+m2sq)+(m1sq-m2sq)*(m1sq-m2sq))/(4*m2sq);
129 INCL_ERROR(
"momentumInLab: plab2 == " << plab2 <<
" < 0.0; m1sq == " << m1sq <<
"; m2sq == " << m2sq <<
"; s == " << s <<
'\n');
132 return std::sqrt(plab2);
145 E += (*i)->getEnergy();
153 p += (*i)->getMomentum();
159 return std::sqrt(p.
mag2() + m*
m);
167 return E*E - p.
mag2();
176 return (1.+EKin/mass);