#include <G4PhotoElectricAngularGeneratorSauterGavrila.hh>
◆ G4PhotoElectricAngularGeneratorSauterGavrila() [1/2]
G4PhotoElectricAngularGeneratorSauterGavrila::G4PhotoElectricAngularGeneratorSauterGavrila |
( |
| ) |
|
◆ ~G4PhotoElectricAngularGeneratorSauterGavrila()
G4PhotoElectricAngularGeneratorSauterGavrila::~G4PhotoElectricAngularGeneratorSauterGavrila |
( |
| ) |
|
◆ G4PhotoElectricAngularGeneratorSauterGavrila() [2/2]
◆ operator=()
◆ PrintGeneratorInformation()
void G4PhotoElectricAngularGeneratorSauterGavrila::PrintGeneratorInformation |
( |
| ) |
const |
Definition at line 104 of file G4PhotoElectricAngularGeneratorSauterGavrila.cc.
108 G4cout <<
"Re-implementation of the photolectric angular distribution" <<
G4endl;
109 G4cout <<
"developed my M. Maire for the Standard EM Physics G4PhotoElectricEffect" <<
G4endl;
110 G4cout <<
"It computes the theta distribution of the emitted electron, with respect to the" <<
G4endl;
111 G4cout <<
"incident Gamma, using the Sauter-Gavrila distribution for the K-shell\n" <<
G4endl;
G4GLOB_DLL std::ostream G4cout
◆ SampleDirection()
Implements G4VEmAngularDistribution.
Definition at line 62 of file G4PhotoElectricAngularGeneratorSauterGavrila.cc.
85 G4double beta = std::sqrt((gamma - 1)*(gamma + 1))/gamma;
86 G4double b = 0.5*gamma*(gamma - 1)*(gamma - 2);
89 if (gamma < 2.) grejsup = gamma*gamma*(1.+b-beta*
b);
90 else grejsup = gamma*gamma*(1.+b+beta*
b);
93 costeta = (rndm+beta)/(rndm*beta+1.);
94 term = 1.-beta*costeta;
95 greject = (1.-costeta*costeta)*(1.+b*term)/(term*term);
98 sinteta = std::sqrt((1 - costeta)*(1 + costeta));
void set(double x, double y, double z)
G4double GetKineticEnergy() const
Hep3Vector & rotateUz(const Hep3Vector &)
static const double twopi
const G4ThreeVector & GetMomentumDirection() const
G4ThreeVector fLocalDirection
The documentation for this class was generated from the following files: