Geant4
10.00.p01
|
#include <G4PenelopeIonisationCrossSection.hh>
Public Member Functions | |
G4PenelopeIonisationCrossSection () | |
Constructor. More... | |
~G4PenelopeIonisationCrossSection () | |
Destructor. Clean all tables. More... | |
std::vector< G4double > | GetCrossSection (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat) |
Purely virtual method from the base interface. Returns the cross section for all levels of element Z in material mat at the given energy. More... | |
G4double | CrossSection (G4int Z, G4AtomicShellEnumerator shell, G4double incidentEnergy, G4double mass, const G4Material *mat) |
Purely virtual method from the base interface. Returns the cross section for the given shell in the element Z of material mat at the specified energy. More... | |
std::vector< G4double > | Probabilities (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat) |
Purely virtual method from the base interface. Returns the shell ionisation probabilities for the given Z in the material mat at the specified energy. More... | |
void | SetVerbosityLevel (G4int vl) |
Getter/setter for the verbosity level. More... | |
G4int | GetVerbosityLevel () |
Public Member Functions inherited from G4VhShellCrossSection | |
G4VhShellCrossSection (const G4String &xname="") | |
virtual | ~G4VhShellCrossSection () |
G4int | SelectRandomShell (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat) |
virtual void | SetTotalCS (G4double) |
const G4String & | GetName () const |
Private Member Functions | |
G4PenelopeIonisationCrossSection & | operator= (const G4PenelopeIonisationCrossSection &right) |
G4PenelopeIonisationCrossSection (const G4PenelopeIonisationCrossSection &) | |
G4int | FindShellIDIndex (const G4Material *mat, G4int Z, G4AtomicShellEnumerator shell) |
The shells in Penelope are organized per material, rather than per element, so given a material one has to find the proper index for the given Z and shellID. An appropriate look-up table is used to avoid recalculation. More... | |
Private Attributes | |
G4PenelopeOscillatorManager * | oscManager |
G4int | verboseLevel |
std::map< std::pair< const G4Material *, G4int > , G4DataVector * > * | shellIDTable |
G4int | nMaxLevels |
G4double | fLowEnergyLimit |
G4double | fHighEnergyLimit |
G4PenelopeIonisationXSHandler * | theCrossSectionHandler |
const G4AtomicTransitionManager * | transitionManager |
Definition at line 58 of file G4PenelopeIonisationCrossSection.hh.
G4PenelopeIonisationCrossSection::G4PenelopeIonisationCrossSection | ( | ) |
Constructor.
NOTICE: working only for e- at the moment (no interface available for e+)
Definition at line 46 of file G4PenelopeIonisationCrossSection.cc.
References eV, fHighEnergyLimit, fLowEnergyLimit, G4PenelopeOscillatorManager::GetOscillatorManager(), GeV, G4AtomicTransitionManager::Instance(), nMaxLevels, oscManager, transitionManager, and verboseLevel.
G4PenelopeIonisationCrossSection::~G4PenelopeIonisationCrossSection | ( | ) |
Destructor. Clean all tables.
Definition at line 67 of file G4PenelopeIonisationCrossSection.cc.
References theCrossSectionHandler.
|
private |
|
virtual |
Purely virtual method from the base interface. Returns the cross section for the given shell in the element Z of material mat at the specified energy.
Implements G4VhShellCrossSection.
Definition at line 75 of file G4PenelopeIonisationCrossSection.cc.
References barn, G4PenelopeIonisationXSHandler::BuildXSTable(), G4Electron::Electron(), eV, FatalException, fHighEnergyLimit, FindShellIDIndex(), fLowEnergyLimit, G4cout, G4endl, G4Exception(), G4PenelopeIonisationXSHandler::GetCrossSectionTableForCouple(), G4PenelopeOscillator::GetIonisationEnergy(), G4Material::GetName(), G4PenelopeOscillatorManager::GetNumberOfZAtomsPerMolecule(), G4PenelopeOscillatorManager::GetOscillatorIonisation(), G4PenelopeOscillator::GetParentZ(), G4PenelopeOscillator::GetResonanceEnergy(), G4PenelopeCrossSection::GetShellCrossSection(), G4PenelopeOscillator::GetShellFlag(), JustWarning, keV, G4INCL::Math::min(), nmax, nMaxLevels, G4AtomicTransitionManager::NumberOfShells(), oscManager, theCrossSectionHandler, transitionManager, and verboseLevel.
Referenced by GetCrossSection().
|
private |
The shells in Penelope are organized per material, rather than per element, so given a material one has to find the proper index for the given Z and shellID. An appropriate look-up table is used to avoid recalculation.
Definition at line 202 of file G4PenelopeIonisationCrossSection.cc.
References G4cout, G4endl, G4Exception(), G4Material::GetName(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillator::GetParentZ(), G4PenelopeOscillator::GetShellFlag(), JustWarning, nMaxLevels, oscManager, shellIDTable, and verboseLevel.
Referenced by CrossSection().
|
virtual |
Purely virtual method from the base interface. Returns the cross section for all levels of element Z in material mat at the given energy.
Implements G4VhShellCrossSection.
Definition at line 166 of file G4PenelopeIonisationCrossSection.cc.
References CrossSection(), G4INCL::Math::min(), nmax, nMaxLevels, G4AtomicTransitionManager::NumberOfShells(), and transitionManager.
Referenced by Probabilities().
|
inline |
Definition at line 95 of file G4PenelopeIonisationCrossSection.hh.
References verboseLevel.
|
private |
|
virtual |
Purely virtual method from the base interface. Returns the shell ionisation probabilities for the given Z in the material mat at the specified energy.
Implements G4VhShellCrossSection.
Definition at line 182 of file G4PenelopeIonisationCrossSection.cc.
References GetCrossSection(), and n.
|
inline |
Getter/setter for the verbosity level.
Definition at line 94 of file G4PenelopeIonisationCrossSection.hh.
References verboseLevel.
|
private |
Definition at line 116 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 115 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 113 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), FindShellIDIndex(), G4PenelopeIonisationCrossSection(), and GetCrossSection().
|
private |
Definition at line 102 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), FindShellIDIndex(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 111 of file G4PenelopeIonisationCrossSection.hh.
Referenced by FindShellIDIndex().
|
private |
Definition at line 118 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), and ~G4PenelopeIonisationCrossSection().
|
private |
Definition at line 119 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), G4PenelopeIonisationCrossSection(), and GetCrossSection().
|
private |
Definition at line 104 of file G4PenelopeIonisationCrossSection.hh.
Referenced by CrossSection(), FindShellIDIndex(), G4PenelopeIonisationCrossSection(), GetVerbosityLevel(), and SetVerbosityLevel().