Geant4  10.01.p02
G4PenelopeIonisationXSHandler Class Reference

#include <G4PenelopeIonisationXSHandler.hh>

+ Collaboration diagram for G4PenelopeIonisationXSHandler:

Public Member Functions

 G4PenelopeIonisationXSHandler (size_t nBins=200)
 Constructor. nBins is the number of intervals in the energy grid. By default the energy grid goes from 100 eV to 100 GeV. More...
 
virtual ~G4PenelopeIonisationXSHandler ()
 Destructor. Clean all tables. More...
 
G4double GetDensityCorrection (const G4Material *, const G4double energy) const
 Returns the density coeection for the material at the given energy. More...
 
const G4PenelopeCrossSectionGetCrossSectionTableForCouple (const G4ParticleDefinition *, const G4Material *, const G4double cut) const
 Returns the table of cross sections for the given particle, given material and given cut as a G4PenelopeCrossSection* pointer. More...
 
void SetVerboseLevel (G4int vl)
 Setter for the verbosity level. More...
 
void BuildXSTable (const G4Material *, G4double cut, const G4ParticleDefinition *, G4bool isMaster=true)
 This can be inkoved only by the master. More...
 

Private Member Functions

G4PenelopeIonisationXSHandleroperator= (const G4PenelopeIonisationXSHandler &right)
 
 G4PenelopeIonisationXSHandler (const G4PenelopeIonisationXSHandler &)
 
void BuildDeltaTable (const G4Material *)
 
G4DataVectorComputeShellCrossSectionsElectron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta)
 
G4DataVectorComputeShellCrossSectionsPositron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta)
 

Private Attributes

G4PenelopeOscillatorManageroscManager
 
std::map< std::pair< const
G4Material *, G4double >
, G4PenelopeCrossSection * > * 
XSTableElectron
 
std::map< std::pair< const
G4Material *, G4double >
, G4PenelopeCrossSection * > * 
XSTablePositron
 
std::map< const G4Material
*, G4PhysicsFreeVector * > * 
theDeltaTable
 
G4PhysicsLogVectorenergyGrid
 
size_t nBins
 
G4int verboseLevel
 

Detailed Description

Definition at line 60 of file G4PenelopeIonisationXSHandler.hh.

Constructor & Destructor Documentation

G4PenelopeIonisationXSHandler::G4PenelopeIonisationXSHandler ( size_t  nBins = 200)

Constructor. nBins is the number of intervals in the energy grid. By default the energy grid goes from 100 eV to 100 GeV.

Definition at line 47 of file G4PenelopeIonisationXSHandler.cc.

References energyGrid, eV, G4PenelopeOscillatorManager::GetOscillatorManager(), GeV, nBins, oscManager, theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.

+ Here is the call graph for this function:

G4PenelopeIonisationXSHandler::~G4PenelopeIonisationXSHandler ( )
virtual

Destructor. Clean all tables.

Definition at line 70 of file G4PenelopeIonisationXSHandler.cc.

References energyGrid, G4cout, G4endl, tab(), theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.

+ Here is the call graph for this function:

G4PenelopeIonisationXSHandler::G4PenelopeIonisationXSHandler ( const G4PenelopeIonisationXSHandler )
private

Member Function Documentation

void G4PenelopeIonisationXSHandler::BuildDeltaTable ( const G4Material mat)
private

Definition at line 327 of file G4PenelopeIonisationXSHandler.cc.

References G4INCL::KinematicsUtils::energy(), energyGrid, eV, FatalException, G4endl, G4Exception(), G4InuclParticleNames::gam, G4PhysicsVector::GetLowEdgeEnergy(), G4PenelopeOscillator::GetOscillatorStrength(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillatorManager::GetPlasmaEnergySquared(), G4PenelopeOscillator::GetResonanceEnergy(), G4PenelopeOscillatorManager::GetTotalZ(), G4PhysicsVector::GetVectorLength(), G4INCL::Math::max(), nBins, oscManager, G4PhysicsFreeVector::PutValue(), and theDeltaTable.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeIonisationXSHandler::BuildXSTable ( const G4Material mat,
G4double  cut,
const G4ParticleDefinition part,
G4bool  isMaster = true 
)
G4DataVector * G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsElectron ( G4PenelopeOscillator theOsc,
G4double  energy,
G4double  cut,
G4double  delta 
)
private

Definition at line 430 of file G4PenelopeIonisationXSHandler.cc.

References cp, eV, G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), G4INCL::Math::max(), and G4INCL::Math::pi.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DataVector * G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsPositron ( G4PenelopeOscillator theOsc,
G4double  energy,
G4double  cut,
G4double  delta 
)
private

Definition at line 562 of file G4PenelopeIonisationXSHandler.cc.

References cp, G4INCL::KinematicsUtils::energy(), eV, G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), G4INCL::Math::max(), and G4INCL::Math::pi.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4PenelopeCrossSection * G4PenelopeIonisationXSHandler::GetCrossSectionTableForCouple ( const G4ParticleDefinition part,
const G4Material mat,
const G4double  cut 
) const

Returns the table of cross sections for the given particle, given material and given cut as a G4PenelopeCrossSection* pointer.

Definition at line 115 of file G4PenelopeIonisationXSHandler.cc.

References G4Electron::Electron(), FatalException, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), G4Positron::Positron(), XSTableElectron, and XSTablePositron.

Referenced by G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4PenelopeIonisationModel::SampleFinalStateElectron(), and G4PenelopeIonisationModel::SampleFinalStatePositron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeIonisationXSHandler::GetDensityCorrection ( const G4Material mat,
const G4double  energy 
) const

Returns the density coeection for the material at the given energy.

Definition at line 290 of file G4PenelopeIonisationXSHandler.cc.

References eV, FatalException, G4cout, G4endl, G4Exception(), G4Material::GetName(), theDeltaTable, and G4PhysicsVector::Value().

Referenced by BuildXSTable(), G4PenelopeIonisationModel::SampleFinalStateElectron(), and G4PenelopeIonisationModel::SampleFinalStatePositron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PenelopeIonisationXSHandler& G4PenelopeIonisationXSHandler::operator= ( const G4PenelopeIonisationXSHandler right)
private
void G4PenelopeIonisationXSHandler::SetVerboseLevel ( G4int  vl)
inline

Setter for the verbosity level.

Definition at line 79 of file G4PenelopeIonisationXSHandler.hh.

References verboseLevel.

Referenced by G4PenelopeIonisationModel::Initialise().

+ Here is the caller graph for this function:

Member Data Documentation

G4PhysicsLogVector* G4PenelopeIonisationXSHandler::energyGrid
private
size_t G4PenelopeIonisationXSHandler::nBins
private
G4PenelopeOscillatorManager* G4PenelopeIonisationXSHandler::oscManager
private
std::map<const G4Material*,G4PhysicsFreeVector*>* G4PenelopeIonisationXSHandler::theDeltaTable
private
G4int G4PenelopeIonisationXSHandler::verboseLevel
private
std::map< std::pair<const G4Material*,G4double>, G4PenelopeCrossSection*>* G4PenelopeIonisationXSHandler::XSTableElectron
private
std::map< std::pair<const G4Material*,G4double>, G4PenelopeCrossSection*>* G4PenelopeIonisationXSHandler::XSTablePositron
private

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