89 ratio = final_energy/
energy;
90 ratio1 = (1 + ratio)*(1 + ratio);
91 ratio2 = 1 + ratio*ratio;
94 G4double beta = std::sqrt((gamma - 1)*(gamma + 1))/gamma;
100 fz = 0.00008116224*g4pow->
Z13(
Z)*g4pow->
Z13(
Z+1);
103 G4double ymax = 2*beta*(1 + beta)*gamma*gamma;
111 y = q*ymax/(1 + ymax*(1 - q));
115 if(gfun > gMax && nwarn >= 20) {
117 G4cout <<
"### WARNING in G4Generator2BS: Etot(MeV)= " << energy/
MeV
118 <<
" Egamma(MeV)" << (energy - final_energy)/
MeV
119 <<
" gMax= " << gMax <<
" < " << gfun
120 <<
" results are not reliable!"
123 G4cout <<
" WARNING in G4Generator2BS is closed" <<
G4endl;
131 G4double sint = std::sqrt((1 - cost)*(1 + cost));
void set(double x, double y, double z)
G4double RejectionFunction(G4double value) const
G4double GetTotalEnergy() const
static constexpr double twopi
G4GLOB_DLL std::ostream G4cout
G4double Z13(G4int Z) const
const G4ThreeVector & GetMomentumDirection() const
Hep3Vector & rotateUz(const Hep3Vector &)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4double energy(const ThreeVector &p, const G4double m)
static constexpr double MeV
G4ThreeVector fLocalDirection