50 #ifndef G4PairProductionRelModel_h
51 #define G4PairProductionRelModel_h 1
67 const G4String& nam =
"BetheHeitlerLPM");
223 screenVal = 21.12 - 4.184*std::log(delta+0.952);
225 screenVal = 20.868 - delta*(3.242 - 0.625*delta);
237 screenVal = 21.12 - 4.184*std::log(delta+0.952);
239 screenVal = 20.209 - delta*(1.930 + 0.086*delta);
251 if (ScreenVariable > 1.)
252 screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952);
254 screenVal = 42.392 - ScreenVariable*(7.796 - 1.961*ScreenVariable);
268 if (ScreenVariable > 1.)
269 screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952);
271 screenVal = 41.405 - ScreenVariable*(5.828 - 0.8945*ScreenVariable);
283 return std::exp( (42.24-FZ)/8.368 ) + 0.952;
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double) override
static const G4double Egsmall
G4double Phi1(G4double delta) const
G4bool use_completescreening
G4double ComputeXSectionPerAtom(G4double totalEnergy, G4double Z)
void SetCurrentElement(G4double Z)
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
void SetLPMconstant(G4double val)
G4double Phi2(G4double delta) const
G4PairProductionRelModel(const G4ParticleDefinition *p=0, const G4String &nam="BetheHeitlerLPM")
G4double GetfCoulomb() const
static const G4double preS1
static const G4double Finel_light[5]
G4ParticleDefinition * thePositron
static const G4double facFel
static constexpr double electron_mass_c2
static const G4double xgi[8]
G4double ScreenFunction1(G4double ScreenVariable)
G4double GetZ13(G4double Z) const
double A(double temperature)
static const G4double wgi[8]
static const G4double logTwo
static constexpr double eplus
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
virtual ~G4PairProductionRelModel()
G4double DeltaMin(G4double) const
void CalcLPMFunctions(G4double k, G4double eplus)
G4double GetLOGZ(G4int Z) const
static const G4double facFinel
G4double ScreenFunction2(G4double ScreenVariable)
G4double LPMconstant() const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cut=0., G4double emax=DBL_MAX) override
static const G4double emax
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4ParticleChangeForGamma * fParticleChange
G4ParticleDefinition * theGamma
G4double DeltaMax() const
G4double ComputeRelDXSectionPerAtom(G4double eplusEnergy, G4double totalEnergy, G4double Z)
G4ParticleDefinition * theElectron
static const G4double xsfactor
static const G4double Fel_light[5]
G4double ComputeDXSectionPerAtom(G4double eplusEnergy, G4double totalEnergy, G4double Z)
const G4Element * GetCurrentElement() const