60 #ifndef G4ICRU73QOModel_h
61 #define G4ICRU73QOModel_h 1
63 #include <CLHEP/Units/PhysicalConstants.h>
247 return shellStrength;
static const G4int nbofShellsForElement[NQOELEM]
static const G4double factorBethe[99]
G4double DEDXPerElement(G4int Z, G4double kineticEnergy)
G4double GetL1(G4double normEnergy) const
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double) override
static const G4double SubShellOccupation[NQODATA]
G4double DEDX(const G4Material *material, G4double kineticEnergy)
static const G4double L0[67][2]
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
static const G4double L2[14][2]
virtual void CorrectionsAlongStep(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length) override
G4ICRU73QOModel & operator=(const G4ICRU73QOModel &right)=delete
G4double GetL2(G4double normEnergy) const
static const G4double L1[22][2]
G4ParticleChangeForLoss * fParticleChange
G4ICRU73QOModel(const G4ParticleDefinition *p=0, const G4String &nam="ICRU73QO")
G4double GetShellStrength(G4int Z, G4int nbOfTheShell) const
G4ParticleDefinition * theElectron
G4double GetShellEnergy(G4int Z, G4int nbOfTheShell) const
G4DensityEffectData * denEffData
double A(double temperature)
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) final
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy) final
static constexpr double eplus
static constexpr double eV
void SetParticle(const G4ParticleDefinition *p)
virtual ~G4ICRU73QOModel()
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4double GetOscillatorEnergy(G4int Z, G4int nbOfTheShell) const
void SetLowestKinEnergy(G4double val)
static const G4int NQOELEM
G4double GetPDGMass() const
static G4int GetNumberOfElectrons(G4int Z, G4int SubshellNb)
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
static const G4double ShellEnergy[NQODATA]
G4double GetPDGCharge() const
G4int GetNumberOfShells(G4int Z) const
static const G4int ZElementAvailable[NQOELEM]
const G4ParticleDefinition * particle
static const G4int startElemIndex[NQOELEM]
G4double GetL0(G4double normEnergy) const
static const G4int NQODATA
static G4int GetNumberOfShells(G4int Z)