51 #ifndef G4eBremsstrahlungRelModel_h
52 #define G4eBremsstrahlungRelModel_h 1
117 void InitialiseConstants();
119 void CalcLPMFunctions(
G4double gammaEnergy);
159 static const G4double xgi[8], wgi[8];
161 static const G4double Finel_light[5];
173 G4double Fel, Finel, fCoulomb, fMax;
183 G4bool use_completescreening;
199 Finel = Finel_light[
Z] ;
204 Finel = facFinel - 2*lnzt;
209 fMax = Fel-fCoulomb + Finel*xz + (1. + xz)/12.;
219 return 20.863 - 2.*
G4Log(1. +
sqr(0.55846*gg) )
220 - 4.*( 1. - 0.6*
G4Exp(-0.9*gg) - 0.4*
G4Exp(-1.5*gg) );
227 return 2./(3.*(1. + 6.5*gg +6.*gg*gg) );
233 return 28.340 - 2.*
G4Log(1. +
sqr(3.621*eps) )
234 - 4.*( 1. - 0.7*
G4Exp(-8*eps) - 0.3*
G4Exp(-29.*eps) );
240 return 2./(3.*(1. + 40.*eps +400.*eps*
eps) );
261 lowestKinEnergy = val;
268 return lowestKinEnergy;
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double cutEnergy, G4double maxEnergy) override
void SetCurrentElement(G4int)
static const G4double eps
G4double GetfCoulomb() const
G4double LowestKinEnergy() const
const G4ParticleDefinition * particle
G4double GetZ13(G4double Z) const
G4ParticleDefinition * theGamma
virtual G4double MinPrimaryEnergy(const G4Material *, const G4ParticleDefinition *, G4double cut) override
void SetLowestKinEnergy(G4double)
G4double GetLOGZ(G4int Z) const
virtual ~G4eBremsstrahlungRelModel()
G4eBremsstrahlungRelModel(const G4ParticleDefinition *p=0, const G4String &nam="eBremLPM")
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double) override
virtual G4double ComputeDXSectionPerAtom(G4double gammaEnergy)
G4double LPMconstant() const
void SetLPMconstant(G4double val)
G4ParticleChangeForLoss * fParticleChange
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double tkin, G4double Z, G4double, G4double cutEnergy, G4double maxEnergy=DBL_MAX) override
const G4Element * GetCurrentElement() const