Geant4
10.01.p02
|
#include <G4PenelopeIonisationXSHandler.hh>
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 G4PenelopeCrossSection * | GetCrossSectionTableForCouple (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 | |
G4PenelopeIonisationXSHandler & | operator= (const G4PenelopeIonisationXSHandler &right) |
G4PenelopeIonisationXSHandler (const G4PenelopeIonisationXSHandler &) | |
void | BuildDeltaTable (const G4Material *) |
G4DataVector * | ComputeShellCrossSectionsElectron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta) |
G4DataVector * | ComputeShellCrossSectionsPositron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta) |
Private Attributes | |
G4PenelopeOscillatorManager * | oscManager |
std::map< std::pair< const G4Material *, G4double > , G4PenelopeCrossSection * > * | XSTableElectron |
std::map< std::pair< const G4Material *, G4double > , G4PenelopeCrossSection * > * | XSTablePositron |
std::map< const G4Material *, G4PhysicsFreeVector * > * | theDeltaTable |
G4PhysicsLogVector * | energyGrid |
size_t | nBins |
G4int | verboseLevel |
Definition at line 60 of file G4PenelopeIonisationXSHandler.hh.
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.
|
virtual |
Destructor. Clean all tables.
Definition at line 70 of file G4PenelopeIonisationXSHandler.cc.
References energyGrid, G4cout, G4endl, tab(), theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.
|
private |
|
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().
void G4PenelopeIonisationXSHandler::BuildXSTable | ( | const G4Material * | mat, |
G4double | cut, | ||
const G4ParticleDefinition * | part, | ||
G4bool | isMaster = true |
||
) |
This can be inkoved only by the master.
Definition at line 164 of file G4PenelopeIonisationXSHandler.cc.
References G4PenelopeCrossSection::AddCrossSectionPoint(), G4PenelopeCrossSection::AddShellCrossSectionPoint(), BuildDeltaTable(), ComputeShellCrossSectionsElectron(), ComputeShellCrossSectionsPositron(), G4Electron::Electron(), G4INCL::KinematicsUtils::energy(), energyGrid, FatalException, G4cout, G4endl, G4Exception(), GetDensityCorrection(), G4PhysicsVector::GetLowEdgeEnergy(), G4Material::GetName(), G4PenelopeOscillator::GetOscillatorStrength(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4ParticleDefinition::GetParticleName(), G4PhysicsVector::GetVectorLength(), keV, nBins, G4PenelopeCrossSection::NormalizeShellCrossSections(), oscManager, G4Positron::Positron(), theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.
Referenced by G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeIonisationModel::CrossSectionPerVolume(), and G4PenelopeIonisationModel::Initialise().
|
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().
|
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().
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().
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().
|
private |
|
inline |
Setter for the verbosity level.
Definition at line 79 of file G4PenelopeIonisationXSHandler.hh.
References verboseLevel.
Referenced by G4PenelopeIonisationModel::Initialise().
|
private |
Definition at line 110 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), G4PenelopeIonisationXSHandler(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 111 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), and G4PenelopeIonisationXSHandler().
|
private |
Definition at line 100 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), and G4PenelopeIonisationXSHandler().
|
private |
Definition at line 107 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), G4PenelopeIonisationXSHandler(), GetDensityCorrection(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 113 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), SetVerboseLevel(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 103 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), GetCrossSectionTableForCouple(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 104 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), GetCrossSectionTableForCouple(), and ~G4PenelopeIonisationXSHandler().