Geant4  10.00.p01
G4IonDEDXHandler Class Reference

#include <G4IonDEDXHandler.hh>

+ Collaboration diagram for G4IonDEDXHandler:

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
 

Detailed Description

Definition at line 82 of file G4IonDEDXHandler.hh.

Member Typedef Documentation

typedef std::list<G4CacheEntry> G4IonDEDXHandler::CacheEntryList
private

Definition at line 190 of file G4IonDEDXHandler.hh.

typedef std::map<G4CacheKey, void*> G4IonDEDXHandler::CacheIterPointerMap
private

Definition at line 193 of file G4IonDEDXHandler.hh.

Definition at line 165 of file G4IonDEDXHandler.hh.

Definition at line 169 of file G4IonDEDXHandler.hh.

typedef std::pair<const G4ParticleDefinition*, const G4Material*> G4IonDEDXHandler::G4CacheKey
private

Definition at line 182 of file G4IonDEDXHandler.hh.

typedef std::pair<G4int, const G4Material*> G4IonDEDXHandler::G4IonKey
private

Definition at line 164 of file G4IonDEDXHandler.hh.

Constructor & Destructor Documentation

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

Definition at line 67 of file G4IonDEDXHandler.cc.

References algorithm, G4cerr, G4endl, maxCacheEntries, and table.

G4IonDEDXHandler::~G4IonDEDXHandler ( )

Definition at line 101 of file G4IonDEDXHandler.cc.

References algorithm, ClearCache(), stoppingPowerTable, stoppingPowerTableBragg, and table.

+ Here is the call graph for this function:

G4IonDEDXHandler::G4IonDEDXHandler ( const G4IonDEDXHandler )
private

Member Function Documentation

G4bool G4IonDEDXHandler::BuildDEDXTable ( const G4ParticleDefinition particle,
const G4Material material 
)

Definition at line 195 of file G4IonDEDXHandler.cc.

G4bool G4IonDEDXHandler::BuildDEDXTable ( G4int  atomicNumberIon,
const G4Material material 
)

Definition at line 209 of file G4IonDEDXHandler.cc.

References algorithm, ClearCache(), G4cout, G4endl, GetName(), stoppingPowerTable, stoppingPowerTableBragg, table, and useSplines.

+ Here is the call graph for this function:

void G4IonDEDXHandler::ClearCache ( )

Definition at line 424 of file G4IonDEDXHandler.cc.

References cacheEntries, cacheKeyPointers, and second.

Referenced by BuildDEDXTable(), and ~G4IonDEDXHandler().

+ Here is the caller graph for this function:

G4CacheValue G4IonDEDXHandler::GetCacheValue ( const G4ParticleDefinition particle,
const G4Material material 
)
private

Definition at line 376 of file G4IonDEDXHandler.cc.

References cacheEntries, cacheKeyPointers, G4IonDEDXHandler::CacheEntry::key, maxCacheEntries, UpdateCacheValue(), and G4IonDEDXHandler::CacheEntry::value.

Referenced by GetDEDX(), GetLowerEnergyEdge(), and GetUpperEnergyEdge().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4IonDEDXHandler::GetDEDX ( const G4ParticleDefinition particle,
const G4Material material,
G4double  kineticEnergy 
)

Definition at line 148 of file G4IonDEDXHandler.cc.

References algorithm, cm, CacheValue::dedxVector, CacheValue::density, CacheValue::energyScaling, G4cout, G4endl, GetCacheValue(), GetName(), CacheValue::lowerEnergyEdge, and MeV.

Referenced by PrintDEDXTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4IonDEDXHandler::GetLowerEnergyEdge ( const G4ParticleDefinition particle,
const G4Material material 
)

Definition at line 516 of file G4IonDEDXHandler.cc.

References CacheValue::energyScaling, GetCacheValue(), and CacheValue::lowerEnergyEdge.

Referenced by PrintDEDXTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String G4IonDEDXHandler::GetName ( void  )

Definition at line 548 of file G4IonDEDXHandler.cc.

References tableName.

Referenced by BuildDEDXTable(), GetDEDX(), PrintDEDXTable(), and UpdateCacheValue().

+ Here is the caller graph for this function:

G4double G4IonDEDXHandler::GetUpperEnergyEdge ( const G4ParticleDefinition particle,
const G4Material material 
)

Definition at line 532 of file G4IonDEDXHandler.cc.

References CacheValue::energyScaling, GetCacheValue(), and CacheValue::upperEnergyEdge.

Referenced by PrintDEDXTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4IonDEDXHandler::IsApplicable ( const G4ParticleDefinition particle,
const G4Material material 
)

Definition at line 122 of file G4IonDEDXHandler.cc.

References algorithm, stoppingPowerTable, and table.

G4IonDEDXHandler& G4IonDEDXHandler::operator= ( const G4IonDEDXHandler r)
private
void G4IonDEDXHandler::PrintDEDXTable ( const G4ParticleDefinition particle,
const G4Material material,
G4double  lowerBoundary,
G4double  upperBoundary,
G4int  nmbBins,
G4bool  logScaleEnergy = true 
)

Definition at line 443 of file G4IonDEDXHandler.cc.

References cm, cm2, cm3, G4INCL::KinematicsUtils::energy(), g, G4cout, G4endl, GetDEDX(), GetLowerEnergyEdge(), GetName(), GetUpperEnergyEdge(), MeV, and right.

+ Here is the call graph for this function:

G4CacheValue G4IonDEDXHandler::UpdateCacheValue ( const G4ParticleDefinition particle,
const G4Material material 
)
private

Definition at line 328 of file G4IonDEDXHandler.cc.

References algorithm, CacheValue::dedxVector, CacheValue::density, CacheValue::energyScaling, G4cout, G4endl, GetName(), CacheValue::lowerEnergyEdge, second, stoppingPowerTable, and CacheValue::upperEnergyEdge.

Referenced by GetCacheValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4VIonDEDXScalingAlgorithm* G4IonDEDXHandler::algorithm
private
CacheEntryList G4IonDEDXHandler::cacheEntries
private

Definition at line 191 of file G4IonDEDXHandler.hh.

Referenced by ClearCache(), and GetCacheValue().

CacheIterPointerMap G4IonDEDXHandler::cacheKeyPointers
private

Definition at line 194 of file G4IonDEDXHandler.hh.

Referenced by ClearCache(), and GetCacheValue().

G4int G4IonDEDXHandler::maxCacheEntries
private

Definition at line 197 of file G4IonDEDXHandler.hh.

Referenced by G4IonDEDXHandler(), and GetCacheValue().

DEDXTable G4IonDEDXHandler::stoppingPowerTable
private
DEDXTableBraggRule G4IonDEDXHandler::stoppingPowerTableBragg
private

Definition at line 170 of file G4IonDEDXHandler.hh.

Referenced by BuildDEDXTable(), and ~G4IonDEDXHandler().

G4VIonDEDXTable* G4IonDEDXHandler::table
private
G4String G4IonDEDXHandler::tableName
private

Definition at line 161 of file G4IonDEDXHandler.hh.

Referenced by GetName().

G4bool G4IonDEDXHandler::useSplines
private

Definition at line 174 of file G4IonDEDXHandler.hh.

Referenced by BuildDEDXTable().


The documentation for this class was generated from the following files: