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

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

+ Inheritance diagram for G4VCrossSectionHandler:
+ Collaboration diagram for G4VCrossSectionHandler:

Public Member Functions

 G4VCrossSectionHandler ()
 
 G4VCrossSectionHandler (G4VDataSetAlgorithm *interpolation, G4double minE=250 *CLHEP::eV, G4double maxE=100 *CLHEP::GeV, G4int nBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=1, G4int maxZ=99)
 
virtual ~G4VCrossSectionHandler ()
 
void Initialise (G4VDataSetAlgorithm *interpolation=0, G4double minE=250 *CLHEP::eV, G4double maxE=100 *CLHEP::GeV, G4int numberOfBins=200, G4double unitE=CLHEP::MeV, G4double unitData=CLHEP::barn, G4int minZ=1, G4int maxZ=99)
 
G4int SelectRandomAtom (const G4MaterialCutsCouple *couple, G4double e) const
 
const G4ElementSelectRandomElement (const G4MaterialCutsCouple *material, G4double e) const
 
G4int SelectRandomShell (G4int Z, G4double e) const
 
G4VEMDataSetBuildMeanFreePathForMaterials (const G4DataVector *energyCuts=0)
 
G4double FindValue (G4int Z, G4double e) const
 
G4double FindValue (G4int Z, G4double e, G4int shellIndex) const
 
G4double ValueForMaterial (const G4Material *material, G4double e) const
 
void LoadData (const G4String &dataFile)
 
void LoadNonLogData (const G4String &dataFile)
 
void LoadShellData (const G4String &dataFile)
 
void PrintData () const
 
void Clear ()
 

Protected Member Functions

G4int NumberOfComponents (G4int Z) const
 
void ActiveElements ()
 
virtual std::vector
< G4VEMDataSet * > * 
BuildCrossSectionsForMaterials (const G4DataVector &energyVector, const G4DataVector *energyCuts=0)=0
 
virtual G4VDataSetAlgorithmCreateInterpolation ()
 
const G4VDataSetAlgorithmGetInterpolation () const
 

Private Member Functions

 G4VCrossSectionHandler (const G4VCrossSectionHandler &)
 
G4VCrossSectionHandleroperator= (const G4VCrossSectionHandler &right)
 

Private Attributes

G4VDataSetAlgorithminterpolation
 
G4double eMin
 
G4double eMax
 
G4int nBins
 
G4double unit1
 
G4double unit2
 
G4int zMin
 
G4int zMax
 
G4DataVector activeZ
 
std::map< G4int, G4VEMDataSet
*, std::less< G4int > > 
dataMap
 
std::vector< G4VEMDataSet * > * crossSections
 

Detailed Description

Definition at line 63 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 63 of file G4VCrossSectionHandler.hh

Constructor & Destructor Documentation

G4VCrossSectionHandler::G4VCrossSectionHandler ( )

Definition at line 87 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 87 of file G4VCrossSectionHandler.cc

References ActiveElements(), crossSections, Initialise(), and interpolation.

+ Here is the call graph for this function:

G4VCrossSectionHandler::G4VCrossSectionHandler ( G4VDataSetAlgorithm interpolation,
G4double  minE = 250*CLHEP::eV,
G4double  maxE = 100*CLHEP::GeV,
G4int  nBins = 200,
G4double  unitE = CLHEP::MeV,
G4double  unitData = CLHEP::barn,
G4int  minZ = 1,
G4int  maxZ = 99 
)

Definition at line 96 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 96 of file G4VCrossSectionHandler.cc

References ActiveElements(), and crossSections.

+ Here is the call graph for this function:

G4VCrossSectionHandler::~G4VCrossSectionHandler ( )
virtual

Definition at line 111 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 111 of file G4VCrossSectionHandler.cc

References crossSections, dataMap, interpolation, n, and pos().

+ Here is the call graph for this function:

G4VCrossSectionHandler::G4VCrossSectionHandler ( const G4VCrossSectionHandler )
private

Member Function Documentation

void G4VCrossSectionHandler::ActiveElements ( )
protected

Definition at line 694 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 694 of file G4VCrossSectionHandler.cc

References activeZ, G4DataVector::contains(), FatalException, G4Exception(), G4Material::GetElementVector(), G4Material::GetMaterialTable(), G4Material::GetNumberOfElements(), G4Material::GetNumberOfMaterials(), G4Element::GetZ(), material(), G4TrackingService::nMaterials, Z, zMax, and zMin.

Referenced by Clear(), and G4VCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual std::vector<G4VEMDataSet*>* G4VCrossSectionHandler::BuildCrossSectionsForMaterials ( const G4DataVector energyVector,
const G4DataVector energyCuts = 0 
)
protectedpure virtual

Implemented in G4eIonisationCrossSectionHandler, G4BremsstrahlungCrossSectionHandler, G4CrossSectionHandler, and G4eCrossSectionHandler.

Referenced by BuildMeanFreePathForMaterials().

+ Here is the caller graph for this function:

G4VEMDataSet * G4VCrossSectionHandler::BuildMeanFreePathForMaterials ( const G4DataVector energyCuts = 0)

Definition at line 462 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 462 of file G4VCrossSectionHandler.cc

References G4VEMDataSet::AddComponent(), bin, BuildCrossSectionsForMaterials(), CreateInterpolation(), crossSections, DBL_MAX, eMax, eMin, energy, FatalException, G4VEMDataSet::FindValue(), G4Exception(), G4VEMDataSet::GetComponent(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), mat, nBins, and G4VEMDataSet::NumberOfComponents().

Referenced by G4LivermoreIonisationModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VCrossSectionHandler::Clear ( )

Definition at line 352 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 352 of file G4VCrossSectionHandler.cc

References ActiveElements(), activeZ, dataMap, and pos().

Referenced by export_G4VCrossSectionHandler(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreIonisationCrossSection::Initialise(), and G4LivermoreIonisationModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VDataSetAlgorithm * G4VCrossSectionHandler::CreateInterpolation ( )
protectedvirtual

Definition at line 721 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 721 of file G4VCrossSectionHandler.cc

References algorithm.

Referenced by G4CrossSectionHandler::BuildCrossSectionsForMaterials(), BuildMeanFreePathForMaterials(), and Initialise().

+ Here is the caller graph for this function:

G4double G4VCrossSectionHandler::FindValue ( G4int  Z,
G4double  e 
) const

Definition at line 378 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 378 of file G4VCrossSectionHandler.cc

References dataMap, G4VEMDataSet::FindValue(), G4cout, G4endl, and pos().

Referenced by G4CrossSectionHandler::BuildCrossSectionsForMaterials(), G4BremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4LivermoreComptonModifiedModel::ComputeCrossSectionPerAtom(), G4LivermoreIonisationModel::ComputeDEDXPerVolume(), G4LivermoreIonisationCrossSection::CrossSection(), G4BremsstrahlungCrossSectionHandler::GetCrossSectionAboveThresholdForElement(), G4eIonisationCrossSectionHandler::GetCrossSectionAboveThresholdForElement(), SelectRandomShell(), and ValueForMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VCrossSectionHandler::FindValue ( G4int  Z,
G4double  e,
G4int  shellIndex 
) const

Definition at line 401 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 401 of file G4VCrossSectionHandler.cc

References dataMap, G4VEMDataSet::FindValue(), G4cout, G4endl, G4VEMDataSet::GetComponent(), G4VEMDataSet::NumberOfComponents(), and pos().

+ Here is the call graph for this function:

const G4VDataSetAlgorithm* G4VCrossSectionHandler::GetInterpolation ( ) const
inlineprotected

Definition at line 125 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 125 of file G4VCrossSectionHandler.hh

References interpolation.

void G4VCrossSectionHandler::Initialise ( G4VDataSetAlgorithm interpolation = 0,
G4double  minE = 250*CLHEP::eV,
G4double  maxE = 100*CLHEP::GeV,
G4int  numberOfBins = 200,
G4double  unitE = CLHEP::MeV,
G4double  unitData = CLHEP::barn,
G4int  minZ = 1,
G4int  maxZ = 99 
)

Definition at line 139 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 139 of file G4VCrossSectionHandler.cc

References algorithm, CreateInterpolation(), eMax, eMin, interpolation, maxE, maxZ, minE, nBins, unit1, unit2, zMax, and zMin.

Referenced by export_G4VCrossSectionHandler(), G4eCrossSectionHandler::G4eCrossSectionHandler(), G4eIonisationCrossSectionHandler::G4eIonisationCrossSectionHandler(), and G4VCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VCrossSectionHandler::LoadData ( const G4String dataFile)

Definition at line 186 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 186 of file G4VCrossSectionHandler.cc

References a, activeZ, G4VDataSetAlgorithm::Clone(), dataMap, e, FatalException, file, G4Exception(), interpolation, k, unit1, unit2, and Z.

Referenced by export_G4VCrossSectionHandler(), and G4LivermoreComptonModifiedModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VCrossSectionHandler::LoadNonLogData ( const G4String dataFile)

Definition at line 263 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 263 of file G4VCrossSectionHandler.cc

References a, activeZ, G4VDataSetAlgorithm::Clone(), dataMap, FatalException, file, G4Exception(), interpolation, k, unit1, unit2, and Z.

+ Here is the call graph for this function:

void G4VCrossSectionHandler::LoadShellData ( const G4String dataFile)

Definition at line 333 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 333 of file G4VCrossSectionHandler.cc

References activeZ, G4VDataSetAlgorithm::Clone(), dataMap, interpolation, G4VEMDataSet::LoadData(), and Z.

Referenced by export_G4VCrossSectionHandler(), G4LivermoreIonisationCrossSection::Initialise(), and G4LivermoreIonisationModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VCrossSectionHandler::NumberOfComponents ( G4int  Z) const
protected

Definition at line 727 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 727 of file G4VCrossSectionHandler.cc

References dataMap, G4cout, G4endl, n, G4VEMDataSet::NumberOfComponents(), and pos().

Referenced by G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), and G4eIonisationCrossSectionHandler::GetCrossSectionAboveThresholdForElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VCrossSectionHandler& G4VCrossSectionHandler::operator= ( const G4VCrossSectionHandler right)
private
void G4VCrossSectionHandler::PrintData ( void  ) const

Definition at line 165 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 165 of file G4VCrossSectionHandler.cc

References dataMap, G4cout, G4endl, pos(), G4VEMDataSet::PrintData(), and z.

Referenced by export_G4VCrossSectionHandler(), and G4LivermoreIonisationModel::Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VCrossSectionHandler::SelectRandomAtom ( const G4MaterialCutsCouple couple,
G4double  e 
) const

Definition at line 561 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 561 of file G4VCrossSectionHandler.cc

References Acts::VectorHelpers::cross(), G4VEMDataSet::FindValue(), G4UniformRand, G4VEMDataSet::GetComponent(), G4Material::GetElementVector(), G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetNumberOfElements(), G4Material::GetZ(), k, material(), and Z.

Referenced by G4LivermoreIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4Element * G4VCrossSectionHandler::SelectRandomElement ( const G4MaterialCutsCouple material,
G4double  e 
) const

Definition at line 603 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 603 of file G4VCrossSectionHandler.cc

References Acts::VectorHelpers::cross(), G4VEMDataSet::FindValue(), G4cout, G4endl, G4UniformRand, G4VEMDataSet::GetComponent(), G4Material::GetElementVector(), G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetNumberOfElements(), k, and material().

Referenced by export_G4VCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4VCrossSectionHandler::SelectRandomShell ( G4int  Z,
G4double  e 
) const

Definition at line 649 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 649 of file G4VCrossSectionHandler.cc

References dataMap, FatalException, FindValue(), G4Exception(), G4UniformRand, and pos().

Referenced by export_G4VCrossSectionHandler(), and G4LivermoreIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VCrossSectionHandler::ValueForMaterial ( const G4Material material,
G4double  e 
) const

Definition at line 441 of file G4VCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 441 of file G4VCrossSectionHandler.cc

References FindValue(), G4Material::GetElementVector(), G4Material::GetNumberOfElements(), G4Material::GetVecNbOfAtomsPerVolume(), and Z.

Referenced by export_G4VCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4DataVector G4VCrossSectionHandler::activeZ
private

Definition at line 146 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 146 of file G4VCrossSectionHandler.hh

Referenced by ActiveElements(), Clear(), LoadData(), LoadNonLogData(), and LoadShellData().

std::vector<G4VEMDataSet*>* G4VCrossSectionHandler::crossSections
private

Definition at line 150 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 150 of file G4VCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), G4VCrossSectionHandler(), and ~G4VCrossSectionHandler().

std::map<G4int,G4VEMDataSet*,std::less<G4int> > G4VCrossSectionHandler::dataMap
private
G4double G4VCrossSectionHandler::eMax
private

Definition at line 137 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 137 of file G4VCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4double G4VCrossSectionHandler::eMin
private

Definition at line 136 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 136 of file G4VCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4VDataSetAlgorithm* G4VCrossSectionHandler::interpolation
private

Definition at line 134 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 134 of file G4VCrossSectionHandler.hh

Referenced by G4VCrossSectionHandler(), GetInterpolation(), Initialise(), LoadData(), LoadNonLogData(), LoadShellData(), and ~G4VCrossSectionHandler().

G4int G4VCrossSectionHandler::nBins
private

Definition at line 138 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 138 of file G4VCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4double G4VCrossSectionHandler::unit1
private

Definition at line 140 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 140 of file G4VCrossSectionHandler.hh

Referenced by Initialise(), LoadData(), and LoadNonLogData().

G4double G4VCrossSectionHandler::unit2
private

Definition at line 141 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 141 of file G4VCrossSectionHandler.hh

Referenced by Initialise(), LoadData(), and LoadNonLogData().

G4int G4VCrossSectionHandler::zMax
private

Definition at line 144 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 144 of file G4VCrossSectionHandler.hh

Referenced by ActiveElements(), and Initialise().

G4int G4VCrossSectionHandler::zMin
private

Definition at line 143 of file G4VCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 143 of file G4VCrossSectionHandler.hh

Referenced by ActiveElements(), and Initialise().


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