46 #ifndef G4AtimaEnergyLossModel_h
47 #define G4AtimaEnergyLossModel_h 1
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
static const G4double x0[92]
G4double sezi_dedx_e(const G4double zp, const G4double ep, const G4double at, const G4double zt)
static const G4double del_0[92]
const G4String & GetParticleName() const
G4double GetPDGCharge() const
G4double StoppingPower(G4double ap, G4double zp, G4double ep, G4double at, G4double zt)
static const G4double atima_lambda_screening[92]
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double) override
G4AtimaEnergyLossModel & operator=(const G4AtimaEnergyLossModel &right)=delete
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
G4double sezi_p_se(const G4double energy, const G4double at, const G4double zt)
G4ParticleChangeForLoss * fParticleChange
G4int GetBaryonNumber() const
static const G4double element_atomic_weights[110]
G4double domega2dx_constant
static const G4double x1[92]
static const G4double proton_stopping_coef[92][8]
G4double dedx_n(const G4double ap, const G4double zp, const G4double ep, const G4double at, const G4double zt)
void SetChargeSquareRatio(G4double val)
static G4double tableE[200]
double A(double temperature)
static const G4double atima_vfermi[92]
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy) override
G4double GetChargeSquareRatio() const
static const G4double ionisation_potentials_z[121]
G4double atomic_mass_unit
static const G4double m0[92]
virtual G4double MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *couple) override
G4double EnergyTable_interpolate(G4double xval, const G4double *y)
static const G4double ls_coefficients_a[110][200]
void SetGenericIon(const G4ParticleDefinition *p)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
virtual ~G4AtimaEnergyLossModel()
virtual void CorrectionsAlongStep(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &, G4double &, G4double) override
G4ParticleDefinition * theElectron
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
G4AtimaEnergyLossModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="Atima")
const G4ParticleDefinition * particle
G4double Bethek_dedx_e(G4double ap, G4double zp, G4double ep, G4double at, G4double zt)
void SetParticle(const G4ParticleDefinition *p)
static const G4double afermi[92]
virtual G4double GetParticleCharge(const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy) override
static const G4double ls_coefficients_ahi[110][200]
static constexpr double eplus
static const G4double c[92]