81 G4double a1 = 0.5*beta*gamma*tau*(gamma-2.0);
95 tsam = 2.0*ac * (2.0*rand + a2*std::sqrt(rand)) / (a2*a2 - 4.0*rand);
96 gtr = (2.0 - tsam) * (a1 + 1.0/(ac+tsam));
100 costheta = 1.0 - tsam;
102 G4double sint = std::sqrt(tsam*(2.0 - tsam));
114 G4cout <<
"Non-polarized photoelectric effect angular generator." <<
G4endl;
115 G4cout <<
"The Sauter-Gavrila distribution for the K-shell is used."<<
G4endl;
116 G4cout <<
"Originally developed by M.Maire for Geant3"
void set(double x, double y, double z)
T max(const T t1, const T t2)
brief Return the largest of the two arguments
virtual G4ThreeVector & SampleDirection(const G4DynamicParticle *dp, G4double e=0.0, G4int shellId=0, const G4Material *mat=0) final
const G4ThreeVector & GetMomentumDirection() const
Hep3Vector & rotateUz(const Hep3Vector &)
static const G4double emax
virtual void PrintGeneratorInformation() const final
G4SauterGavrilaAngularDistribution()
virtual ~G4SauterGavrilaAngularDistribution()
static constexpr double electron_mass_c2
static constexpr double MeV
static constexpr double eV
static constexpr double twopi
G4ThreeVector fLocalDirection
G4double GetKineticEnergy() const
G4GLOB_DLL std::ostream G4cout