Geant4  10.00.p02
G4Element Class Reference

#include <G4Element.hh>

+ Collaboration diagram for G4Element:

Public Member Functions

 G4Element (const G4String &name, const G4String &symbol, G4double Zeff, G4double Aeff)
 
 G4Element (const G4String &name, const G4String &symbol, G4int nbIsotopes)
 
void AddIsotope (G4Isotope *isotope, G4double RelativeAbundance)
 
virtual ~G4Element ()
 
const G4StringGetName () const
 
const G4StringGetSymbol () const
 
G4double GetZ () const
 
G4double GetN () const
 
G4double GetAtomicMassAmu () const
 
G4double GetA () const
 
G4bool GetNaturalAbundanceFlag () const
 
void SetNaturalAbundanceFlag (G4bool)
 
G4int GetNbOfAtomicShells () const
 
G4double GetAtomicShell (G4int index) const
 
G4int GetNbOfShellElectrons (G4int index) const
 
size_t GetNumberOfIsotopes () const
 
G4IsotopeVectorGetIsotopeVector () const
 
G4doubleGetRelativeAbundanceVector () const
 
const G4IsotopeGetIsotope (G4int iso) const
 
size_t GetIndex () const
 
G4double GetfCoulomb () const
 
G4double GetfRadTsai () const
 
G4IonisParamElmGetIonisation () const
 
G4int operator== (const G4Element &) const
 
G4int operator!= (const G4Element &) const
 
 G4Element (__void__ &)
 
void SetName (const G4String &name)
 

Static Public Member Functions

static G4ElementTableGetElementTable ()
 
static size_t GetNumberOfElements ()
 
static G4ElementGetElement (G4String name, G4bool warning=true)
 

Private Member Functions

 G4Element (G4Element &)
 
const G4Elementoperator= (const G4Element &)
 
void InitializePointers ()
 
void ComputeDerivedQuantities ()
 
void ComputeCoulombFactor ()
 
void ComputeLradTsaiFactor ()
 
void AddNaturalIsotopes ()
 

Private Attributes

G4String fName
 
G4String fSymbol
 
G4double fZeff
 
G4double fNeff
 
G4double fAeff
 
G4int fNbOfAtomicShells
 
G4doublefAtomicShells
 
G4intfNbOfShellElectrons
 
size_t fNumberOfIsotopes
 
G4IsotopeVectortheIsotopeVector
 
G4doublefRelativeAbundanceVector
 
size_t fIndexInTable
 
G4bool fNaturalAbundance
 
G4double fCoulomb
 
G4double fRadTsai
 
G4IonisParamElmfIonisation
 

Static Private Attributes

static G4ElementTable theElementTable
 

Friends

std::ostream & operator<< (std::ostream &, G4Element *)
 
std::ostream & operator<< (std::ostream &, G4Element &)
 
std::ostream & operator<< (std::ostream &, G4ElementTable)
 

Detailed Description

Definition at line 97 of file G4Element.hh.

Constructor & Destructor Documentation

G4Element::G4Element ( const G4String name,
const G4String symbol,
G4double  Zeff,
G4double  Aeff 
)

Definition at line 74 of file G4Element.cc.

References AddNaturalIsotopes(), ComputeDerivedQuantities(), fAeff, FatalException, fAtomicShells, fNbOfAtomicShells, fNbOfShellElectrons, fNeff, fZeff, g, G4endl, G4Exception(), G4lrint(), G4AtomicShells::GetBindingEnergy(), G4AtomicShells::GetNumberOfElectrons(), G4AtomicShells::GetNumberOfShells(), InitializePointers(), iz, JustWarning, mole, and perMillion.

+ Here is the call graph for this function:

G4Element::G4Element ( const G4String name,
const G4String symbol,
G4int  nbIsotopes 
)

Definition at line 127 of file G4Element.cc.

References FatalException, fRelativeAbundanceVector, G4Exception(), InitializePointers(), n, and theIsotopeVector.

+ Here is the call graph for this function:

G4Element::~G4Element ( )
virtual
G4Element::G4Element ( __void__ &  )

Definition at line 252 of file G4Element.cc.

References InitializePointers().

+ Here is the call graph for this function:

G4Element::G4Element ( G4Element right)
private

Definition at line 437 of file G4Element.cc.

References fIndexInTable, InitializePointers(), right, and theElementTable.

+ Here is the call graph for this function:

Member Function Documentation

void G4Element::AddIsotope ( G4Isotope isotope,
G4double  RelativeAbundance 
)
void G4Element::AddNaturalIsotopes ( )
private

Definition at line 331 of file G4Element.cc.

References fName, fNaturalAbundance, fNumberOfIsotopes, fRelativeAbundanceVector, fSymbol, fZeff, G4lrint(), G4NistManager::GetIsotopeAbundance(), G4NistManager::GetNistElementNames(), G4NistManager::GetNistFirstIsotopeN(), G4NistManager::GetNumberOfNistIsotopes(), G4NistManager::Instance(), n, and theIsotopeVector.

Referenced by G4Element().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Element::ComputeCoulombFactor ( )
private

Definition at line 295 of file G4Element.cc.

References fCoulomb, and fZeff.

Referenced by ComputeDerivedQuantities().

+ Here is the caller graph for this function:

void G4Element::ComputeDerivedQuantities ( )
private

Definition at line 276 of file G4Element.cc.

References ComputeCoulombFactor(), ComputeLradTsaiFactor(), fIndexInTable, fIonisation, fZeff, and theElementTable.

Referenced by AddIsotope(), G4Element(), and operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Element::ComputeLradTsaiFactor ( )
private

Definition at line 310 of file G4Element.cc.

References fCoulomb, fRadTsai, fZeff, and iz.

Referenced by ComputeDerivedQuantities().

+ Here is the caller graph for this function:

G4double G4Element::GetAtomicMassAmu ( ) const
inline

Definition at line 135 of file G4Element.hh.

References fNeff.

G4double G4Element::GetAtomicShell ( G4int  index) const

Definition at line 373 of file G4Element.cc.

References FatalException, fAtomicShells, fName, fNbOfAtomicShells, fZeff, and G4Exception().

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), export_G4Element(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), and G4PEEffectFluoModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Element * G4Element::GetElement ( G4String  name,
G4bool  warning = true 
)
static

Definition at line 417 of file G4Element.cc.

References G4cout, G4endl, GetName(), and theElementTable.

Referenced by exrdmMaterial::AddMaterial(), RE06DetectorConstruction::AddMaterial(), export_G4Element(), and G4GDMLReadMaterials::GetElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ElementTable * G4Element::GetElementTable ( )
static

Definition at line 403 of file G4Element.cc.

References theElementTable.

Referenced by G4NeutronHPCapture::addChannelForNewElement(), G4NeutronHPElastic::addChannelForNewElement(), G4NeutronHPFission::addChannelForNewElement(), G4NeutronHPInelastic::addChannelForNewElement(), G4NeutronHPData::addPhysicsVector(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4NeutronHPJENDLHEData::BuildPhysicsTable(), G4NeutronHPFissionData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronHPInelasticData::BuildPhysicsTable(), G4NeutronHPCaptureData::BuildPhysicsTable(), G4NeutronHPElasticData::BuildPhysicsTable(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4NeutronHPThermalScattering::buildPhysicsTable(), ExP02DetectorConstruction::Construct(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4NeutronHPFissionData::DumpPhysicsTable(), G4NeutronHPInelasticData::DumpPhysicsTable(), G4NeutronHPCaptureData::DumpPhysicsTable(), G4NeutronHPElasticData::DumpPhysicsTable(), ExP02GeoTree::ExP02GeoTree(), export_G4Element(), CCalMaterialFactory::findElement(), G4NistElementBuilder::FindOrBuildElement(), G4FissLib::G4FissLib(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPData::G4NeutronHPData(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NistManager::GetElement(), G4NuclNuclDiffuseElastic::Initialise(), G4SeltzerBergerModel::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4DiffuseElastic::Initialise(), G03DetectorConstruction::ListOfMaterials(), G02DetectorConstruction::ListOfMaterials(), G4NistManager::PrintG4Element(), CCalMaterialFactory::readElements(), G4GDMLRead::StripNames(), and G4NistManager::~G4NistManager().

G4double G4Element::GetfRadTsai ( ) const
inline

Definition at line 194 of file G4Element.hh.

References fRadTsai.

Referenced by export_G4Element().

+ Here is the caller graph for this function:

G4double G4Element::GetN ( ) const
inline

Definition at line 134 of file G4Element.hh.

References fNeff.

Referenced by G4MuonMinusCaptureAtRest::AtRestDoIt(), G4Nucleus::ChooseParameters(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerAtom(), G4IonisParamMat::ComputeIonParameters(), export_G4Element(), G4NeutronHPFissionData::GetCrossSection(), G4NeutronHPCaptureData::GetCrossSection(), G4NeutronHPInelasticData::GetCrossSection(), G4NeutronHPElasticData::GetCrossSection(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4GlauberGribovCrossSection::GetHadronNucleonXsc(), G4GGNuclNuclCrossSection::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4GlauberGribovCrossSection::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4GlauberGribovCrossSection::GetHNinelasticXsc(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4GlauberGribovCrossSection::GetNucleusRadius(), G4GGNuclNuclCrossSection::GetNucleusRadius(), G4ComponentGGHadronNucleusXsc::GetNucleusRadius(), G4ComponentGGNuclNuclXsc::GetNucleusRadius(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4HadronNucleonXsc::IsApplicable(), G4VEmModel::SelectIsotopeNumber(), and G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget().

+ Here is the caller graph for this function:

G4bool G4Element::GetNaturalAbundanceFlag ( ) const
inline

Definition at line 263 of file G4Element.hh.

References fNaturalAbundance.

Referenced by G4CrossSectionDataStore::GetCrossSection().

+ Here is the caller graph for this function:

G4int G4Element::GetNbOfAtomicShells ( ) const
inline

Definition at line 146 of file G4Element.hh.

References fNbOfAtomicShells.

Referenced by G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), export_G4Element(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), and G4PEEffectFluoModel::SampleSecondaries().

+ Here is the caller graph for this function:

G4int G4Element::GetNbOfShellElectrons ( G4int  index) const

Definition at line 388 of file G4Element.cc.

References FatalException, fName, fNbOfAtomicShells, fNbOfShellElectrons, fZeff, and G4Exception().

Referenced by G4KleinNishinaModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

size_t G4Element::GetNumberOfElements ( )
static

Definition at line 410 of file G4Element.cc.

References theElementTable.

Referenced by G4NeutronHPCapture::addChannelForNewElement(), G4NeutronHPElastic::addChannelForNewElement(), G4NeutronHPFission::addChannelForNewElement(), G4NeutronHPInelastic::addChannelForNewElement(), G4NeutronHPData::addPhysicsVector(), G4NeutronHPCapture::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4VRangeToEnergyConverter::BuildLossTable(), G4NeutronHPJENDLHEData::BuildPhysicsTable(), G4NeutronHPFissionData::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronHPInelasticData::BuildPhysicsTable(), G4NeutronHPCaptureData::BuildPhysicsTable(), G4NeutronHPElasticData::BuildPhysicsTable(), G4NeutronHPThermalScatteringData::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4NeutronHPThermalScattering::buildPhysicsTable(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4NeutronHPFissionData::DumpPhysicsTable(), G4NeutronHPCaptureData::DumpPhysicsTable(), G4NeutronHPInelasticData::DumpPhysicsTable(), G4NeutronHPElasticData::DumpPhysicsTable(), export_G4Element(), G4FissLib::G4FissLib(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPData::G4NeutronHPData(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NuclNuclDiffuseElastic::Initialise(), G4LivermoreBremsstrahlungModel::Initialise(), G4SeltzerBergerModel::Initialise(), G4DiffuseElastic::Initialise(), and G4VRangeToEnergyConverter::operator=().

+ Here is the caller graph for this function:

const G4String& G4Element::GetSymbol ( ) const
inline

Definition at line 128 of file G4Element.hh.

References fSymbol.

Referenced by G4tgbGeometryDumper::DumpElement(), and export_G4Element().

+ Here is the caller graph for this function:

G4double G4Element::GetZ ( ) const
inline

Definition at line 131 of file G4Element.hh.

References fZeff.

Referenced by G4RDVCrossSectionHandler::ActiveElements(), G4VCrossSectionHandler::ActiveElements(), G4PixeCrossSectionHandler::ActiveElements(), G4AdjointPhotoElectricModel::AdjointCrossSectionPerAtom(), G4NeutronHPThermalScattering::ApplyYourself(), G4MuonMinusCaptureAtRest::AtRestDoIt(), G4AugerData::BuildAugerTransitionTable(), G4RDAugerData::BuildAugerTransitionTable(), G4AdjointCSManager::BuildCrossSectionMatrices(), G4ScreenedCoulombCrossSection::BuildMFPTables(), G4NeutronHPJENDLHEData::BuildPhysicsTable(), G4ErrorFreeTrajState::CalculateEffectiveZandA(), G4Nucleus::ChooseParameters(), G4AdjointCSManager::ComputeAdjointCS(), G4VCrossSectionDataSet::ComputeCrossSection(), G4EmCalculator::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerAtom(), G4ICRU49NuclearStoppingModel::ComputeDEDXPerVolume(), G4IonisParamMat::ComputeIonParameters(), G4PAIySection::ComputeLowEnergyCof(), G4PAIxSection::ComputeLowEnergyCof(), G4IonisParamMat::ComputeMeanParameters(), MuCrossSections::CR_PerAtom(), G4LENDModel::create_used_target_map(), G4LENDCrossSection::create_used_target_map(), G4ICRU73QOModel::DEDX(), G4BraggModel::DEDX(), G4BraggIonModel::DEDX(), G4tgbGeometryDumper::DumpElement(), G4GDMLWriteMaterials::ElementWrite(), export_G4Element(), G4EmSaturation::FindBirksCoefficient(), G4NeutronHPJENDLHEData::GetCrossSection(), G4CrossSectionDataStore::GetCrossSection(), G4NeutronHPFissionData::GetCrossSection(), G4NeutronHPCaptureData::GetCrossSection(), G4NeutronHPInelasticData::GetCrossSection(), G4NeutronHPElasticData::GetCrossSection(), G4GammaConversionToMuons::GetCrossSectionPerAtom(), GVFlashShowerParameterisation::GetEffZ(), G4VComponentCrossSection::GetElasticElementCrossSection(), G4ChargeExchangeProcess::GetElementCrossSection(), G4GlauberGribovCrossSection::GetHadronNucleonXsc(), G4GGNuclNuclCrossSection::GetHadronNucleonXsc(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXsc(), G4ComponentGGNuclNuclXsc::GetHadronNucleonXsc(), G4GlauberGribovCrossSection::GetHadronNucleonXscNS(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscNS(), G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(), G4ComponentGGHadronNucleusXsc::GetHadronNucleonXscPDG(), G4GlauberGribovCrossSection::GetHNinelasticXsc(), G4ComponentGGHadronNucleusXsc::GetHNinelasticXsc(), G4VComponentCrossSection::GetInelasticElementCrossSection(), G4QAOLowEnergyLoss::GetOscillatorEnergy(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4VComponentCrossSection::GetTotalElementCrossSection(), G4NeutronHPElementData::Init(), G4hIonEffChargeSquare::IonEffChargeSquare(), G4HadronNucleonXsc::IsApplicable(), G4BremsstrahlungParameters::LoadData(), G4eIonisationParameters::LoadData(), G4RDeIonisationParameters::LoadData(), G4RDBremsstrahlungParameters::LoadData(), G4NativeScreenedCoulombCrossSection::LoadData(), G4EmCorrections::NuclearDEDX(), G4LindhardRobinsonPartition::PartitionNIEL(), G4GammaConversionToMuons::PostStepDoIt(), G4NeutronHPChannel::Register(), G4LivermorePolarizedPhotoElectricModel::SampleSecondaries(), G4XrayRayleighModel::SampleSecondaries(), G4LivermorePolarizedRayleighModel::SampleSecondaries(), G4LivermoreRayleighModel::SampleSecondaries(), G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), G4KleinNishinaModel::SampleSecondaries(), G4PenelopePhotoElectricModel::SampleSecondaries(), G4PEEffectFluoModel::SampleSecondaries(), G4hCoulombScatteringModel::SampleSecondaries(), G4PAIPhotModel::SampleSecondaries(), G4PAIModel::SampleSecondaries(), G4LowEPComptonModel::SampleSecondaries(), G4MuPairProductionModel::SampleSecondaries(), G4eCoulombScatteringModel::SampleSecondaries(), G4MuBremsstrahlungModel::SampleSecondaries(), G4CrossSectionDataStore::SampleZandA(), HistoManager::ScoreNewTrack(), G4NeutronCaptureXS::SelectIsotope(), G4NeutronInelasticXS::SelectIsotope(), G4ScreenedCoulombCrossSection::SelectRandomUnweightedTarget(), G4ElementSelector::SelectZandA(), G4hParametrisedLossModel::StoppingPower(), and G4hNuclearStoppingModel::StoppingPower().

void G4Element::InitializePointers ( )
private

Definition at line 227 of file G4Element.cc.

References fAeff, fAtomicShells, fCoulomb, fIndexInTable, fIonisation, fNaturalAbundance, fNbOfAtomicShells, fNbOfShellElectrons, fNeff, fNumberOfIsotopes, fRadTsai, fRelativeAbundanceVector, fZeff, and theIsotopeVector.

Referenced by G4Element().

+ Here is the caller graph for this function:

G4int G4Element::operator!= ( const G4Element right) const

Definition at line 500 of file G4Element.cc.

const G4Element & G4Element::operator= ( const G4Element right)
private

Definition at line 449 of file G4Element.cc.

References ComputeDerivedQuantities(), fAeff, fAtomicShells, fName, fNbOfAtomicShells, fNbOfShellElectrons, fNeff, fNumberOfIsotopes, fRelativeAbundanceVector, fSymbol, fZeff, and theIsotopeVector.

+ Here is the call graph for this function:

G4int G4Element::operator== ( const G4Element right) const

Definition at line 493 of file G4Element.cc.

void G4Element::SetName ( const G4String name)
inline

Definition at line 216 of file G4Element.hh.

References fName, and name.

Referenced by export_G4Element(), and G4GDMLRead::StripNames().

+ Here is the caller graph for this function:

void G4Element::SetNaturalAbundanceFlag ( G4bool  val)
inline

Definition at line 268 of file G4Element.hh.

References fNaturalAbundance.

Referenced by G4NistElementBuilder::BuildElement().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  flux,
G4Element element 
)
friend

Definition at line 507 of file G4Element.cc.

std::ostream& operator<< ( std::ostream &  flux,
G4Element element 
)
friend

Definition at line 533 of file G4Element.cc.

std::ostream& operator<< ( std::ostream &  flux,
G4ElementTable  ElementTable 
)
friend

Definition at line 541 of file G4Element.cc.

Member Data Documentation

G4double G4Element::fAeff
private

Definition at line 238 of file G4Element.hh.

Referenced by AddIsotope(), G4Element(), GetA(), InitializePointers(), operator<<(), and operator=().

G4double* G4Element::fAtomicShells
private
G4double G4Element::fCoulomb
private
size_t G4Element::fIndexInTable
private
G4IonisParamElm* G4Element::fIonisation
private
G4String G4Element::fName
private
G4bool G4Element::fNaturalAbundance
private
G4int G4Element::fNbOfAtomicShells
private
G4int* G4Element::fNbOfShellElectrons
private
G4double G4Element::fNeff
private
size_t G4Element::fNumberOfIsotopes
private
G4double G4Element::fRadTsai
private

Definition at line 259 of file G4Element.hh.

Referenced by ComputeLradTsaiFactor(), GetfRadTsai(), and InitializePointers().

G4double* G4Element::fRelativeAbundanceVector
private
G4String G4Element::fSymbol
private

Definition at line 235 of file G4Element.hh.

Referenced by AddNaturalIsotopes(), GetSymbol(), operator<<(), and operator=().

G4ElementTable G4Element::theElementTable
staticprivate

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