Geant4  10.01
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 *)
 
G4Element * SampleZandA (const G4DynamicParticle *, const G4Material *, G4Nucleus &target)
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
void DumpPhysicsTable (const G4ParticleDefinition &)
 
void DumpHtml (const G4ParticleDefinition &, std::ofstream &)
 
void AddDataSet (G4VCrossSectionDataSet *)
 
void SetVerboseLevel (G4int value)
 

Private Member Functions

G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *aMaterial, G4int index)
 
G4CrossSectionDataStore & operator= (const G4CrossSectionDataStore &right)
 
 G4CrossSectionDataStore (const G4CrossSectionDataStore &)
 

Private Attributes

G4NistManager * nist
 
std::vector
< G4VCrossSectionDataSet * > 
dataSetList
 
std::vector< G4double > xsecelm
 
std::vector< G4double > xseciso
 
const G4Material * currentMaterial
 
const G4ParticleDefinition * matParticle
 
G4double matKinEnergy
 
G4double matCrossSection
 
const G4Material * elmMaterial
 
const G4Element * currentElement
 
const G4ParticleDefinition * elmParticle
 
G4double elmKinEnergy
 
G4double elmCrossSection
 
G4int nDataSetList
 
G4int verboseLevel
 

Detailed Description

Definition at line 60 of file G4CrossSectionDataStore.hh.

Constructor & Destructor Documentation

G4CrossSectionDataStore::G4CrossSectionDataStore ( )

Definition at line 62 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 74 of file G4CrossSectionDataStore.cc.

G4CrossSectionDataStore::G4CrossSectionDataStore ( const G4CrossSectionDataStore &  )
private

Member Function Documentation

void G4CrossSectionDataStore::AddDataSet ( G4VCrossSectionDataSet *  p)
inline

Definition at line 128 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 334 of file G4CrossSectionDataStore.cc.

References dataSetList, and nDataSetList.

Referenced by G4HadronicProcess::BuildPhysicsTable().

+ Here is the caller graph for this function:

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

Definition at line 377 of file G4CrossSectionDataStore.cc.

References dataSetList, GeV, and nDataSetList.

Referenced by G4HadronicProcessStore::PrintHtml().

+ Here is the caller graph for this function:

void G4CrossSectionDataStore::DumpPhysicsTable ( const G4ParticleDefinition &  aParticleType)

Definition at line 350 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 *  part,
const G4Material *  mat 
)

Definition at line 80 of file G4CrossSectionDataStore.cc.

References currentMaterial, G4DynamicParticle::GetDefinition(), G4Material::GetElementVector(), G4DynamicParticle::GetKineticEnergy(), G4Material::GetNumberOfElements(), G4Material::GetVecNbOfAtomsPerVolume(), matCrossSection, matKinEnergy, matParticle, and xsecelm.

Referenced by G4ChargeExchangeProcess::GetElementCrossSection(), G4HadronicProcess::GetElementCrossSection(), G4HadronicProcess::GetMeanFreePath(), and SampleZandA().

+ Here is the call graph for this function:

+ 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 207 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::GetIsoCrossSection ( const G4DynamicParticle *  part,
G4int  Z,
G4int  A,
const G4Isotope *  iso,
const G4Element *  elm,
const G4Material *  aMaterial,
G4int  index 
)
private

Definition at line 166 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:

G4CrossSectionDataStore& G4CrossSectionDataStore::operator= ( const G4CrossSectionDataStore &  right)
private
G4Element * G4CrossSectionDataStore::SampleZandA ( const G4DynamicParticle *  part,
const G4Material *  mat,
G4Nucleus &  target 
)

Definition at line 234 of file G4CrossSectionDataStore.cc.

References dataSetList, G4cout, G4endl, G4lrint(), G4UniformRand, GetCrossSection(), G4Material::GetElementVector(), GetIsoCrossSection(), G4Element::GetIsotopeVector(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetName(), G4Material::GetNumberOfElements(), G4Element::GetNumberOfIsotopes(), G4Element::GetRelativeAbundanceVector(), G4Element::GetZ(), nDataSetList, 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 134 of file G4CrossSectionDataStore.hh.

References verboseLevel.

Member Data Documentation

const G4Element* G4CrossSectionDataStore::currentElement
private

Definition at line 119 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4Material* G4CrossSectionDataStore::currentMaterial
private

Definition at line 113 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

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

Definition at line 122 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4double G4CrossSectionDataStore::elmKinEnergy
private

Definition at line 121 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4Material* G4CrossSectionDataStore::elmMaterial
private

Definition at line 118 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4ParticleDefinition* G4CrossSectionDataStore::elmParticle
private

Definition at line 120 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4double G4CrossSectionDataStore::matCrossSection
private

Definition at line 116 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

G4double G4CrossSectionDataStore::matKinEnergy
private

Definition at line 115 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

const G4ParticleDefinition* G4CrossSectionDataStore::matParticle
private

Definition at line 114 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore(), and GetCrossSection().

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

Definition at line 107 of file G4CrossSectionDataStore.hh.

Referenced by G4CrossSectionDataStore().

G4int G4CrossSectionDataStore::verboseLevel
private

Definition at line 125 of file G4CrossSectionDataStore.hh.

Referenced by SetVerboseLevel().

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

Definition at line 110 of file G4CrossSectionDataStore.hh.

Referenced by GetCrossSection(), and SampleZandA().

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

Definition at line 111 of file G4CrossSectionDataStore.hh.

Referenced by SampleZandA().


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