Geant4  10.02.p02
G4NistMaterialBuilder Class Reference

#include <G4NistMaterialBuilder.hh>

+ Collaboration diagram for G4NistMaterialBuilder:

Public Member Functions

 G4NistMaterialBuilder (G4NistElementBuilder *, G4int verb=0)
 
 ~G4NistMaterialBuilder ()
 
G4MaterialFindOrBuildMaterial (const G4String &name, G4bool isotopes=true, G4bool warning=true)
 
G4MaterialFindOrBuildSimpleMaterial (G4int Z, G4bool warning)
 
G4MaterialConstructNewMaterial (const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4double dens, G4bool isotopes=true, G4State state=kStateSolid, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
G4MaterialConstructNewMaterial (const G4String &name, const std::vector< G4String > &elm, const std::vector< G4double > &weight, G4double dens, G4bool isotopes=true, G4State state=kStateSolid, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
G4MaterialConstructNewGasMaterial (const G4String &name, const G4String &nameDB, G4double temp, G4double pres, G4bool isotopes=true)
 
G4MaterialConstructNewIdealGasMaterial (const G4String &name, const std::vector< G4String > &elm, const std::vector< G4int > &nbAtoms, G4bool isotopes=true, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
void SetVerbose (G4int val)
 
void ListMaterials (const G4String &) const
 
void ListNistSimpleMaterials () const
 
void ListNistCompoundMaterials () const
 
void ListHepMaterials () const
 
void ListSpaceMaterials () const
 
void ListBioChemicalMaterials () const
 
const std::vector< G4String > & GetMaterialNames () const
 
G4double GetMeanIonisationEnergy (G4int index) const
 
G4double GetNominalDensity (G4int index) const
 

Private Member Functions

void Initialise ()
 
void NistSimpleMaterials ()
 
void NistCompoundMaterials ()
 
void NistCompoundMaterials2 ()
 
void HepAndNuclearMaterials ()
 
void SpaceMaterials ()
 
void BioChemicalMaterials ()
 
void AddMaterial (const G4String &nameMat, G4double dens, G4int Z=0, G4double pot=0.0, G4int ncomp=1, G4State=kStateSolid, G4bool stp=true)
 
void AddGas (const G4String &nameMat, G4double t=NTP_Temperature, G4double p=CLHEP::STP_Pressure)
 
void AddElementByWeightFraction (G4int Z, G4double)
 
void AddElementByAtomCount (G4int Z, G4int)
 
void AddElementByWeightFraction (const G4String &name, G4double)
 
void AddElementByAtomCount (const G4String &name, G4int)
 
G4MaterialBuildMaterial (G4int idx)
 
void DumpElm (G4int) const
 
void DumpMix (G4int) const
 

Private Attributes

G4NistElementBuilderelmBuilder
 
G4int verbose
 
G4int nMaterials
 
G4int nComponents
 
G4int nCurrent
 
G4int nElementary
 
G4int nNIST
 
G4int nHEP
 
G4int nSpace
 
std::vector< G4Stringnames
 
std::vector< G4StringchFormulas
 
std::vector< G4doubledensities
 
std::vector< G4doubleionPotentials
 
std::vector< G4Statestates
 
std::vector< G4doublefractions
 
std::vector< G4boolatomCount
 
std::vector< G4intcomponents
 
std::vector< G4intindexes
 
std::vector< G4intelements
 
std::vector< G4intmatIndex
 
std::vector< G4boolSTP
 
std::vector< G4intidxGas
 
std::vector< G4doublegasTemperature
 
std::vector< G4doublegasPressure
 
G4bool first
 

Detailed Description

Definition at line 70 of file G4NistMaterialBuilder.hh.

Constructor & Destructor Documentation

G4NistMaterialBuilder::G4NistMaterialBuilder ( G4NistElementBuilder eb,
G4int  verb = 0 
)

Definition at line 86 of file G4NistMaterialBuilder.cc.

References Initialise().

+ Here is the call graph for this function:

G4NistMaterialBuilder::~G4NistMaterialBuilder ( )

Definition at line 99 of file G4NistMaterialBuilder.cc.

Member Function Documentation

void G4NistMaterialBuilder::AddElementByAtomCount ( G4int  Z,
G4int  nb 
)
private

Definition at line 694 of file G4NistMaterialBuilder.cc.

References AddElementByWeightFraction(), atomCount, nMaterials, and w.

Referenced by BioChemicalMaterials(), ConstructNewIdealGasMaterial(), ConstructNewMaterial(), HepAndNuclearMaterials(), NistCompoundMaterials(), NistCompoundMaterials2(), and SpaceMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::AddElementByAtomCount ( const G4String name,
G4int  nb 
)
private

Definition at line 703 of file G4NistMaterialBuilder.cc.

References AddElementByWeightFraction(), atomCount, elmBuilder, G4NistElementBuilder::GetZ(), nMaterials, and w.

+ Here is the call graph for this function:

void G4NistMaterialBuilder::AddElementByWeightFraction ( G4int  Z,
G4double  w 
)
private

Definition at line 664 of file G4NistMaterialBuilder.cc.

References atomCount, components, elements, fractions, imax, indexes, n, nComponents, nCurrent, and nMaterials.

Referenced by AddElementByAtomCount(), AddElementByWeightFraction(), ConstructNewMaterial(), HepAndNuclearMaterials(), NistCompoundMaterials(), and NistCompoundMaterials2().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::AddElementByWeightFraction ( const G4String name,
G4double  w 
)
private

Definition at line 685 of file G4NistMaterialBuilder.cc.

References AddElementByWeightFraction(), elmBuilder, and G4NistElementBuilder::GetZ().

+ Here is the call graph for this function:

void G4NistMaterialBuilder::AddGas ( const G4String nameMat,
G4double  t = NTP_Temperature,
G4double  p = CLHEP::STP_Pressure 
)
private

Definition at line 647 of file G4NistMaterialBuilder.cc.

References G4cout, G4endl, gasPressure, gasTemperature, idxGas, names, and nMaterials.

Referenced by ConstructNewIdealGasMaterial(), ConstructNewMaterial(), and HepAndNuclearMaterials().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::AddMaterial ( const G4String nameMat,
G4double  dens,
G4int  Z = 0,
G4double  pot = 0.0,
G4int  ncomp = 1,
G4State  state = kStateSolid,
G4bool  stp = true 
)
private

Definition at line 465 of file G4NistMaterialBuilder.cc.

References atomCount, chFormulas, cm3, components, densities, elements, eV, fractions, g, G4cout, G4endl, indexes, ionPotentials, matIndex, names, nComponents, nCurrent, nMaterials, states, STP, and verbose.

Referenced by BioChemicalMaterials(), ConstructNewIdealGasMaterial(), ConstructNewMaterial(), HepAndNuclearMaterials(), NistCompoundMaterials(), NistCompoundMaterials2(), NistSimpleMaterials(), and SpaceMaterials().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::BioChemicalMaterials ( )
private

Definition at line 1938 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), and AddMaterial().

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::BuildMaterial ( G4int  idx)
private

Definition at line 183 of file G4NistMaterialBuilder.cc.

References G4Material::AddElement(), atomCount, chFormulas, components, densities, elements, elmBuilder, FatalException, G4IonisParamMat::FindMeanExcitationEnergy(), G4NistElementBuilder::FindOrBuildElement(), fractions, G4cout, G4endl, G4Exception(), G4lrint(), gasPressure, gasTemperature, G4Material::GetIndex(), G4Material::GetIonisation(), G4IonisParamMat::GetMeanExcitationEnergy(), idxGas, indexes, ionPotentials, kStateGas, matIndex, names, nMaterials, G4InuclParticleNames::nn, NTP_Temperature, G4Material::SetChemicalFormula(), G4IonisParamMat::SetMeanExcitationEnergy(), states, STP, and verbose.

Referenced by ConstructNewIdealGasMaterial(), ConstructNewMaterial(), and FindOrBuildMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::ConstructNewGasMaterial ( const G4String name,
const G4String nameDB,
G4double  temp,
G4double  pres,
G4bool  isotopes = true 
)

Definition at line 355 of file G4NistMaterialBuilder.cc.

References FindOrBuildMaterial(), G4cout, G4endl, G4Material::GetDensity(), G4Material::GetPressure(), G4Material::GetState(), G4Material::GetTemperature(), kStateGas, and verbose.

Referenced by G4NistManager::ConstructNewGasMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::ConstructNewIdealGasMaterial ( const G4String name,
const std::vector< G4String > &  elm,
const std::vector< G4int > &  nbAtoms,
G4bool  isotopes = true,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 402 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddGas(), AddMaterial(), BuildMaterial(), elmBuilder, FindOrBuildMaterial(), G4cout, G4endl, G4NistElementBuilder::GetAtomicMassAmu(), G4NistElementBuilder::GetZ(), kStateGas, nMaterials, and NTP_Temperature.

Referenced by G4NistManager::ConstructNewIdealGasMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::ConstructNewMaterial ( const G4String name,
const std::vector< G4String > &  elm,
const std::vector< G4int > &  nbAtoms,
G4double  dens,
G4bool  isotopes = true,
G4State  state = kStateSolid,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 256 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddGas(), AddMaterial(), BuildMaterial(), cm3, elmBuilder, FindOrBuildMaterial(), g, G4cout, G4endl, G4NistElementBuilder::GetZ(), kStateGas, nMaterials, and NTP_Temperature.

Referenced by G4NistManager::ConstructNewMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::ConstructNewMaterial ( const G4String name,
const std::vector< G4String > &  elm,
const std::vector< G4double > &  weight,
G4double  dens,
G4bool  isotopes = true,
G4State  state = kStateSolid,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 306 of file G4NistMaterialBuilder.cc.

References AddElementByWeightFraction(), AddGas(), AddMaterial(), BuildMaterial(), cm3, elmBuilder, FindOrBuildMaterial(), g, G4cout, G4endl, G4NistElementBuilder::GetZ(), kStateGas, nMaterials, and NTP_Temperature.

+ Here is the call graph for this function:

void G4NistMaterialBuilder::DumpElm ( G4int  i) const
private

Definition at line 614 of file G4NistMaterialBuilder.cc.

References cm3, densities, eV, g, G4cout, G4endl, ionPotentials, and names.

Referenced by ListNistSimpleMaterials().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::DumpMix ( G4int  i) const
private

Definition at line 625 of file G4NistMaterialBuilder.cc.

References chFormulas, cm3, components, densities, elements, eV, fractions, g, G4cout, G4endl, imax, indexes, ionPotentials, and names.

Referenced by ListBioChemicalMaterials(), ListHepMaterials(), ListNistCompoundMaterials(), and ListSpaceMaterials().

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::FindOrBuildMaterial ( const G4String name,
G4bool  isotopes = true,
G4bool  warning = true 
)

Definition at line 104 of file G4NistMaterialBuilder.cc.

References BuildMaterial(), first, G4cout, G4endl, G4MUTEXLOCK, G4MUTEXUNLOCK, G4Material::GetMaterialTable(), matIndex, name, names, nMaterials, and verbose.

Referenced by ConstructNewGasMaterial(), ConstructNewIdealGasMaterial(), ConstructNewMaterial(), G4NistManager::FindOrBuildMaterial(), and FindOrBuildSimpleMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Material * G4NistMaterialBuilder::FindOrBuildSimpleMaterial ( G4int  Z,
G4bool  warning 
)

Definition at line 174 of file G4NistMaterialBuilder.cc.

References FindOrBuildMaterial(), and names.

Referenced by G4NistManager::FindOrBuildSimpleMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::vector< G4String > & G4NistMaterialBuilder::GetMaterialNames ( ) const
inline

Definition at line 229 of file G4NistMaterialBuilder.hh.

References names.

Referenced by G4NistManager::GetNistMaterialNames().

+ Here is the caller graph for this function:

G4double G4NistMaterialBuilder::GetMeanIonisationEnergy ( G4int  index) const
inline

Definition at line 235 of file G4NistMaterialBuilder.hh.

References ionPotentials, and nMaterials.

Referenced by G4NistManager::GetMeanIonisationEnergy().

+ Here is the caller graph for this function:

G4double G4NistMaterialBuilder::GetNominalDensity ( G4int  index) const
inline

Definition at line 243 of file G4NistMaterialBuilder.hh.

References densities, and nMaterials.

Referenced by G4NistManager::GetNominalDensity().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::HepAndNuclearMaterials ( )
private

Definition at line 1853 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddElementByWeightFraction(), AddGas(), AddMaterial(), chFormulas, cm3, density, g, hep_pascal, kelvin, kStateGas, kStateLiquid, nHEP, and nMaterials.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::Initialise ( )
private

Definition at line 715 of file G4NistMaterialBuilder.cc.

References BioChemicalMaterials(), G4cout, G4endl, HepAndNuclearMaterials(), ListMaterials(), NistCompoundMaterials(), NistCompoundMaterials2(), NistSimpleMaterials(), SpaceMaterials(), and verbose.

Referenced by G4NistMaterialBuilder().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListBioChemicalMaterials ( ) const

Definition at line 601 of file G4NistMaterialBuilder.cc.

References DumpMix(), G4cout, G4endl, nMaterials, and nSpace.

Referenced by ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListHepMaterials ( ) const

Definition at line 577 of file G4NistMaterialBuilder.cc.

References DumpMix(), G4cout, G4endl, nHEP, and nNIST.

Referenced by ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListMaterials ( const G4String mnam) const

Definition at line 530 of file G4NistMaterialBuilder.cc.

References G4cout, G4endl, ListBioChemicalMaterials(), ListHepMaterials(), ListNistCompoundMaterials(), ListNistSimpleMaterials(), and ListSpaceMaterials().

Referenced by Initialise(), and G4NistManager::ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListNistCompoundMaterials ( ) const

Definition at line 565 of file G4NistMaterialBuilder.cc.

References DumpMix(), G4cout, G4endl, nElementary, and nNIST.

Referenced by ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListNistSimpleMaterials ( ) const

Definition at line 553 of file G4NistMaterialBuilder.cc.

References DumpElm(), G4cout, G4endl, and nElementary.

Referenced by ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::ListSpaceMaterials ( ) const

Definition at line 589 of file G4NistMaterialBuilder.cc.

References DumpMix(), G4cout, G4endl, nHEP, and nSpace.

Referenced by ListMaterials().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::NistCompoundMaterials ( )
private

Definition at line 840 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddElementByWeightFraction(), AddMaterial(), chFormulas, kStateGas, and nMaterials.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::NistCompoundMaterials2 ( )
private

Definition at line 1345 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddElementByWeightFraction(), AddMaterial(), chFormulas, kStateGas, nMaterials, and nNIST.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::NistSimpleMaterials ( )
private

Definition at line 732 of file G4NistMaterialBuilder.cc.

References AddMaterial(), kStateGas, nElementary, and nMaterials.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::SetVerbose ( G4int  val)

Definition at line 522 of file G4NistMaterialBuilder.cc.

References elmBuilder, G4NistElementBuilder::SetVerbose(), and verbose.

Referenced by G4NistManager::SetVerbose().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::SpaceMaterials ( )
private

Definition at line 1914 of file G4NistMaterialBuilder.cc.

References AddElementByAtomCount(), AddMaterial(), nMaterials, and nSpace.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<G4bool> G4NistMaterialBuilder::atomCount
private
std::vector<G4String> G4NistMaterialBuilder::chFormulas
private
std::vector<G4int> G4NistMaterialBuilder::components
private
std::vector<G4double> G4NistMaterialBuilder::densities
private
std::vector<G4int> G4NistMaterialBuilder::elements
private
G4bool G4NistMaterialBuilder::first
private

Definition at line 221 of file G4NistMaterialBuilder.hh.

Referenced by FindOrBuildMaterial().

std::vector<G4double> G4NistMaterialBuilder::fractions
private
std::vector<G4double> G4NistMaterialBuilder::gasPressure
private

Definition at line 219 of file G4NistMaterialBuilder.hh.

Referenced by AddGas(), and BuildMaterial().

std::vector<G4double> G4NistMaterialBuilder::gasTemperature
private

Definition at line 218 of file G4NistMaterialBuilder.hh.

Referenced by AddGas(), and BuildMaterial().

std::vector<G4int> G4NistMaterialBuilder::idxGas
private

Definition at line 217 of file G4NistMaterialBuilder.hh.

Referenced by AddGas(), and BuildMaterial().

std::vector<G4int> G4NistMaterialBuilder::indexes
private
std::vector<G4double> G4NistMaterialBuilder::ionPotentials
private
std::vector<G4int> G4NistMaterialBuilder::matIndex
private

Definition at line 214 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), BuildMaterial(), and FindOrBuildMaterial().

std::vector<G4String> G4NistMaterialBuilder::names
private
G4int G4NistMaterialBuilder::nComponents
private

Definition at line 196 of file G4NistMaterialBuilder.hh.

Referenced by AddElementByWeightFraction(), and AddMaterial().

G4int G4NistMaterialBuilder::nCurrent
private

Definition at line 197 of file G4NistMaterialBuilder.hh.

Referenced by AddElementByWeightFraction(), and AddMaterial().

G4int G4NistMaterialBuilder::nElementary
private
G4int G4NistMaterialBuilder::nHEP
private
G4int G4NistMaterialBuilder::nNIST
private
G4int G4NistMaterialBuilder::nSpace
private
std::vector<G4State> G4NistMaterialBuilder::states
private

Definition at line 208 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), and BuildMaterial().

std::vector<G4bool> G4NistMaterialBuilder::STP
private

Definition at line 215 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), and BuildMaterial().

G4int G4NistMaterialBuilder::verbose
private

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