Geant4  10.01.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)
 
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
 

Private Member Functions

void Initialise ()
 
void NistSimpleMaterials ()
 
void NistCompoundMaterials ()
 
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 69 of file G4NistMaterialBuilder.hh.

Constructor & Destructor Documentation

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

Definition at line 82 of file G4NistMaterialBuilder.cc.

References Initialise().

+ Here is the call graph for this function:

G4NistMaterialBuilder::~G4NistMaterialBuilder ( )

Definition at line 95 of file G4NistMaterialBuilder.cc.

Member Function Documentation

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

Definition at line 678 of file G4NistMaterialBuilder.cc.

References AddElementByWeightFraction(), atomCount, and nMaterials.

Referenced by BioChemicalMaterials(), ConstructNewIdealGasMaterial(), ConstructNewMaterial(), HepAndNuclearMaterials(), NistCompoundMaterials(), 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 687 of file G4NistMaterialBuilder.cc.

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

+ Here is the call graph for this function:

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

Definition at line 648 of file G4NistMaterialBuilder.cc.

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

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

+ Here is the caller graph for this function:

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

Definition at line 669 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 624 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 442 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(), NistSimpleMaterials(), and SpaceMaterials().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::BioChemicalMaterials ( )
private

Definition at line 1918 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 162 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 333 of file G4NistMaterialBuilder.cc.

References FindOrBuildMaterial(), G4cout, G4endl, G4Material::GetDensity(), G4Material::GetState(), kStateGas, NTP_Temperature, 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 379 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 234 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 284 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 591 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 602 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 100 of file G4NistMaterialBuilder.cc.

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

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

+ 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 218 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 224 of file G4NistMaterialBuilder.hh.

References ionPotentials, and nMaterials.

Referenced by G4NistManager::GetMeanIonisationEnergy().

+ Here is the caller graph for this function:

void G4NistMaterialBuilder::HepAndNuclearMaterials ( )
private

Definition at line 1833 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 699 of file G4NistMaterialBuilder.cc.

References BioChemicalMaterials(), G4cout, G4endl, HepAndNuclearMaterials(), ListMaterials(), NistCompoundMaterials(), 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 578 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 554 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 507 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 542 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 530 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 566 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 823 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 715 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 499 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 1894 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

Definition at line 198 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), BuildMaterial(), DumpElm(), and DumpMix().

std::vector<G4int> G4NistMaterialBuilder::elements
private
G4bool G4NistMaterialBuilder::first
private

Definition at line 213 of file G4NistMaterialBuilder.hh.

Referenced by FindOrBuildMaterial().

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

Definition at line 211 of file G4NistMaterialBuilder.hh.

Referenced by AddGas(), and BuildMaterial().

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

Definition at line 210 of file G4NistMaterialBuilder.hh.

Referenced by AddGas(), and BuildMaterial().

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

Definition at line 209 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 206 of file G4NistMaterialBuilder.hh.

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

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

Definition at line 188 of file G4NistMaterialBuilder.hh.

Referenced by AddElementByWeightFraction(), and AddMaterial().

G4int G4NistMaterialBuilder::nCurrent
private

Definition at line 189 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 200 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), and BuildMaterial().

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

Definition at line 207 of file G4NistMaterialBuilder.hh.

Referenced by AddMaterial(), and BuildMaterial().

G4int G4NistMaterialBuilder::verbose
private

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