66#ifndef G4IONPARAMETRISEDLOSSMODEL_HH
67#define G4IONPARAMETRISEDLOSSMODEL_HH
std::list< G4IonDEDXHandler * > LossTableList
std::pair< const G4ParticleDefinition *, const G4MaterialCutsCouple * > IonMatCouple
G4BetheBlochModel * betheBlochModel
G4double dedxCacheEnergyCut
G4IonParametrisedLossModel(const G4IonParametrisedLossModel &)
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double, G4double, G4double, G4double, G4double) override
G4double dedxCacheTransitionEnergy
G4double cacheChargeSquare
G4double lowerEnergyEdgeIntegr
void BuildRangeVector(const G4ParticleDefinition *, const G4MaterialCutsCouple *)
const G4ParticleDefinition * cacheParticle
G4double MinEnergyCut(const G4ParticleDefinition *, const G4MaterialCutsCouple *) override
virtual ~G4IonParametrisedLossModel()
G4double MaxSecondaryEnergy(const G4ParticleDefinition *, G4double) override
const G4ParticleDefinition * rangeCacheParticle
G4double dedxCacheTransitionFactor
void UpdateRangeCache(const G4ParticleDefinition *, const G4MaterialCutsCouple *)
const G4MaterialCutsCouple * rangeCacheMatCutsCouple
void UpdateCache(const G4ParticleDefinition *)
G4double genericIonPDGMass
void CorrectionsAlongStep(const G4MaterialCutsCouple *, const G4DynamicParticle *, const G4double &, G4double &) override
LossTableList::iterator IsApplicable(const G4ParticleDefinition *, const G4Material *)
G4double GetChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, G4double) override
G4BraggIonModel * braggIonModel
G4bool AddDEDXTable(const G4String &name, G4VIonDEDXTable *table, G4VIonDEDXScalingAlgorithm *algorithm=nullptr)
const G4ParticleDefinition * genericIon
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
G4IonParametrisedLossModel & operator=(const G4IonParametrisedLossModel &right)
G4IonParametrisedLossModel(const G4ParticleDefinition *particle=nullptr, const G4String &name="ParamICRU73")
G4double cacheElecMassRatio
const G4Material * dedxCacheMaterial
std::map< IonMatCouple, G4PhysicsFreeVector * > EnergyRangeTable
void PrintDEDXTableHandlers(const G4ParticleDefinition *, const G4Material *, G4double, G4double, G4int, G4bool)
G4double DeltaRayMeanEnergyTransferRate(const G4Material *, const G4ParticleDefinition *, G4double, G4double)
G4EmCorrections * corrections
G4double ComputeDEDXPerVolume(const G4Material *, const G4ParticleDefinition *, G4double, G4double) override
LossTableList lossTableList
const G4ParticleDefinition * dedxCacheParticle
G4double dedxCacheGenIonMassRatio
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double) override
LossTableList::iterator dedxCacheIter
G4bool RemoveDEDXTable(const G4String &name)
G4PhysicsVector * rangeCacheRangeEnergy
G4ParticleChangeForLoss * particleChangeLoss
G4double ComputeLossForStep(const G4MaterialCutsCouple *, const G4ParticleDefinition *, G4double, G4double)
G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double, G4double, G4double) override
G4double GetParticleCharge(const G4ParticleDefinition *, const G4Material *, G4double) override
G4PhysicsVector * rangeCacheEnergyRange
void UpdateDEDXCache(const G4ParticleDefinition *, const G4Material *, G4double cutEnergy)
std::map< IonMatCouple, G4PhysicsFreeVector * > RangeEnergyTable
G4double upperEnergyEdgeIntegr
void SetEnergyLossLimit(G4double ionEnergyLossLimit)
void PrintDEDXTable(const G4ParticleDefinition *, const G4Material *, G4double, G4double, G4int, G4bool)