59 : fName(Name), fZ(
Z), fN(
N), fA(
A), fm(il)
63 ed <<
"Wrong Isotope " << Name <<
" Z= " <<
Z <<
G4endl;
68 ed <<
"Wrong Isotope " << Name <<
" Z= " <<
Z <<
" > N= " <<
N <<
G4endl;
73 *CLHEP::g/(CLHEP::mole*CLHEP::amu_c2);
75 theIsotopeTable.push_back(
this);
76 fIndexInTable = theIsotopeTable.size() - 1;
85 : fZ(0), fN(0), fA(0), fm(0), fIndexInTable(0)
93 theIsotopeTable[fIndexInTable] =
nullptr;
103 theIsotopeTable.push_back(
this);
104 fIndexInTable = theIsotopeTable.size() - 1;
140 std::ios::fmtflags mode = flux.flags();
141 flux.setf(std::ios::fixed,std::ios::floatfield);
142 G4long prec = flux.precision(3);
145 <<
" Isotope: " << std::setw(5) << isotope->fName
146 <<
" Z = " << std::setw(2) << isotope->fZ
147 <<
" N = " << std::setw(3) << isotope->fN
148 <<
" A = " << std::setw(6) << std::setprecision(2)
149 << (isotope->fA)/(g/mole) <<
" g/mole";
151 flux.precision(prec);
152 flux.setf(mode,std::ios::floatfield);
170 <<
"\n***** Table : Nb of isotopes = " << IsotopeTable.size()
173 for(
auto& i : IsotopeTable)
185 return &theIsotopeTable;
192 return theIsotopeTable.size();
200 for(
auto& J : theIsotopeTable)
202 if(J->GetName() == isotopeName)
210 G4cout <<
"\n---> warning from G4Isotope::GetIsotope(). The isotope: "
211 << isotopeName <<
" does not exist in the table. Return NULL pointer."
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
std::ostream & operator<<(std::ostream &flux, const G4Isotope *isotope)
std::vector< G4Isotope * > G4IsotopeTable
G4GLOB_DLL std::ostream G4cout
static const G4IsotopeTable * GetIsotopeTable()
G4bool operator!=(const G4Isotope &) const
static size_t GetNumberOfIsotopes()
static G4Isotope * GetIsotope(const G4String &name, G4bool warning=false)
G4Isotope(const G4String &name, G4int z, G4int n, G4double a=0., G4int mlevel=0)
G4bool operator==(const G4Isotope &) const
G4double GetAtomicMass(G4int Z, G4int N) const
static G4NistManager * Instance()