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