51#ifndef G4eBremsstrahlungRelModel_h
52#define G4eBremsstrahlungRelModel_h 1
104 void InitialiseConstants();
106 void CalcLPMFunctions(
G4double gammaEnergy);
148 static const G4double xgi[8], wgi[8];
150 static const G4double Finel_light[5];
166 G4double Fel, Finel, fCoulomb, fMax;
179 G4bool use_completescreening;
197 Finel = Finel_light[iz] ;
200 Fel = facFel - lnZ/3. ;
201 Finel = facFinel - 2.*lnZ/3. ;
215 return 20.863 - 2.*std::log(1. +
sqr(0.55846*gg) )
216 - 4.*( 1. - 0.6*std::exp(-0.9*gg) - 0.4*std::exp(-1.5*gg) );
223 return 2./(3.*(1. + 6.5*gg +6.*gg*gg) );
229 return 28.340 - 2.*std::log(1. +
sqr(3.621*eps) )
230 - 4.*( 1. - 0.7*std::exp(-8*eps) - 0.3*std::exp(-29.*eps) );
236 return 2./(3.*(1. + 40.*eps +400.*eps*eps) );
G4double GetfCoulomb() const
G4double GetZ13(G4double Z)
G4double GetLOGZ(G4int Z)
const G4Element * GetCurrentElement() const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double tkin, G4double Z, G4double, G4double cutEnergy, G4double maxEnergy=DBL_MAX)
virtual ~G4eBremsstrahlungRelModel()
virtual void SetupForMaterial(const G4ParticleDefinition *, const G4Material *, G4double)
G4double LPMconstant() const
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
const G4ParticleDefinition * particle
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
virtual G4double ComputeDXSectionPerAtom(G4double gammaEnergy)
G4ParticleDefinition * theGamma
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double cutEnergy, G4double maxEnergy)
void SetLPMconstant(G4double val)
void SetCurrentElement(const G4double)
G4ParticleChangeForLoss * fParticleChange