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

#include <geant4/tree/geant4-10.6-release/examples/advanced/eRosita/physics/include/G4RDVCrossSectionHandler.hh>

+ Inheritance diagram for G4RDVCrossSectionHandler:
+ Collaboration diagram for G4RDVCrossSectionHandler:

Public Member Functions

 G4RDVCrossSectionHandler ()
 
 G4RDVCrossSectionHandler (G4RDVDataSetAlgorithm *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 ~G4RDVCrossSectionHandler ()
 
void Initialise (G4RDVDataSetAlgorithm *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
 
G4RDVEMDataSetBuildMeanFreePathForMaterials (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 LoadShellData (const G4String &dataFile)
 
void PrintData () const
 
void Clear ()
 

Protected Member Functions

G4int NumberOfComponents (G4int Z) const
 
void ActiveElements ()
 
virtual std::vector
< G4RDVEMDataSet * > * 
BuildCrossSectionsForMaterials (const G4DataVector &energyVector, const G4DataVector *energyCuts=0)=0
 
virtual G4RDVDataSetAlgorithmCreateInterpolation ()
 
const G4RDVDataSetAlgorithmGetInterpolation () const
 

Private Member Functions

 G4RDVCrossSectionHandler (const G4RDVCrossSectionHandler &)
 
G4RDVCrossSectionHandleroperator= (const G4RDVCrossSectionHandler &right)
 

Private Attributes

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

Detailed Description

Definition at line 62 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 62 of file G4RDVCrossSectionHandler.hh

Constructor & Destructor Documentation

G4RDVCrossSectionHandler::G4RDVCrossSectionHandler ( )

Definition at line 57 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 57 of file G4RDVCrossSectionHandler.cc

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

+ Here is the call graph for this function:

G4RDVCrossSectionHandler::G4RDVCrossSectionHandler ( G4RDVDataSetAlgorithm 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 66 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 66 of file G4RDVCrossSectionHandler.cc

References ActiveElements(), and crossSections.

+ Here is the call graph for this function:

G4RDVCrossSectionHandler::~G4RDVCrossSectionHandler ( )
virtual

Definition at line 81 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 81 of file G4RDVCrossSectionHandler.cc

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

+ Here is the call graph for this function:

G4RDVCrossSectionHandler::G4RDVCrossSectionHandler ( const G4RDVCrossSectionHandler )
private

Member Function Documentation

void G4RDVCrossSectionHandler::ActiveElements ( )
protected

Definition at line 622 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 622 of file G4RDVCrossSectionHandler.cc

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

Referenced by Clear(), and G4RDVCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implemented in G4RDeIonisationCrossSectionHandler, G4RDBremsstrahlungCrossSectionHandler, and G4RDCrossSectionHandler.

Referenced by BuildMeanFreePathForMaterials().

+ Here is the caller graph for this function:

G4RDVEMDataSet * G4RDVCrossSectionHandler::BuildMeanFreePathForMaterials ( const G4DataVector energyCuts = 0)

Definition at line 414 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 414 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyRayleigh::BuildPhysicsTable(), G4LowEnergyCompton::BuildPhysicsTable(), G4LowEnergyGammaConversion::BuildPhysicsTable(), G4LowEnergyPhotoElectric::BuildPhysicsTable(), and G4LowEnergyPolarizedCompton::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RDVCrossSectionHandler::Clear ( )

Definition at line 304 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 304 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyRayleigh::BuildPhysicsTable(), G4LowEnergyCompton::BuildPhysicsTable(), G4LowEnergyGammaConversion::BuildPhysicsTable(), G4LowEnergyPhotoElectric::BuildPhysicsTable(), and G4LowEnergyPolarizedCompton::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4RDVDataSetAlgorithm * G4RDVCrossSectionHandler::CreateInterpolation ( )
protectedvirtual

Definition at line 649 of file G4RDVCrossSectionHandler.cc.

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

References algorithm.

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

+ Here is the caller graph for this function:

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

Definition at line 330 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 330 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4RDCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDBremsstrahlungCrossSectionHandler::BuildCrossSectionsForMaterials(), G4RDeIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), G4LowEnergyBremsstrahlung::BuildLossTable(), G4LowEnergyIonisation::BuildLossTable(), SelectRandomShell(), and ValueForMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 353 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 353 of file G4RDVCrossSectionHandler.cc

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

+ Here is the call graph for this function:

const G4RDVDataSetAlgorithm* G4RDVCrossSectionHandler::GetInterpolation ( ) const
inlineprotected

Definition at line 118 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 118 of file G4RDVCrossSectionHandler.hh

References interpolation.

void G4RDVCrossSectionHandler::Initialise ( G4RDVDataSetAlgorithm 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 109 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 109 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyBremsstrahlung::BuildPhysicsTable(), G4LowEnergyGammaConversion::G4LowEnergyGammaConversion(), G4RDeIonisationCrossSectionHandler::G4RDeIonisationCrossSectionHandler(), and G4RDVCrossSectionHandler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RDVCrossSectionHandler::LoadData ( const G4String dataFile)

Definition at line 155 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 155 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyRayleigh::BuildPhysicsTable(), G4LowEnergyCompton::BuildPhysicsTable(), G4LowEnergyGammaConversion::BuildPhysicsTable(), G4LowEnergyPhotoElectric::BuildPhysicsTable(), and G4LowEnergyPolarizedCompton::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RDVCrossSectionHandler::LoadShellData ( const G4String dataFile)

Definition at line 223 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 223 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyPhotoElectric::BuildPhysicsTable(), G4LowEnergyIonisation::BuildPhysicsTable(), and G4LowEnergyBremsstrahlung::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4RDVCrossSectionHandler::NumberOfComponents ( G4int  Z) const
protected

Definition at line 655 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 655 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4RDeIonisationCrossSectionHandler::BuildCrossSectionsForMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 134 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 134 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyIonisation::BuildPhysicsTable(), and G4LowEnergyBremsstrahlung::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 496 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 496 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyRayleigh::PostStepDoIt(), G4LowEnergyCompton::PostStepDoIt(), G4LowEnergyPhotoElectric::PostStepDoIt(), G4LowEnergyPolarizedCompton::PostStepDoIt(), G4LowEnergyIonisation::PostStepDoIt(), and G4LowEnergyBremsstrahlung::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 538 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 538 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyGammaConversion::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 584 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 584 of file G4RDVCrossSectionHandler.cc

References dataMap, G4RDVEMDataSet::FindValue(), FindValue(), G4UniformRand, G4RDVEMDataSet::GetComponent(), G4RDVEMDataSet::NumberOfComponents(), and pos().

Referenced by G4LowEnergyIonisation::DeexciteAtom(), G4LowEnergyPhotoElectric::PostStepDoIt(), and G4LowEnergyIonisation::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 393 of file G4RDVCrossSectionHandler.cc.

View newest version in sPHENIX GitHub at line 393 of file G4RDVCrossSectionHandler.cc

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

Referenced by G4LowEnergyPhotoElectric::GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4DataVector G4RDVCrossSectionHandler::activeZ
private

Definition at line 139 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 139 of file G4RDVCrossSectionHandler.hh

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

std::vector<G4RDVEMDataSet*>* G4RDVCrossSectionHandler::crossSections
private

Definition at line 143 of file G4RDVCrossSectionHandler.hh.

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

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

std::map<G4int,G4RDVEMDataSet*,std::less<G4int> > G4RDVCrossSectionHandler::dataMap
private

Definition at line 141 of file G4RDVCrossSectionHandler.hh.

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

Referenced by Clear(), FindValue(), LoadData(), LoadShellData(), NumberOfComponents(), PrintData(), SelectRandomShell(), and ~G4RDVCrossSectionHandler().

G4double G4RDVCrossSectionHandler::eMax
private

Definition at line 130 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 130 of file G4RDVCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4double G4RDVCrossSectionHandler::eMin
private

Definition at line 129 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 129 of file G4RDVCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4RDVDataSetAlgorithm* G4RDVCrossSectionHandler::interpolation
private

Definition at line 127 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 127 of file G4RDVCrossSectionHandler.hh

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

G4int G4RDVCrossSectionHandler::nBins
private

Definition at line 131 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 131 of file G4RDVCrossSectionHandler.hh

Referenced by BuildMeanFreePathForMaterials(), and Initialise().

G4double G4RDVCrossSectionHandler::unit1
private

Definition at line 133 of file G4RDVCrossSectionHandler.hh.

View newest version in sPHENIX GitHub at line 133 of file G4RDVCrossSectionHandler.hh

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

G4double G4RDVCrossSectionHandler::unit2
private

Definition at line 134 of file G4RDVCrossSectionHandler.hh.

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

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

G4int G4RDVCrossSectionHandler::zMax
private

Definition at line 137 of file G4RDVCrossSectionHandler.hh.

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

Referenced by ActiveElements(), and Initialise().

G4int G4RDVCrossSectionHandler::zMin
private

Definition at line 136 of file G4RDVCrossSectionHandler.hh.

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

Referenced by ActiveElements(), and Initialise().


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