279 G4cout <<
"Calling SampleSecondaries() of G4LivermoreGammaConversionModel" 292 epsilon = epsilon0Local + (0.5 - epsilon0Local) *
G4UniformRand();
303 G4cout <<
"G4LivermoreGammaConversionModel::SampleSecondaries - element = 0" 310 G4cout <<
"G4LivermoreGammaConversionModel::SampleSecondaries - ionisation = 0" 317 if (photonEnergy > 50. *
MeV) fZ += 8. * (element->
GetfCoulomb());
325 G4double epsilon1 = 0.5 - 0.5 * std::sqrt(1. - screenMin / screenMax) ;
327 G4double epsilonRange = 0.5 - epsilonMin ;
342 epsilon = 0.5 - epsilonRange * std::pow(
G4UniformRand(), 0.333333) ;
343 screen = screenFactor / (epsilon * (1. -
epsilon));
349 screen = screenFactor / (epsilon * (1 -
epsilon));
363 electronTotEnergy = (1. -
epsilon) * photonEnergy;
364 positronTotEnergy = epsilon * photonEnergy;
368 positronTotEnergy = (1. -
epsilon) * photonEnergy;
369 electronTotEnergy = epsilon * photonEnergy;
395 G4double dxEle= std::sin(thetaEle)*std::cos(phi),dyEle= std::sin(thetaEle)*std::sin(phi),dzEle=std::cos(thetaEle);
396 G4double dxPos=-std::sin(thetaPos)*std::cos(phi),dyPos=-std::sin(thetaPos)*std::sin(phi),dzPos=std::cos(thetaPos);
406 electronDirection.rotateUz(photonDirection);
416 positronDirection.rotateUz(photonDirection);
423 fvect->push_back(particle1);
424 fvect->push_back(particle2);
G4double ScreenFunction2(G4double screenVariable)
G4double GetlogZ3() const
G4double ScreenFunction1(G4double screenVariable)
G4ParticleChangeForGamma * fParticleChange
G4double GetKineticEnergy() const
G4GLOB_DLL std::ostream G4cout
static const double twopi
G4IonisParamElm * GetIonisation() const
G4double GetfCoulomb() const
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static G4Positron * Positron()
const G4ThreeVector & GetMomentumDirection() const
static G4Electron * Electron()
G4ParticleDefinition * GetDefinition() const
double epsilon(double density, double temperature)
const G4Element * SelectRandomAtom(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)