Geant4  10.00.p02
G4PenelopeIonisationCrossSection Class Reference

#include <G4PenelopeIonisationCrossSection.hh>

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

Public Member Functions

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

Private Member Functions

G4PenelopeIonisationCrossSectionoperator= (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

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 58 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 46 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 67 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 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().

+ 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 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().

+ 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 166 of file G4PenelopeIonisationCrossSection.cc.

References CrossSection(), G4INCL::Math::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 95 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 182 of file G4PenelopeIonisationCrossSection.cc.

References GetCrossSection(), and n.

+ Here is the call graph for this function:

void G4PenelopeIonisationCrossSection::SetVerbosityLevel ( G4int  vl)
inline

Getter/setter for the verbosity level.

Definition at line 94 of file G4PenelopeIonisationCrossSection.hh.

References verboseLevel.

Member Data Documentation

G4double G4PenelopeIonisationCrossSection::fHighEnergyLimit
private
G4double G4PenelopeIonisationCrossSection::fLowEnergyLimit
private
G4int G4PenelopeIonisationCrossSection::nMaxLevels
private
G4PenelopeOscillatorManager* G4PenelopeIonisationCrossSection::oscManager
private
std::map< std::pair<const G4Material*,G4int>, G4DataVector*>* G4PenelopeIonisationCrossSection::shellIDTable
private

Definition at line 111 of file G4PenelopeIonisationCrossSection.hh.

Referenced by FindShellIDIndex().

G4PenelopeIonisationXSHandler* G4PenelopeIonisationCrossSection::theCrossSectionHandler
private
const G4AtomicTransitionManager* G4PenelopeIonisationCrossSection::transitionManager
private
G4int G4PenelopeIonisationCrossSection::verboseLevel
private

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