ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4PenelopeIonisationCrossSection Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisationCrossSection.hh>

+ Inheritance diagram for G4PenelopeIonisationCrossSection:
+ Collaboration diagram for G4PenelopeIonisationCrossSection:

Public Member Functions

 G4PenelopeIonisationCrossSection ()
 Constructor.
 
 ~G4PenelopeIonisationCrossSection ()
 Destructor. Clean all tables.
 
std::vector< G4doubleGetCrossSection (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< G4doubleProbabilities (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 G4StringGetName () const
 

Private Member Functions

G4PenelopeIonisationCrossSectionoperator= (const G4PenelopeIonisationCrossSection &right)
 
 G4PenelopeIonisationCrossSection (const G4PenelopeIonisationCrossSection &)
 
G4int FindShellIDIndex (const G4Material *mat, G4int Z, G4AtomicShellEnumerator shell)
 

Private Attributes

G4PenelopeOscillatorManageroscManager
 
G4int verboseLevel
 
std::map< std::pair< const
G4Material *, G4int >
, G4DataVector * > * 
shellIDTable
 
G4int nMaxLevels
 
G4double fLowEnergyLimit
 
G4double fHighEnergyLimit
 
G4PenelopeIonisationXSHandlertheCrossSectionHandler
 
const G4AtomicTransitionManagertransitionManager
 

Detailed Description

Definition at line 57 of file G4PenelopeIonisationCrossSection.hh.

View newest version in sPHENIX GitHub at line 57 of file G4PenelopeIonisationCrossSection.hh

Constructor & Destructor Documentation

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.

+ Here is the call graph for this function:

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.

G4PenelopeIonisationCrossSection::G4PenelopeIonisationCrossSection ( const G4PenelopeIonisationCrossSection )
private

Member Function Documentation

G4double G4PenelopeIonisationCrossSection::CrossSection ( G4int  Z,
G4AtomicShellEnumerator  shell,
G4double  incidentEnergy,
G4double  mass,
const G4Material mat 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4PenelopeIonisationCrossSection::FindShellIDIndex ( const G4Material mat,
G4int  Z,
G4AtomicShellEnumerator  shell 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< G4double > G4PenelopeIonisationCrossSection::GetCrossSection ( G4int  Z,
G4double  incidentEnergy,
G4double  mass,
G4double  deltaEnergy,
const G4Material mat 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4PenelopeIonisationCrossSection::GetVerbosityLevel ( )
inline

Definition at line 94 of file G4PenelopeIonisationCrossSection.hh.

View newest version in sPHENIX GitHub at line 94 of file G4PenelopeIonisationCrossSection.hh

References verboseLevel.

G4PenelopeIonisationCrossSection& G4PenelopeIonisationCrossSection::operator= ( const G4PenelopeIonisationCrossSection right)
private
std::vector< G4double > G4PenelopeIonisationCrossSection::Probabilities ( G4int  Z,
G4double  incidentEnergy,
G4double  mass,
G4double  deltaEnergy,
const G4Material mat 
)
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.

+ Here is the call graph for this function:

void G4PenelopeIonisationCrossSection::SetVerbosityLevel ( G4int  vl)
inline

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.

Member Data Documentation

G4double G4PenelopeIonisationCrossSection::fHighEnergyLimit
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().

G4double G4PenelopeIonisationCrossSection::fLowEnergyLimit
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().

G4int G4PenelopeIonisationCrossSection::nMaxLevels
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().

G4PenelopeOscillatorManager* G4PenelopeIonisationCrossSection::oscManager
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().

std::map< std::pair<const G4Material*,G4int>, G4DataVector*>* G4PenelopeIonisationCrossSection::shellIDTable
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().

G4PenelopeIonisationXSHandler* G4PenelopeIonisationCrossSection::theCrossSectionHandler
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().

const G4AtomicTransitionManager* G4PenelopeIonisationCrossSection::transitionManager
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().

G4int G4PenelopeIonisationCrossSection::verboseLevel
private

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