Geant4-11
|
#include <G4PenelopeIonisationXSHandler.hh>
Public Member Functions | |
void | BuildXSTable (const G4Material *, G4double cut, const G4ParticleDefinition *, G4bool isMaster=true) |
This can be inkoved only by the master. More... | |
G4PenelopeIonisationXSHandler (const G4PenelopeIonisationXSHandler &)=delete | |
G4PenelopeIonisationXSHandler (size_t nBins=200) | |
const G4PenelopeCrossSection * | GetCrossSectionTableForCouple (const G4ParticleDefinition *, const G4Material *, const G4double cut) const |
G4double | GetDensityCorrection (const G4Material *, const G4double energy) const |
Returns the density coeection for the material at the given energy. More... | |
G4PenelopeIonisationXSHandler & | operator= (const G4PenelopeIonisationXSHandler &right)=delete |
void | SetVerboseLevel (G4int vl) |
Setter for the verbosity level. More... | |
virtual | ~G4PenelopeIonisationXSHandler () |
Destructor. Clean all tables. More... | |
Private Member Functions | |
void | BuildDeltaTable (const G4Material *) |
G4DataVector * | ComputeShellCrossSectionsElectron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta) |
G4DataVector * | ComputeShellCrossSectionsPositron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta) |
Private Attributes | |
std::map< const G4Material *, G4PhysicsFreeVector * > * | fDeltaTable |
G4PhysicsLogVector * | fEnergyGrid |
size_t | fNBins |
G4PenelopeOscillatorManager * | fOscManager |
G4int | fVerboseLevel |
std::map< std::pair< const G4Material *, G4double >, G4PenelopeCrossSection * > * | fXSTableElectron |
std::map< std::pair< const G4Material *, G4double >, G4PenelopeCrossSection * > * | fXSTablePositron |
Definition at line 59 of file G4PenelopeIonisationXSHandler.hh.
|
explicit |
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 46 of file G4PenelopeIonisationXSHandler.cc.
References eV, fDeltaTable, fEnergyGrid, fNBins, fOscManager, fVerboseLevel, fXSTableElectron, fXSTablePositron, G4PenelopeOscillatorManager::GetOscillatorManager(), and GeV.
|
virtual |
Destructor. Clean all tables.
Definition at line 68 of file G4PenelopeIonisationXSHandler.cc.
References fDeltaTable, fEnergyGrid, fVerboseLevel, fXSTableElectron, fXSTablePositron, G4cout, and G4endl.
|
delete |
|
private |
Definition at line 321 of file G4PenelopeIonisationXSHandler.cc.
References source.hepunit::electron_mass_c2, G4INCL::KinematicsUtils::energy(), eV, FatalException, fDeltaTable, fEnergyGrid, fNBins, fOscManager, G4endl, G4Exception(), G4Log(), G4InuclParticleNames::gam, G4PhysicsVector::GetLowEdgeEnergy(), G4PenelopeOscillator::GetOscillatorStrength(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillatorManager::GetPlasmaEnergySquared(), G4PenelopeOscillator::GetResonanceEnergy(), G4PenelopeOscillatorManager::GetTotalZ(), G4PhysicsVector::GetVectorLength(), G4INCL::Math::max(), and G4PhysicsFreeVector::PutValue().
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 158 of file G4PenelopeIonisationXSHandler.cc.
References G4PenelopeCrossSection::AddCrossSectionPoint(), G4PenelopeCrossSection::AddShellCrossSectionPoint(), BuildDeltaTable(), ComputeShellCrossSectionsElectron(), ComputeShellCrossSectionsPositron(), G4Electron::Electron(), G4INCL::KinematicsUtils::energy(), FatalException, fDeltaTable, fEnergyGrid, fNBins, fOscManager, fVerboseLevel, fXSTableElectron, fXSTablePositron, G4cout, G4endl, G4Exception(), GetDensityCorrection(), G4PhysicsVector::GetLowEdgeEnergy(), G4Material::GetName(), G4PenelopeOscillator::GetOscillatorStrength(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4ParticleDefinition::GetParticleName(), G4PhysicsVector::GetVectorLength(), keV, G4PenelopeCrossSection::NormalizeShellCrossSections(), and G4Positron::Positron().
Referenced by G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeIonisationModel::CrossSectionPerVolume(), and G4PenelopeIonisationModel::Initialise().
|
private |
Definition at line 424 of file G4PenelopeIonisationXSHandler.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::classic_electr_radius, cp, source.hepunit::electron_mass_c2, G4INCL::KinematicsUtils::energy(), eV, G4Log(), G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), G4INCL::Math::max(), and pi.
Referenced by BuildXSTable().
|
private |
Definition at line 556 of file G4PenelopeIonisationXSHandler.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::classic_electr_radius, cp, source.hepunit::electron_mass_c2, G4INCL::KinematicsUtils::energy(), eV, G4Log(), G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), G4INCL::Math::max(), and 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 109 of file G4PenelopeIonisationXSHandler.cc.
References G4Electron::Electron(), FatalException, fXSTableElectron, fXSTablePositron, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), and G4Positron::Positron().
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 284 of file G4PenelopeIonisationXSHandler.cc.
References G4INCL::KinematicsUtils::energy(), eV, FatalException, fDeltaTable, G4cout, G4endl, G4Exception(), G4Log(), G4Material::GetName(), and G4PhysicsVector::Value().
Referenced by BuildXSTable(), G4PenelopeIonisationModel::SampleFinalStateElectron(), and G4PenelopeIonisationModel::SampleFinalStatePositron().
|
delete |
|
inline |
Setter for the verbosity level.
Definition at line 77 of file G4PenelopeIonisationXSHandler.hh.
References fVerboseLevel.
Referenced by G4PenelopeIonisationModel::Initialise().
|
private |
Definition at line 105 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), G4PenelopeIonisationXSHandler(), GetDensityCorrection(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 108 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 98 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildDeltaTable(), BuildXSTable(), and G4PenelopeIonisationXSHandler().
|
private |
Definition at line 110 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), SetVerboseLevel(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 101 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), GetCrossSectionTableForCouple(), and ~G4PenelopeIonisationXSHandler().
|
private |
Definition at line 102 of file G4PenelopeIonisationXSHandler.hh.
Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), GetCrossSectionTableForCouple(), and ~G4PenelopeIonisationXSHandler().