61 #ifndef G4BetheBlochModel_h
62 #define G4BetheBlochModel_h 1
64 #include <CLHEP/Units/SystemOfUnits.h>
virtual G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
void SetChargeSquareRatio(G4double val)
virtual G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy)
G4BetheBlochModel & operator=(const G4BetheBlochModel &right)
const G4ParticleDefinition * particle
const G4String & GetParticleName() const
void SetGenericIon(const G4ParticleDefinition *p)
virtual G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double kinEnergy)
virtual G4double MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *couple)
G4BetheBlochModel(const G4ParticleDefinition *p=0, const G4String &nam="BetheBloch")
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double kineticEnergy, G4double Z, G4double A, G4double cutEnergy, G4double maxEnergy)
virtual G4double GetParticleCharge(const G4ParticleDefinition *p, const G4Material *mat, G4double kineticEnergy)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
static const G4double A[nN]
virtual void CorrectionsAlongStep(const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &eloss, G4double &, G4double length)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
void SetParticle(const G4ParticleDefinition *p)
virtual G4double ComputeCrossSectionPerElectron(const G4ParticleDefinition *, G4double kineticEnergy, G4double cutEnergy, G4double maxEnergy)
G4ParticleChangeForLoss * fParticleChange
virtual ~G4BetheBlochModel()
G4ParticleDefinition * theElectron
G4double GetChargeSquareRatio() const
static const double eplus
G4double GetPDGCharge() const
G4int GetBaryonNumber() const