#include <G4RayleighAngularGenerator.hh>
G4RayleighAngularGenerator::G4RayleighAngularGenerator |
( |
| ) |
|
G4RayleighAngularGenerator::~G4RayleighAngularGenerator |
( |
| ) |
|
|
virtual |
Implements G4VEmAngularDistribution.
Definition at line 81 of file G4RayleighAngularGenerator.cc.
101 if(x < numlim) { w0 = n0*x*(1 - 0.5*(n0 - 1)*x*(1 - (n0 - 2)*x/3.)); }
106 if(x < numlim) { w1 = n1*x*(1 - 0.5*(n1 - 1)*x*(1 - (n1 - 2)*x/3.)); }
111 if(x < numlim) { w2 = n2*x*(1 - 0.5*(n2 - 1)*x*(1 - (n2 - 2)*x/3.)); }
142 if(y < numlim) { x = y*n*( 1 + 0.5*(n + 1)*y*(1 - (n + 2)*y/3.)); }
145 cost = 1.0 - x/(b*xx);
148 }
while (2*
G4UniformRand() > 1.0 + cost*cost || cost < -1.0);
151 G4double sint = sqrt((1. - cost)*(1.0 + cost));
void set(double x, double y, double z)
G4double GetKineticEnergy() const
static constexpr double twopi
const G4ThreeVector & GetMomentumDirection() const
Hep3Vector & rotateUz(const Hep3Vector &)
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4ThreeVector fLocalDirection
The documentation for this class was generated from the following files: