48 #ifndef G4IONDEDXHANDLER_HH
49 #define G4IONDEDXHANDLER_HH
88 G4int maxCacheSize = 5,
115 G4int atomicNumberIon,
126 G4bool logScaleEnergy =
true);
164 typedef std::pair<G4int, const G4Material*> G4IonKey;
165 typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTable;
166 DEDXTable stoppingPowerTable;
169 typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTableBraggRule;
170 DEDXTableBraggRule stoppingPowerTableBragg;
182 typedef std::pair<const G4ParticleDefinition*, const G4Material*> G4CacheKey;
183 typedef struct CacheEntry {
190 typedef std::list<G4CacheEntry> CacheEntryList;
191 CacheEntryList cacheEntries;
193 typedef std::map<G4CacheKey, void*> CacheIterPointerMap;
194 CacheIterPointerMap cacheKeyPointers;
197 G4int maxCacheEntries;
210 #endif // G4IONDEDXHANDLER_HH
G4IonDEDXHandler(G4VIonDEDXTable *tables, G4VIonDEDXScalingAlgorithm *algorithm, const G4String &name, G4int maxCacheSize=5, G4bool splines=true)
struct CacheValue G4CacheValue
G4double GetLowerEnergyEdge(const G4ParticleDefinition *, const G4Material *)
G4PhysicsVector * dedxVector
void PrintDEDXTable(const G4ParticleDefinition *, const G4Material *, G4double, G4double, G4int, G4bool logScaleEnergy=true)
G4bool IsApplicable(const G4ParticleDefinition *, const G4Material *)
G4bool BuildDEDXTable(const G4ParticleDefinition *, const G4Material *)
G4double GetUpperEnergyEdge(const G4ParticleDefinition *, const G4Material *)
G4double GetDEDX(const G4ParticleDefinition *, const G4Material *, G4double)
const XML_Char int const XML_Char * value