Geant4  10.02.p02
G4CrossSectionDataStore Class Reference

#include <G4CrossSectionDataStore.hh>

+ Collaboration diagram for G4CrossSectionDataStore:

Public Member Functions

 G4CrossSectionDataStore ()
 
 ~G4CrossSectionDataStore ()
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Material *)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *)
 
G4double GetCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *)
 
G4ElementSampleZandA (const G4DynamicParticle *, const G4Material *, G4Nucleus &target)
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
void DumpPhysicsTable (const G4ParticleDefinition &)
 
void DumpHtml (const G4ParticleDefinition &, std::ofstream &) const
 
void PrintCrossSectionHtml (const G4VCrossSectionDataSet *cs) const
 
void AddDataSet (G4VCrossSectionDataSet *)
 
void SetVerboseLevel (G4int value)
 
const
G4FastPathHadronicCrossSection::fastPathParameters
GetFastPathParameters () const
 
const
G4FastPathHadronicCrossSection::controlFlag
GetFastPathControlFlags () const
 
void DumpFastPath (const G4ParticleDefinition *, const G4Material *, std::ostream &os)
 
void ActivateFastPath (const G4ParticleDefinition *, const G4Material *, G4double)
 

Private Member Functions

G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *aMaterial, G4int index)
 
G4CrossSectionDataStoreoperator= (const G4CrossSectionDataStore &right)
 
 G4CrossSectionDataStore (const G4CrossSectionDataStore &)
 
G4String HtmlFileName (const G4String &in) const
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Material *, G4bool requiresSlowPath)
 

Private Attributes

G4NistManagernist
 
std::vector
< G4VCrossSectionDataSet * > 
dataSetList
 
std::vector< G4doublexsecelm
 
std::vector< G4doublexseciso
 
const G4MaterialcurrentMaterial
 
const G4ParticleDefinitionmatParticle
 
G4double matKinEnergy
 
G4double matCrossSection
 
const G4MaterialelmMaterial
 
const G4ElementcurrentElement
 
const G4ParticleDefinitionelmParticle
 
G4double elmKinEnergy
 
G4double elmCrossSection
 
G4int nDataSetList
 
G4int verboseLevel
 
G4FastPathHadronicCrossSection::controlFlag fastPathFlags
 
G4FastPathHadronicCrossSection::fastPathParameters fastPathParams
 
G4FastPathHadronicCrossSection::getCrossSectionCount counters
 
G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Cache fastPathCache
 
G4FastPathHadronicCrossSection::timing timing
 
G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Requests requests
 

Friends

struct G4FastPathHadronicCrossSection::fastPathEntry
 

Detailed Description

Definition at line 63 of file G4CrossSectionDataStore.hh.

Constructor & Destructor Documentation

G4CrossSectionDataStore::G4CrossSectionDataStore ( )

Definition at line 63 of file G4CrossSectionDataStore.cc.

References currentElement, currentMaterial, elmCrossSection, elmKinEnergy, elmMaterial, elmParticle, G4NistManager::Instance(), matCrossSection, matKinEnergy, matParticle, and nist.

+ Here is the call graph for this function:

G4CrossSectionDataStore::~G4CrossSectionDataStore ( )

Definition at line 76 of file G4CrossSectionDataStore.cc.

G4CrossSectionDataStore::G4CrossSectionDataStore ( const G4CrossSectionDataStore )
private

Member Function Documentation

void G4CrossSectionDataStore::ActivateFastPath ( const G4ParticleDefinition pdef,
const G4Material mat,
G4double  min_cutoff 
)

Definition at line 534 of file G4CrossSectionDataStore.cc.

References G4Material::GetName(), G4ParticleDefinition::GetParticleName(), and requests.

+ Here is the call graph for this function:

void G4CrossSectionDataStore::AddDataSet ( G4VCrossSectionDataSet p)
inline

Definition at line 160 of file G4CrossSectionDataStore.hh.

References dataSetList, and nDataSetList.

Referenced by G4HadronicProcess::AddDataSet(), G4ElectronNuclearProcess::G4ElectronNuclearProcess(), G4PhotoNuclearProcess::G4PhotoNuclearProcess(), and G4PositronNuclearProcess::G4PositronNuclearProcess().

+ Here is the caller graph for this function:

void G4CrossSectionDataStore::BuildPhysicsTable ( const G4ParticleDefinition aParticleType)

Definition at line 499 of file G4CrossSectionDataStore.cc.

References dataSetList, G4FastPathHadronicCrossSection::cycleCountEntry::fastPath, fastPathCache, fastPathFlags, G4ParticleDefinition::GetParticleName(), G4FastPathHadronicCrossSection::controlFlag::initializationPhase, G4FastPathHadronicCrossSection::fastPathEntry::Initialize(), nDataSetList, requests, and G4FastPathHadronicCrossSection::controlFlag::useFastPathIfAvailable.

Referenced by G4HadronicProcess::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CrossSectionDataStore::DumpFastPath ( const G4ParticleDefinition pd,
const G4Material mat,
std::ostream &  os 
)

Definition at line 253 of file G4CrossSectionDataStore.cc.

References G4FastPathHadronicCrossSection::cycleCountEntry::fastPath, fastPathCache, G4Material::GetName(), and G4ParticleDefinition::GetParticleName().

+ Here is the call graph for this function:

void G4CrossSectionDataStore::DumpHtml ( const G4ParticleDefinition ,
std::ofstream &  outFile 
) const

Definition at line 576 of file G4CrossSectionDataStore.cc.

References dataSetList, GeV, nDataSetList, and PrintCrossSectionHtml().

Referenced by G4HadronicProcessStore::PrintHtml().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CrossSectionDataStore::DumpPhysicsTable ( const G4ParticleDefinition aParticleType)

Definition at line 549 of file G4CrossSectionDataStore.cc.

References dataSetList, e1, e2, G4BestUnit, G4cout, G4endl, and nDataSetList.

Referenced by G4ChargeExchangeProcess::DumpPhysicsTable(), G4HadronicProcess::DumpPhysicsTable(), and G4HadronicProcessStore::Print().

+ Here is the caller graph for this function:

G4double G4CrossSectionDataStore::GetCrossSection ( const G4DynamicParticle particle,
const G4Material material 
)
inline

Definition at line 155 of file G4CrossSectionDataStore.hh.

Referenced by GetCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4HadronicProcess::GetElementCrossSection(), G4HadronicProcess::GetMeanFreePath(), G4FastPathHadronicCrossSection::fastPathEntry::Initialize(), and SampleZandA().

+ Here is the caller graph for this function:

G4double G4CrossSectionDataStore::GetCrossSection ( const G4DynamicParticle part,
const G4Element elm,
const G4Material mat 
)
G4double G4CrossSectionDataStore::GetCrossSection ( const G4DynamicParticle part,
G4int  Z,
G4int  A,
const G4Isotope iso,
const G4Element elm,
const G4Material mat 
)

Definition at line 371 of file G4CrossSectionDataStore.cc.

References dataSetList, G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetName(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), MeV, and nDataSetList.

+ Here is the call graph for this function:

G4double G4CrossSectionDataStore::GetCrossSection ( const G4DynamicParticle part,
const G4Material mat,
G4bool  requiresSlowPath 
)
private

Definition at line 82 of file G4CrossSectionDataStore.cc.

References counters, G4FastPathHadronicCrossSection::cycleCountEntry::crossSection, currentMaterial, G4FastPathHadronicCrossSection::cycleCountEntry::energy, G4FastPathHadronicCrossSection::cycleCountEntry::fastPath, G4FastPathHadronicCrossSection::getCrossSectionCount::FastPath(), fastPathCache, fastPathFlags, G4FastPathHadronicCrossSection::fastPathEntry::GetCrossSection(), GetCrossSection(), G4DynamicParticle::GetDefinition(), G4Material::GetElementVector(), G4DynamicParticle::GetKineticEnergy(), G4Material::GetNumberOfElements(), G4DynamicParticle::GetParticleDefinition(), G4Material::GetVecNbOfAtomsPerVolume(), G4FastPathHadronicCrossSection::getCrossSectionCount::HitOneLine(), G4FastPathHadronicCrossSection::controlFlag::initializationPhase, G4FastPathHadronicCrossSection::logHit(), G4FastPathHadronicCrossSection::logInvocationOneLine(), G4FastPathHadronicCrossSection::logInvocationTriedOneLine(), G4FastPathHadronicCrossSection::logStartCountCycles(), G4FastPathHadronicCrossSection::logStopCountCycles(), G4FastPathHadronicCrossSection::logTiming(), matCrossSection, matKinEnergy, matParticle, G4FastPathHadronicCrossSection::getCrossSectionCount::MethodCalled(), G4FastPathHadronicCrossSection::fastPathEntry::min_cutoff, G4FastPathHadronicCrossSection::controlFlag::prevCalcUsedFastPath, G4FastPathHadronicCrossSection::getCrossSectionCount::SlowPath(), timing, G4FastPathHadronicCrossSection::controlFlag::useFastPathIfAvailable, and xsecelm.

+ Here is the call graph for this function:

const G4FastPathHadronicCrossSection::controlFlag& G4CrossSectionDataStore::GetFastPathControlFlags ( ) const
inline

Definition at line 137 of file G4CrossSectionDataStore.hh.

References fastPathFlags.

Referenced by G4FastPathHadronicCrossSection::fastPathEntry::Initialize().

+ Here is the caller graph for this function:

const G4FastPathHadronicCrossSection::fastPathParameters& G4CrossSectionDataStore::GetFastPathParameters ( ) const
inline

Definition at line 135 of file G4CrossSectionDataStore.hh.

References fastPathParams.

Referenced by G4FastPathHadronicCrossSection::fastPathEntry::Initialize().

+ Here is the caller graph for this function:

G4double G4CrossSectionDataStore::GetIsoCrossSection ( const G4DynamicParticle part,
G4int  Z,
G4int  A,
const G4Isotope iso,
const G4Element elm,
const G4Material aMaterial,
G4int  index 
)
private

Definition at line 330 of file G4CrossSectionDataStore.cc.

References dataSetList, G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetName(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), MeV, and nDataSetList.

Referenced by GetCrossSection(), and SampleZandA().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4String G4CrossSectionDataStore::HtmlFileName ( const G4String in) const
private

Definition at line 631 of file G4CrossSectionDataStore.cc.

Referenced by PrintCrossSectionHtml().

+ Here is the caller graph for this function:

G4CrossSectionDataStore& G4CrossSectionDataStore::operator= ( const G4CrossSectionDataStore right)
private
void G4CrossSectionDataStore::PrintCrossSectionHtml ( const G4VCrossSectionDataSet cs) const

Definition at line 608 of file G4CrossSectionDataStore.cc.

References G4VCrossSectionDataSet::CrossSectionDescription(), G4VCrossSectionDataSet::GetName(), and HtmlFileName().

Referenced by DumpHtml().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Element * G4CrossSectionDataStore::SampleZandA ( const G4DynamicParticle part,
const G4Material mat,
G4Nucleus target 
)

Definition at line 398 of file G4CrossSectionDataStore.cc.

References counters, dataSetList, G4cout, G4endl, G4lrint(), G4UniformRand, GetCrossSection(), G4Material::GetElementVector(), GetIsoCrossSection(), G4Element::GetIsotopeVector(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetName(), G4Material::GetNumberOfElements(), G4Element::GetNumberOfIsotopes(), G4Element::GetRelativeAbundanceVector(), G4Element::GetZ(), nDataSetList, G4FastPathHadronicCrossSection::getCrossSectionCount::SampleZandA(), G4Nucleus::SetIsotope(), xsecelm, and xseciso.

Referenced by G4HadronElasticProcess::PostStepDoIt(), and G4HadronicProcess::PostStepDoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CrossSectionDataStore::SetVerboseLevel ( G4int  value)
inline

Definition at line 166 of file G4CrossSectionDataStore.hh.

References verboseLevel.

Friends And Related Function Documentation

Definition at line 141 of file G4CrossSectionDataStore.hh.

Member Data Documentation

G4FastPathHadronicCrossSection::getCrossSectionCount G4CrossSectionDataStore::counters
private

Definition at line 148 of file G4CrossSectionDataStore.hh.

Referenced by GetCrossSection(), and SampleZandA().

const G4Element* G4CrossSectionDataStore::currentElement
private

Definition at line 125 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4Material* G4CrossSectionDataStore::currentMaterial
private

Definition at line 119 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

std::vector<G4VCrossSectionDataSet*> G4CrossSectionDataStore::dataSetList
private
G4double G4CrossSectionDataStore::elmCrossSection
private

Definition at line 128 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4double G4CrossSectionDataStore::elmKinEnergy
private

Definition at line 127 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4Material* G4CrossSectionDataStore::elmMaterial
private

Definition at line 124 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4ParticleDefinition* G4CrossSectionDataStore::elmParticle
private

Definition at line 126 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Cache G4CrossSectionDataStore::fastPathCache
private

Definition at line 150 of file G4CrossSectionDataStore.hh.

Referenced by BuildPhysicsTable(), DumpFastPath(), and GetCrossSection().

G4FastPathHadronicCrossSection::controlFlag G4CrossSectionDataStore::fastPathFlags
private
G4FastPathHadronicCrossSection::fastPathParameters G4CrossSectionDataStore::fastPathParams
private

Definition at line 146 of file G4CrossSectionDataStore.hh.

Referenced by GetFastPathParameters().

G4double G4CrossSectionDataStore::matCrossSection
private

Definition at line 122 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4double G4CrossSectionDataStore::matKinEnergy
private

Definition at line 121 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4ParticleDefinition* G4CrossSectionDataStore::matParticle
private

Definition at line 120 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4int G4CrossSectionDataStore::nDataSetList
private
G4NistManager* G4CrossSectionDataStore::nist
private

Definition at line 113 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore().

G4FastPathHadronicCrossSection::G4CrossSectionDataStore_Requests G4CrossSectionDataStore::requests
private

Definition at line 152 of file G4CrossSectionDataStore.hh.

Referenced by ActivateFastPath(), and BuildPhysicsTable().

G4FastPathHadronicCrossSection::timing G4CrossSectionDataStore::timing
private

Definition at line 151 of file G4CrossSectionDataStore.hh.

Referenced by GetCrossSection().

G4int G4CrossSectionDataStore::verboseLevel
private

Definition at line 131 of file G4CrossSectionDataStore.hh.

Referenced by SetVerboseLevel().

std::vector<G4double> G4CrossSectionDataStore::xsecelm
private

Definition at line 116 of file G4CrossSectionDataStore.hh.

Referenced by GetCrossSection(), and SampleZandA().

std::vector<G4double> G4CrossSectionDataStore::xseciso
private

Definition at line 117 of file G4CrossSectionDataStore.hh.

Referenced by SampleZandA().


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