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