53#ifndef G4PairProductionRelModel_h
54#define G4PairProductionRelModel_h 1
71 const G4String& nam =
"BetheHeitlerLPM");
123 void InitialiseElementData();
137 void InitLPMFunctions();
145 LPMFuncs() : fIsInitialized(false), fISDelta(100.), fSLimit(2.) {}
149 std::vector<G4double> fLPMFuncG;
150 std::vector<G4double> fLPMFuncPhi;
205 phi1 = 21.0190 - 4.145*
G4Log(delta + 0.958);
208 phi1 = 20.806 - delta*(3.190 - 0.5710*delta);
209 phi2 = 20.234 - delta*(2.126 - 0.0903*delta);
216 return (delta > 1.4) ? 42.038 - 8.29*
G4Log(delta + 0.958)
217 : 42.184 - delta*(7.444 - 1.623*delta);
223 return (delta > 1.4) ? 42.038 - 8.29*
G4Log(delta + 0.958)
224 : 41.326 - delta*(5.848 - 0.902*delta);
232 f1 = 42.038 - 8.29*
G4Log(delta + 0.958);
235 f1 = 42.184 - delta*(7.444 - 1.623*delta);
236 f2 = 41.326 - delta*(5.848 - 0.902*delta);
G4double G4Log(G4double x)
G4double ComputeRelDXSectionPerAtom(G4double eplusEnergy, G4double gammaEnergy, G4double Z)
G4bool fIsUseLPMCorrection
static const G4double gFelLowZet[8]
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]
static std::vector< ElementData * > gElementData
static const G4int gMaxZet
static const G4double gXGL[8]
G4double ScreenFunction1(const G4double delta)
void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double) override
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
~G4PairProductionRelModel() override
void ComputePhi12(const G4double delta, G4double &phi1, G4double &phi2)
static const G4double gXSecFactor
G4double ComputeXSectionPerAtom(G4double gammaEnergy, G4double Z)
G4PairProductionRelModel(const G4PairProductionRelModel &)=delete
G4double ScreenFunction2(const G4double delta)
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4ParticleDefinition * fTheGamma
G4double ComputeDXSectionPerAtom(G4double eplusEnergy, G4double gammaEnergy, G4double Z)
void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
static const G4double gWGL[8]
G4ParticleChangeForGamma * fParticleChange
G4ParticleDefinition * fTheElectron