47#ifndef G4IONDEDXHANDLER_HH
48#define G4IONDEDXHANDLER_HH
84 G4int maxCacheSize = 5,
111 G4int atomicNumberIon,
122 G4bool logScaleEnergy =
true);
159 typedef std::pair<G4int, const G4Material*> G4IonKey;
160 typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTable;
161 DEDXTable stoppingPowerTable;
164 typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTableBraggRule;
165 DEDXTableBraggRule stoppingPowerTableBragg;
177 typedef std::pair<const G4ParticleDefinition*, const G4Material*> G4CacheKey;
178 typedef struct CacheEntry {
185 typedef std::list<G4CacheEntry> CacheEntryList;
186 CacheEntryList cacheEntries;
188 typedef std::map<G4CacheKey, void*> CacheIterPointerMap;
189 CacheIterPointerMap cacheKeyPointers;
202 G4int maxCacheEntries;
struct CacheValue G4CacheValue
void PrintDEDXTable(const G4ParticleDefinition *, const G4Material *, G4double, G4double, G4int, G4bool logScaleEnergy=true)
G4IonDEDXHandler & operator=(const G4IonDEDXHandler &r)=delete
G4bool BuildDEDXTable(const G4ParticleDefinition *, const G4Material *)
G4IonDEDXHandler(G4VIonDEDXTable *tables, G4VIonDEDXScalingAlgorithm *algorithm, const G4String &name, G4int maxCacheSize=5, G4bool splines=true)
G4bool IsApplicable(const G4ParticleDefinition *, const G4Material *)
G4double GetLowerEnergyEdge(const G4ParticleDefinition *, const G4Material *)
G4IonDEDXHandler(const G4IonDEDXHandler &)=delete
G4double GetUpperEnergyEdge(const G4ParticleDefinition *, const G4Material *)
G4double GetDEDX(const G4ParticleDefinition *, const G4Material *, G4double)
G4PhysicsVector * dedxVector