60 :
fName(Name), fZ(Z), fN(N), fA(A), fm(il), fCountUse(0)
64 ed <<
"Wrong Isotope " << Name <<
" Z= " << Z <<
G4endl;
69 ed <<
"Wrong Isotope " << Name <<
" Z= " << Z <<
" > N= " << N <<
G4endl;
75 theIsotopeTable.push_back(
this);
76 fIndexInTable = theIsotopeTable.size() - 1;
85 : fZ(0), fN(0), fA(0), fm(0), fCountUse(0), fIndexInTable(0)
93 theIsotopeTable[fIndexInTable] = 0;
103 theIsotopeTable.push_back(
this);
104 fIndexInTable = theIsotopeTable.size() - 1;
118 fCountUse = right.fCountUse;
141 std::ios::fmtflags mode = flux.flags();
142 flux.setf(std::ios::fixed,std::ios::floatfield);
143 G4long prec = flux.precision(3);
146 <<
" Isotope: " << std::setw(5) << isotope->fName
147 <<
" Z = " << std::setw(2) << isotope->fZ
148 <<
" N = " << std::setw(3) << isotope->fN
149 <<
" A = " << std::setw(6) << std::setprecision(2)
150 << (isotope->fA)/(
g/
mole) <<
" g/mole";
152 flux.precision(prec);
153 flux.setf(mode,std::ios::floatfield);
171 <<
"\n***** Table : Nb of isotopes = " << IsotopeTable.size()
174 for (
size_t i=0; i<IsotopeTable.size(); i++)
175 flux << IsotopeTable[i] <<
G4endl;
184 return &theIsotopeTable;
191 return theIsotopeTable.size();
199 for (
size_t J=0 ; J<theIsotopeTable.size() ; J++)
201 if (theIsotopeTable[J]->
GetName() == isotopeName)
202 {
return theIsotopeTable[J]; }
207 G4cout <<
"\n---> warning from G4Isotope::GetIsotope(). The isotope: "
208 << isotopeName <<
" does not exist in the table. Return NULL pointer."