57 #ifndef G4BraggIonModel_h
58 #define G4BraggIonModel_h 1
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy) override
G4double DEDX(const G4Material *material, G4double kineticEnergy)
G4double StoppingPower(const G4Material *material, G4double kineticEnergy)
const G4ParticleDefinition * particle
virtual G4double GetChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double kineticEnergy) override
virtual void CorrectionsAlongStep(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double &eloss, G4double &niel, G4double length) override
G4double GetPDGCharge() const
G4double GetPDGMass() const
void SetParticle(const G4ParticleDefinition *p)
G4ParticleDefinition * theElectron
static constexpr double proton_mass_c2
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy) override
G4double GetPDGSpin() const
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
G4double theZieglerFactor
static G4ASTARStopping * fASTAR
static constexpr double electron_mass_c2
double A(double temperature)
G4BraggIonModel & operator=(const G4BraggIonModel &right)=delete
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy) final
virtual G4double MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *couple) override
G4bool HasMaterial(const G4Material *material)
virtual ~G4BraggIonModel()
G4double HeEffChargeSquare(G4double z, G4double kinEnergyInMeV) const
const G4Material * currentMaterial
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy) override
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
virtual G4double GetParticleCharge(const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy) override
G4double ElectronicStoppingPower(G4double z, G4double kineticEnergy) const
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
static constexpr double eplus
G4ParticleChangeForLoss * fParticleChange
G4BraggIonModel(const G4ParticleDefinition *p=nullptr, const G4String &nam="BraggIon")