72 if (instance ==
nullptr) {
75 if (instance ==
nullptr) {
93 size_t nmat = theMaterialTable->size();
95 for(i=0; i<nmat; i++) {
96 if((*theMaterialTable)[i]) {
delete (*theMaterialTable)[i]; }
100 size_t nelm = theElementTable->size();
101 for(i=0; i<nelm; i++) {
102 if((*theElementTable)[i]) {
delete (*theElementTable)[i]; }
106 size_t niso = theIsotopeTable->size();
107 for(i=0; i<niso; i++) {
108 if((*theIsotopeTable)[i]) {
delete (*theIsotopeTable)[i]; }
129 G4cout <<
"G4NistManager::BuildMaterialWithNewDensity ERROR: " <<
G4endl;
130 G4cout <<
" New material <" << name <<
"> cannot be built because material"
131 <<
" with the same name already exists." <<
G4endl;
132 G4Exception(
"G4NistManager::BuildMaterialWithNewDensity()",
"mat101",
138 G4cout <<
"G4NistManager::BuildMaterialWithNewDensity ERROR: " <<
G4endl;
139 G4cout <<
" New material <" << name <<
"> cannot be built because "
141 G4cout <<
" base material <" << basename <<
"> does not exist." <<
G4endl;
142 G4Exception(
"G4NistManager::BuildMaterialWithNewDensity()",
"mat102",
172 size_t nelm = theElementTable->size();
173 for(
size_t i=0; i<nelm; i++) {
175 if ( name == elm->
GetName() ||
"all" == name) {
186 size_t nmat = theMaterialTable->size();
187 for(
size_t i=0; i<nmat; i++) {
189 if ( name == mat->
GetName() ||
"all" == name) {
199#ifdef G4MULTITHREADED
205#ifdef G4MULTITHREADED
212G4NistManager::G4NistManager()
225 for(
G4int j=1; j<101; ++j) {
227 POWERA27[j] = std::pow(A,0.27);
228 LOGAZ[j] = std::log(A);
240#ifdef G4MULTITHREADED
245#ifdef G4MULTITHREADED
258#ifdef G4MULTITHREADED
262 for(
auto mat : materials) {
269#ifdef G4MULTITHREADED
double A(double temperature)
std::vector< G4Element * > G4ElementTable
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::vector< G4Isotope * > G4IsotopeTable
std::vector< G4Material * > G4MaterialTable
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
G4GLOB_DLL std::ostream G4cout
static G4ElementTable * GetElementTable()
const G4String & GetName() const
static const G4IsotopeTable * GetIsotopeTable()
G4double GetPressure() const
G4double GetDensity() const
G4double GetTemperature() const
static G4MaterialTable * GetMaterialTable()
const G4String & GetName() const
void ComputeDensityEffectOnFly(G4bool)
G4double GetAtomicMassAmu(const G4String &symb) const
G4int GetZ(const G4String &symb) const
void PrintElement(G4int Z) const
G4ICRU90StoppingData * GetICRU90StoppingData()
void PrintElement(G4int Z) const
void SetDensityEffectCalculatorFlag(const G4String &, G4bool)
G4Material * BuildMaterialWithNewDensity(const G4String &name, const G4String &basename, G4double density=0.0, G4double temp=NTP_Temperature, G4double pres=CLHEP::STP_Pressure)
void PrintG4Material(const G4String &) const
void PrintG4Element(const G4String &) const
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4Material * FindMaterial(const G4String &name) const
static G4NistManager * Instance()
void SetVerbose(G4int val)
static G4Pow * GetInstance()