Geant4
10.03
|
#include <G4VCrossSectionHandler.hh>
Protected Member Functions | |
G4int | NumberOfComponents (G4int Z) const |
void | ActiveElements () |
virtual std::vector < G4VEMDataSet * > * | BuildCrossSectionsForMaterials (const G4DataVector &energyVector, const G4DataVector *energyCuts=0)=0 |
virtual G4VDataSetAlgorithm * | CreateInterpolation () |
const G4VDataSetAlgorithm * | GetInterpolation () const |
Private Member Functions | |
G4VCrossSectionHandler (const G4VCrossSectionHandler &) | |
G4VCrossSectionHandler & | operator= (const G4VCrossSectionHandler &right) |
Private Attributes | |
G4VDataSetAlgorithm * | interpolation |
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 |
Definition at line 64 of file G4VCrossSectionHandler.hh.
G4VCrossSectionHandler::G4VCrossSectionHandler | ( | ) |
Definition at line 88 of file G4VCrossSectionHandler.cc.
References ActiveElements(), crossSections, Initialise(), and interpolation.
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 97 of file G4VCrossSectionHandler.cc.
References ActiveElements(), and crossSections.
|
virtual |
Definition at line 112 of file G4VCrossSectionHandler.cc.
References crossSections, dataMap, interpolation, n, and pos.
|
private |
|
protected |
Definition at line 695 of file G4VCrossSectionHandler.cc.
References activeZ, G4DataVector::contains(), FatalException, G4Exception(), G4Material::GetElementVector(), G4Material::GetMaterialTable(), G4Material::GetNumberOfElements(), G4Material::GetNumberOfMaterials(), G4Element::GetZ(), zMax, and zMin.
Referenced by Clear(), and G4VCrossSectionHandler().
|
protectedpure virtual |
Implemented in G4eIonisationCrossSectionHandler, G4BremsstrahlungCrossSectionHandler, G4CrossSectionHandler, and G4eCrossSectionHandler.
Referenced by BuildMeanFreePathForMaterials().
G4VEMDataSet * G4VCrossSectionHandler::BuildMeanFreePathForMaterials | ( | const G4DataVector * | energyCuts = 0 | ) |
Definition at line 463 of file G4VCrossSectionHandler.cc.
References G4VEMDataSet::AddComponent(), BuildCrossSectionsForMaterials(), CreateInterpolation(), crossSections, DBL_MAX, eMax, eMin, G4INCL::KinematicsUtils::energy(), FatalException, G4VEMDataSet::FindValue(), G4Exception(), G4VEMDataSet::GetComponent(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), nBins, and G4VEMDataSet::NumberOfComponents().
Referenced by G4LivermoreIonisationModel::Initialise().
void G4VCrossSectionHandler::Clear | ( | ) |
Definition at line 353 of file G4VCrossSectionHandler.cc.
References ActiveElements(), activeZ, dataMap, and pos.
Referenced by export_G4VCrossSectionHandler(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermoreIonisationCrossSection::Initialise(), and G4LivermoreIonisationModel::Initialise().
|
protectedvirtual |
Definition at line 722 of file G4VCrossSectionHandler.cc.
Referenced by G4CrossSectionHandler::BuildCrossSectionsForMaterials(), BuildMeanFreePathForMaterials(), and Initialise().
Definition at line 379 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().
Definition at line 402 of file G4VCrossSectionHandler.cc.
References dataMap, G4VEMDataSet::FindValue(), G4cout, G4endl, G4VEMDataSet::GetComponent(), G4VEMDataSet::NumberOfComponents(), and pos.
|
inlineprotected |
Definition at line 126 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 140 of file G4VCrossSectionHandler.cc.
References CreateInterpolation(), eMax, eMin, interpolation, nBins, unit1, unit2, zMax, and zMin.
Referenced by export_G4VCrossSectionHandler(), G4eCrossSectionHandler::G4eCrossSectionHandler(), G4eIonisationCrossSectionHandler::G4eIonisationCrossSectionHandler(), and G4VCrossSectionHandler().
void G4VCrossSectionHandler::LoadData | ( | const G4String & | dataFile | ) |
Definition at line 187 of file G4VCrossSectionHandler.cc.
References a, activeZ, G4VDataSetAlgorithm::Clone(), dataMap, FatalException, G4Exception(), interpolation, unit1, and unit2.
Referenced by export_G4VCrossSectionHandler(), and G4LivermoreComptonModifiedModel::Initialise().
void G4VCrossSectionHandler::LoadNonLogData | ( | const G4String & | dataFile | ) |
Definition at line 264 of file G4VCrossSectionHandler.cc.
References a, activeZ, G4VDataSetAlgorithm::Clone(), dataMap, FatalException, G4Exception(), interpolation, unit1, and unit2.
void G4VCrossSectionHandler::LoadShellData | ( | const G4String & | dataFile | ) |
Definition at line 334 of file G4VCrossSectionHandler.cc.
References activeZ, G4VDataSetAlgorithm::Clone(), dataMap, interpolation, and G4VEMDataSet::LoadData().
Referenced by export_G4VCrossSectionHandler(), G4LivermoreIonisationCrossSection::Initialise(), and G4LivermoreIonisationModel::Initialise().
Definition at line 728 of file G4VCrossSectionHandler.cc.
References dataMap, G4cout, G4endl, n, G4VEMDataSet::NumberOfComponents(), and pos.
Referenced by G4eIonisationCrossSectionHandler::BuildCrossSectionsForMaterials(), and G4eIonisationCrossSectionHandler::GetCrossSectionAboveThresholdForElement().
|
private |
void G4VCrossSectionHandler::PrintData | ( | void | ) | const |
Definition at line 166 of file G4VCrossSectionHandler.cc.
References dataMap, G4cout, G4endl, pos, and G4VEMDataSet::PrintData().
Referenced by export_G4VCrossSectionHandler(), and G4LivermoreIonisationModel::Initialise().
G4int G4VCrossSectionHandler::SelectRandomAtom | ( | const G4MaterialCutsCouple * | couple, |
G4double | e | ||
) | const |
Definition at line 562 of file G4VCrossSectionHandler.cc.
References G4VEMDataSet::FindValue(), G4UniformRand, G4VEMDataSet::GetComponent(), G4Material::GetElementVector(), G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetNumberOfElements(), and G4Material::GetZ().
Referenced by G4LivermoreIonisationModel::SampleSecondaries().
const G4Element * G4VCrossSectionHandler::SelectRandomElement | ( | const G4MaterialCutsCouple * | material, |
G4double | e | ||
) | const |
Definition at line 604 of file G4VCrossSectionHandler.cc.
References G4VEMDataSet::FindValue(), G4cout, G4endl, G4UniformRand, G4VEMDataSet::GetComponent(), G4Material::GetElementVector(), G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), and G4Material::GetNumberOfElements().
Referenced by export_G4VCrossSectionHandler().
Definition at line 650 of file G4VCrossSectionHandler.cc.
References dataMap, FatalException, FindValue(), G4Exception(), G4UniformRand, and pos.
Referenced by export_G4VCrossSectionHandler(), and G4LivermoreIonisationModel::SampleSecondaries().
G4double G4VCrossSectionHandler::ValueForMaterial | ( | const G4Material * | material, |
G4double | e | ||
) | const |
Definition at line 442 of file G4VCrossSectionHandler.cc.
References FindValue(), G4Material::GetElementVector(), G4Material::GetNumberOfElements(), and G4Material::GetVecNbOfAtomsPerVolume().
Referenced by export_G4VCrossSectionHandler().
|
private |
Definition at line 147 of file G4VCrossSectionHandler.hh.
Referenced by ActiveElements(), Clear(), LoadData(), LoadNonLogData(), and LoadShellData().
|
private |
Definition at line 151 of file G4VCrossSectionHandler.hh.
Referenced by BuildMeanFreePathForMaterials(), G4VCrossSectionHandler(), and ~G4VCrossSectionHandler().
|
private |
Definition at line 149 of file G4VCrossSectionHandler.hh.
Referenced by Clear(), FindValue(), LoadData(), LoadNonLogData(), LoadShellData(), NumberOfComponents(), PrintData(), SelectRandomShell(), and ~G4VCrossSectionHandler().
|
private |
Definition at line 138 of file G4VCrossSectionHandler.hh.
Referenced by BuildMeanFreePathForMaterials(), and Initialise().
|
private |
Definition at line 137 of file G4VCrossSectionHandler.hh.
Referenced by BuildMeanFreePathForMaterials(), and Initialise().
|
private |
Definition at line 135 of file G4VCrossSectionHandler.hh.
Referenced by G4VCrossSectionHandler(), GetInterpolation(), Initialise(), LoadData(), LoadNonLogData(), LoadShellData(), and ~G4VCrossSectionHandler().
|
private |
Definition at line 139 of file G4VCrossSectionHandler.hh.
Referenced by BuildMeanFreePathForMaterials(), and Initialise().
|
private |
Definition at line 141 of file G4VCrossSectionHandler.hh.
Referenced by Initialise(), LoadData(), and LoadNonLogData().
|
private |
Definition at line 142 of file G4VCrossSectionHandler.hh.
Referenced by Initialise(), LoadData(), and LoadNonLogData().
|
private |
Definition at line 145 of file G4VCrossSectionHandler.hh.
Referenced by ActiveElements(), and Initialise().
|
private |
Definition at line 144 of file G4VCrossSectionHandler.hh.
Referenced by ActiveElements(), and Initialise().