Geant4  10.01.p02
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< G4CacheEntry > CacheEntryList
 
typedef std::map< G4CacheKey,
void * > 
CacheIterPointerMap
 

Private Member Functions

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

Private Attributes

G4VIonDEDXTable * table
 
G4VIonDEDXScalingAlgorithm * algorithm
 
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, factor, 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: