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

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

+ Collaboration diagram for G4PenelopeIonisationXSHandler:

Public Member Functions

 G4PenelopeIonisationXSHandler (size_t nBins=200)
 
virtual ~G4PenelopeIonisationXSHandler ()
 Destructor. Clean all tables.
 
G4double GetDensityCorrection (const G4Material *, const G4double energy) const
 Returns the density coeection for the material at the given energy.
 
const G4PenelopeCrossSectionGetCrossSectionTableForCouple (const G4ParticleDefinition *, const G4Material *, const G4double cut) const
 
void SetVerboseLevel (G4int vl)
 Setter for the verbosity level.
 
void BuildXSTable (const G4Material *, G4double cut, const G4ParticleDefinition *, G4bool isMaster=true)
 This can be inkoved only by the master.
 

Private Member Functions

G4PenelopeIonisationXSHandleroperator= (const G4PenelopeIonisationXSHandler &right)
 
 G4PenelopeIonisationXSHandler (const G4PenelopeIonisationXSHandler &)
 
void BuildDeltaTable (const G4Material *)
 
G4DataVectorComputeShellCrossSectionsElectron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta)
 
G4DataVectorComputeShellCrossSectionsPositron (G4PenelopeOscillator *, G4double energy, G4double cut, G4double delta)
 

Private Attributes

G4PenelopeOscillatorManageroscManager
 
std::map< std::pair< const
G4Material *, G4double >
, G4PenelopeCrossSection * > * 
XSTableElectron
 
std::map< std::pair< const
G4Material *, G4double >
, G4PenelopeCrossSection * > * 
XSTablePositron
 
std::map< const G4Material
*, G4PhysicsFreeVector * > * 
theDeltaTable
 
G4PhysicsLogVectorenergyGrid
 
size_t nBins
 
G4int verboseLevel
 

Detailed Description

Definition at line 59 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 59 of file G4PenelopeIonisationXSHandler.hh

Constructor & Destructor Documentation

G4PenelopeIonisationXSHandler::G4PenelopeIonisationXSHandler ( size_t  nBins = 200)

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.

View newest version in sPHENIX GitHub at line 46 of file G4PenelopeIonisationXSHandler.cc

References energyGrid, eV, G4PenelopeOscillatorManager::GetOscillatorManager(), GeV, nBins, oscManager, theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.

+ Here is the call graph for this function:

G4PenelopeIonisationXSHandler::~G4PenelopeIonisationXSHandler ( )
virtual

Destructor. Clean all tables.

Definition at line 69 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 69 of file G4PenelopeIonisationXSHandler.cc

References energyGrid, G4cout, G4endl, theDeltaTable, verboseLevel, XSTableElectron, and XSTablePositron.

G4PenelopeIonisationXSHandler::G4PenelopeIonisationXSHandler ( const G4PenelopeIonisationXSHandler )
private

Member Function Documentation

void G4PenelopeIonisationXSHandler::BuildDeltaTable ( const G4Material mat)
private

Definition at line 322 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 322 of file G4PenelopeIonisationXSHandler.cc

References bin, Acts::Test::delta, e, source.hepunit::electron_mass_c2, energy, energyGrid, eV, FatalException, G4endl, G4Exception(), G4InuclParticleNames::gam, G4PhysicsVector::GetLowEdgeEnergy(), G4PenelopeOscillator::GetOscillatorStrength(), G4PenelopeOscillatorManager::GetOscillatorTableIonisation(), G4PenelopeOscillatorManager::GetPlasmaEnergySquared(), G4PenelopeOscillator::GetResonanceEnergy(), G4PenelopeOscillatorManager::GetTotalZ(), G4PhysicsVector::GetVectorLength(), max, nBins, oscManager, G4PhysicsFreeVector::PutValue(), and theDeltaTable.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeIonisationXSHandler::BuildXSTable ( const G4Material mat,
G4double  cut,
const G4ParticleDefinition part,
G4bool  isMaster = true 
)
G4DataVector * G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsElectron ( G4PenelopeOscillator theOsc,
G4double  energy,
G4double  cut,
G4double  delta 
)
private

Definition at line 425 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 425 of file G4PenelopeIonisationXSHandler.cc

References source.hepunit::classic_electr_radius, cp, e, source.hepunit::electron_mass_c2, eV, G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), max, and pi.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DataVector * G4PenelopeIonisationXSHandler::ComputeShellCrossSectionsPositron ( G4PenelopeOscillator theOsc,
G4double  energy,
G4double  cut,
G4double  delta 
)
private

Definition at line 557 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 557 of file G4PenelopeIonisationXSHandler.cc

References source.hepunit::classic_electr_radius, cp, e, source.hepunit::electron_mass_c2, energy, eV, G4PenelopeOscillator::GetCutoffRecoilResonantEnergy(), G4PenelopeOscillator::GetIonisationEnergy(), G4PenelopeOscillator::GetResonanceEnergy(), max, and pi.

Referenced by BuildXSTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 110 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 110 of file G4PenelopeIonisationXSHandler.cc

References G4Electron::Electron(), FatalException, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), G4Positron::Positron(), XSTableElectron, and XSTablePositron.

Referenced by G4PenelopeIonisationModel::ComputeDEDXPerVolume(), G4PenelopeIonisationCrossSection::CrossSection(), G4PenelopeIonisationModel::CrossSectionPerVolume(), G4PenelopeIonisationModel::SampleFinalStateElectron(), and G4PenelopeIonisationModel::SampleFinalStatePositron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeIonisationXSHandler::GetDensityCorrection ( const G4Material mat,
const G4double  energy 
) const

Returns the density coeection for the material at the given energy.

Definition at line 285 of file G4PenelopeIonisationXSHandler.cc.

View newest version in sPHENIX GitHub at line 285 of file G4PenelopeIonisationXSHandler.cc

References eV, FatalException, G4cout, G4endl, G4Exception(), G4Material::GetName(), theDeltaTable, and G4PhysicsVector::Value().

Referenced by BuildXSTable(), G4PenelopeIonisationModel::SampleFinalStateElectron(), and G4PenelopeIonisationModel::SampleFinalStatePositron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PenelopeIonisationXSHandler& G4PenelopeIonisationXSHandler::operator= ( const G4PenelopeIonisationXSHandler right)
private
void G4PenelopeIonisationXSHandler::SetVerboseLevel ( G4int  vl)
inline

Setter for the verbosity level.

Definition at line 78 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 78 of file G4PenelopeIonisationXSHandler.hh

References verboseLevel.

Referenced by G4PenelopeIonisationModel::Initialise().

+ Here is the caller graph for this function:

Member Data Documentation

G4PhysicsLogVector* G4PenelopeIonisationXSHandler::energyGrid
private

Definition at line 109 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 109 of file G4PenelopeIonisationXSHandler.hh

Referenced by BuildDeltaTable(), BuildXSTable(), G4PenelopeIonisationXSHandler(), and ~G4PenelopeIonisationXSHandler().

size_t G4PenelopeIonisationXSHandler::nBins
private

Definition at line 110 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 110 of file G4PenelopeIonisationXSHandler.hh

Referenced by BuildDeltaTable(), BuildXSTable(), and G4PenelopeIonisationXSHandler().

G4PenelopeOscillatorManager* G4PenelopeIonisationXSHandler::oscManager
private

Definition at line 99 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 99 of file G4PenelopeIonisationXSHandler.hh

Referenced by BuildDeltaTable(), BuildXSTable(), and G4PenelopeIonisationXSHandler().

std::map<const G4Material*,G4PhysicsFreeVector*>* G4PenelopeIonisationXSHandler::theDeltaTable
private
G4int G4PenelopeIonisationXSHandler::verboseLevel
private

Definition at line 112 of file G4PenelopeIonisationXSHandler.hh.

View newest version in sPHENIX GitHub at line 112 of file G4PenelopeIonisationXSHandler.hh

Referenced by BuildXSTable(), G4PenelopeIonisationXSHandler(), SetVerboseLevel(), and ~G4PenelopeIonisationXSHandler().

std::map< std::pair<const G4Material*,G4double>, G4PenelopeCrossSection*>* G4PenelopeIonisationXSHandler::XSTableElectron
private
std::map< std::pair<const G4Material*,G4double>, G4PenelopeCrossSection*>* G4PenelopeIonisationXSHandler::XSTablePositron
private

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