53#ifndef G4PairProductionRelModel_h
54#define G4PairProductionRelModel_h 1
73 const G4String& nam =
"BetheHeitlerLPM");
122 void InitialiseElementData();
136 void InitLPMFunctions();
144 LPMFuncs() : fIsInitialized(false), fISDelta(100.), fSLimit(2.) {}
148 std::vector<G4double> fLPMFuncG;
149 std::vector<G4double> fLPMFuncPhi;
215 phi1 = 21.0190 - 4.145*
G4Log(delta + 0.958);
218 phi1 = 20.806 - delta*(3.190 - 0.5710*delta);
219 phi2 = 20.234 - delta*(2.126 - 0.0903*delta);
227 return (delta > 1.4) ? 42.038 - 8.29*
G4Log(delta + 0.958)
228 : 42.184 - delta*(7.444 - 1.623*delta);
235 return (delta > 1.4) ? 42.038 - 8.29*
G4Log(delta + 0.958)
236 : 41.326 - delta*(5.848 - 0.902*delta);
245 f1 = 42.038 - 8.29*
G4Log(delta + 0.958);
248 f1 = 42.184 - delta*(7.444 - 1.623*delta);
249 f2 = 41.326 - delta*(5.848 - 0.902*delta);
double A(double temperature)
G4double G4Log(G4double x)
G4double ComputeRelDXSectionPerAtom(G4double eplusEnergy, G4double gammaEnergy, G4double Z)
G4bool fIsUseLPMCorrection
static const G4double gFelLowZet[8]
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4double ComputeParametrizedXSectionPerAtom(G4double gammaEnergy, G4double Z)
static const G4double gEgLPMActivation
void SetLPMflag(G4bool val)
G4bool fIsUseCompleteScreening
static LPMFuncs gLPMFuncs
G4double fParametrizedXSectionThreshold
void ScreenFunction12(const G4double delta, G4double &f1, G4double &f2)
G4double fCoulombCorrectionThreshold
static const G4double gFinelLowZet[8]
virtual ~G4PairProductionRelModel()
static std::vector< ElementData * > gElementData
static const G4int gMaxZet
static const G4double gXGL[8]
G4double ScreenFunction1(const G4double delta)
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double) override
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kinEnergy, G4double Z, G4double A=0., G4double cut=0., G4double emax=DBL_MAX) override
G4ParticleDefinition * fThePositron
static const G4double gLPMconstant
void ComputePhi12(const G4double delta, G4double &phi1, G4double &phi2)
static const G4double gXSecFactor
G4double ComputeXSectionPerAtom(G4double gammaEnergy, G4double Z)
G4double ScreenFunction2(const G4double delta)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4ParticleDefinition * fTheGamma
G4double ComputeDXSectionPerAtom(G4double eplusEnergy, G4double gammaEnergy, G4double Z)
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
static const G4double gWGL[8]
G4ParticleChangeForGamma * fParticleChange
G4ParticleDefinition * fTheElectron