Geant4  10.00
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4IonDEDXHandler Class Reference

Classes

struct  CacheEntry
 

Public Member Functions

 G4IonDEDXHandler (G4VIonDEDXTable *tables, G4VIonDEDXScalingAlgorithm *algorithm, const G4String &name, G4int maxCacheSize=5, G4bool splines=true)
 
 ~G4IonDEDXHandler ()
 
G4bool IsApplicable (const G4ParticleDefinition *, const G4Material *)
 
G4double GetDEDX (const G4ParticleDefinition *, const G4Material *, G4double)
 
G4bool BuildDEDXTable (const G4ParticleDefinition *, const G4Material *)
 
G4bool BuildDEDXTable (G4int atomicNumberIon, const G4Material *)
 
void PrintDEDXTable (const G4ParticleDefinition *, const G4Material *, G4double, G4double, G4int, G4bool logScaleEnergy=true)
 
G4double GetLowerEnergyEdge (const G4ParticleDefinition *, const G4Material *)
 
G4double GetUpperEnergyEdge (const G4ParticleDefinition *, const G4Material *)
 
void ClearCache ()
 
G4String GetName ()
 

Private Types

typedef std::pair< G4int,
const G4Material * > 
G4IonKey
 
typedef std::map< G4IonKey,
G4PhysicsVector * > 
DEDXTable
 
typedef std::map< G4IonKey,
G4PhysicsVector * > 
DEDXTableBraggRule
 
typedef std::pair< const
G4ParticleDefinition *, const
G4Material * > 
G4CacheKey
 
typedef struct
G4IonDEDXHandler::CacheEntry 
G4CacheEntry
 
typedef std::list< G4CacheEntryCacheEntryList
 
typedef std::map< G4CacheKey,
void * > 
CacheIterPointerMap
 

Private Member Functions

G4IonDEDXHandleroperator= (const G4IonDEDXHandler &r)
 
 G4IonDEDXHandler (const G4IonDEDXHandler &)
 
G4CacheValue UpdateCacheValue (const G4ParticleDefinition *, const G4Material *)
 
G4CacheValue GetCacheValue (const G4ParticleDefinition *, const G4Material *)
 

Private Attributes

G4VIonDEDXTabletable
 
G4VIonDEDXScalingAlgorithmalgorithm
 
G4String tableName
 
DEDXTable stoppingPowerTable
 
DEDXTableBraggRule stoppingPowerTableBragg
 
G4bool useSplines
 
CacheEntryList cacheEntries
 
CacheIterPointerMap cacheKeyPointers
 
G4int maxCacheEntries
 

Member Typedef Documentation

typedef std::pair<G4int, const G4Material*> G4IonKey
private
typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTable
private
typedef std::map<G4IonKey, G4PhysicsVector*> DEDXTableBraggRule
private
typedef std::pair<const G4ParticleDefinition*, const G4Material*> G4CacheKey
private
typedef std::list<G4CacheEntry> CacheEntryList
private
typedef std::map<G4CacheKey, void*> CacheIterPointerMap
private

Constructor & Destructor Documentation

G4IonDEDXHandler ( G4VIonDEDXTable tables,
G4VIonDEDXScalingAlgorithm algorithm,
const G4String name,
G4int  maxCacheSize = 5,
G4bool  splines = true 
)

Member Function Documentation

G4bool IsApplicable ( const G4ParticleDefinition ,
const G4Material  
)
G4bool BuildDEDXTable ( const G4ParticleDefinition ,
const G4Material  
)
G4bool BuildDEDXTable ( G4int  atomicNumberIon,
const G4Material  
)
void PrintDEDXTable ( const G4ParticleDefinition ,
const G4Material ,
G4double  ,
G4double  ,
G4int  ,
G4bool  logScaleEnergy = true 
)
G4double GetLowerEnergyEdge ( const G4ParticleDefinition ,
const G4Material  
)
G4double GetUpperEnergyEdge ( const G4ParticleDefinition ,
const G4Material  
)
void ClearCache ( )
G4String GetName ( )
G4IonDEDXHandler& operator= ( const G4IonDEDXHandler r)
private
G4CacheValue UpdateCacheValue ( const G4ParticleDefinition ,
const G4Material  
)
private
G4CacheValue GetCacheValue ( const G4ParticleDefinition ,
const G4Material  
)
private

Member Data Documentation

G4VIonDEDXTable* table
private
G4VIonDEDXScalingAlgorithm* algorithm
private
G4String tableName
private
DEDXTable stoppingPowerTable
private
DEDXTableBraggRule stoppingPowerTableBragg
private
G4bool useSplines
private
CacheEntryList cacheEntries
private
CacheIterPointerMap cacheKeyPointers
private
G4int maxCacheEntries
private