70{
71
72
73
74
81
82 if (gamma > 5.) {
85
86
87 }
88
89 G4double beta = std::sqrt((gamma - 1)*(gamma + 1))/gamma;
90 G4double b = 0.5*gamma*(gamma - 1)*(gamma - 2);
91
93 if (gamma < 2.) grejsup = gamma*gamma*(1.+b-beta*b);
94 else grejsup = gamma*gamma*(1.+b+beta*b);
95
97 costeta = (rndm+beta)/(rndm*beta+1.);
98 term = 1.-beta*costeta;
99 greject = (1.-costeta*costeta)*(1.+b*term)/(term*term);
101
102 sinteta = std::sqrt((1 - costeta)*(1 + costeta));
106}
void set(double x, double y, double z)
Hep3Vector & rotateUz(const Hep3Vector &)
const G4ThreeVector & GetMomentumDirection() const
G4double GetKineticEnergy() const
G4ThreeVector fLocalDirection