ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Public Member Functions | |
G4PenelopeIonisationCrossSection () | |
Constructor. | |
~G4PenelopeIonisationCrossSection () | |
Destructor. Clean all tables. | |
std::vector< G4double > | GetCrossSection (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat) |
G4double | CrossSection (G4int Z, G4AtomicShellEnumerator shell, G4double incidentEnergy, G4double mass, const G4Material *mat) |
std::vector< G4double > | Probabilities (G4int Z, G4double incidentEnergy, G4double mass, G4double deltaEnergy, const G4Material *mat) |
void | SetVerbosityLevel (G4int vl) |
Getter/setter for the verbosity level. | |
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) |
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 57 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 57 of file G4PenelopeIonisationCrossSection.hh
G4PenelopeIonisationCrossSection::G4PenelopeIonisationCrossSection | ( | ) |
Constructor.
NOTICE: working only for e- at the moment (no interface available for e+)
Definition at line 45 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 45 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 66 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 66 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 74 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 74 of file G4PenelopeIonisationCrossSection.cc
References barn, G4PenelopeIonisationXSHandler::BuildXSTable(), Acts::VectorHelpers::cross(), 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, min, nmax, nMaxLevels, G4AtomicTransitionManager::NumberOfShells(), oscManager, theCrossSectionHandler, transitionManager, verboseLevel, and Z.
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 201 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 201 of file G4PenelopeIonisationCrossSection.cc
References G4cout, G4endl, G4Exception(), G4Material::GetName(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillator::GetParentZ(), G4PenelopeOscillator::GetShellFlag(), JustWarning, nMaxLevels, oscManager, shellIDTable, verboseLevel, and Z.
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 165 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 165 of file G4PenelopeIonisationCrossSection.cc
References CrossSection(), min, nmax, nMaxLevels, G4AtomicTransitionManager::NumberOfShells(), and transitionManager.
Referenced by Probabilities().
|
inline |
Definition at line 94 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 94 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 181 of file G4PenelopeIonisationCrossSection.cc.
View newest version in sPHENIX GitHub at line 181 of file G4PenelopeIonisationCrossSection.cc
References GetCrossSection(), n, and sum.
Getter/setter for the verbosity level.
Definition at line 93 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 93 of file G4PenelopeIonisationCrossSection.hh
References verboseLevel.
|
private |
Definition at line 115 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 115 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 114 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 114 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 112 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 112 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), FindShellIDIndex(), G4PenelopeIonisationCrossSection(), and GetCrossSection().
|
private |
Definition at line 101 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 101 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), FindShellIDIndex(), and G4PenelopeIonisationCrossSection().
|
private |
Definition at line 110 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 110 of file G4PenelopeIonisationCrossSection.hh
Referenced by FindShellIDIndex().
|
private |
Definition at line 117 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 117 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), and ~G4PenelopeIonisationCrossSection().
|
private |
Definition at line 118 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 118 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), G4PenelopeIonisationCrossSection(), and GetCrossSection().
|
private |
Definition at line 103 of file G4PenelopeIonisationCrossSection.hh.
View newest version in sPHENIX GitHub at line 103 of file G4PenelopeIonisationCrossSection.hh
Referenced by CrossSection(), FindShellIDIndex(), G4PenelopeIonisationCrossSection(), GetVerbosityLevel(), and SetVerbosityLevel().