Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4Isotope Class Reference

#include <G4Isotope.hh>

Public Member Functions

 G4Isotope (const G4String &name, G4int z, G4int n, G4double a=0., G4int m=0)
 
virtual ~G4Isotope ()
 
const G4StringGetName () const
 
G4int GetZ () const
 
G4int GetN () const
 
G4double GetA () const
 
G4int Getm () const
 
size_t GetIndex () const
 
G4int operator== (const G4Isotope &) const
 
G4int operator!= (const G4Isotope &) const
 
 G4Isotope (__void__ &)
 
void SetName (const G4String &name)
 

Static Public Member Functions

static G4IsotopeGetIsotope (const G4String &name, G4bool warning=false)
 
static const G4IsotopeTableGetIsotopeTable ()
 
static size_t GetNumberOfIsotopes ()
 

Friends

std::ostream & operator<< (std::ostream &, const G4Isotope *)
 
std::ostream & operator<< (std::ostream &, const G4Isotope &)
 
std::ostream & operator<< (std::ostream &, G4IsotopeTable)
 

Detailed Description

Definition at line 72 of file G4Isotope.hh.

Constructor & Destructor Documentation

G4Isotope::G4Isotope ( const G4String name,
G4int  z,
G4int  n,
G4double  a = 0.,
G4int  m = 0 
)

Definition at line 59 of file G4Isotope.cc.

60  : fName(Name), fZ(Z), fN(N), fA(A), fm(il)
61 {
62  if (Z<1) {
64  ed << "Wrong Isotope " << Name << " Z= " << Z << G4endl;
65  G4Exception ("G4Isotope::G4Isotope()", "mat001", FatalException, ed);
66  }
67  if (N<Z) {
69  ed << "Wrong Isotope " << Name << " Z= " << Z << " > N= " << N << G4endl;
70  G4Exception ("G4Isotope::G4Isotope()", "mat002", FatalException, ed);
71  }
72  if (A<=0.0) {
75  }
76  theIsotopeTable.push_back(this);
77  fIndexInTable = theIsotopeTable.size() - 1;
78 }
const int N
Definition: mixmax.h:43
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static G4NistManager * Instance()
static constexpr double g
double A(double temperature)
static constexpr double amu_c2
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4double GetAtomicMass(G4int Z, G4int N) const
#define G4endl
Definition: G4ios.hh:61
static constexpr double mole

Here is the call graph for this function:

G4Isotope::~G4Isotope ( )
virtual

Definition at line 92 of file G4Isotope.cc.

93 {
94  theIsotopeTable[fIndexInTable] = nullptr;
95 }
G4Isotope::G4Isotope ( __void__ &  )

Definition at line 85 of file G4Isotope.cc.

86  : fZ(0), fN(0), fA(0), fm(0), fIndexInTable(0)
87 {
88 }

Member Function Documentation

G4double G4Isotope::GetA ( ) const
inline

Definition at line 97 of file G4Isotope.hh.

97 {return fA;}

Here is the caller graph for this function:

size_t G4Isotope::GetIndex ( ) const
inline

Definition at line 111 of file G4Isotope.hh.

111 {return fIndexInTable;}
G4Isotope * G4Isotope::GetIsotope ( const G4String name,
G4bool  warning = false 
)
static

Definition at line 196 of file G4Isotope.cc.

197 {
198  // search the isotope by its name
199  for (size_t J=0 ; J<theIsotopeTable.size() ; J++)
200  {
201  if (theIsotopeTable[J]->GetName() == isotopeName)
202  { return theIsotopeTable[J]; }
203  }
204 
205  // the isotope does not exist in the table
206  if (warning) {
207  G4cout << "\n---> warning from G4Isotope::GetIsotope(). The isotope: "
208  << isotopeName << " does not exist in the table. Return NULL pointer."
209  << G4endl;
210  }
211  return 0;
212 }
const G4String & GetName() const
Definition: G4Isotope.hh:88
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

Here is the caller graph for this function:

const G4IsotopeTable * G4Isotope::GetIsotopeTable ( )
static

Definition at line 182 of file G4Isotope.cc.

183 {
184  return &theIsotopeTable;
185 }

Here is the caller graph for this function:

G4int G4Isotope::Getm ( ) const
inline

Definition at line 100 of file G4Isotope.hh.

100 {return fm;}

Here is the caller graph for this function:

G4int G4Isotope::GetN ( ) const
inline

Definition at line 94 of file G4Isotope.hh.

94 {return fN;}

Here is the caller graph for this function:

const G4String& G4Isotope::GetName ( ) const
inline

Definition at line 88 of file G4Isotope.hh.

88 {return fName;}

Here is the caller graph for this function:

size_t G4Isotope::GetNumberOfIsotopes ( )
static

Definition at line 189 of file G4Isotope.cc.

190 {
191  return theIsotopeTable.size();
192 }
G4int G4Isotope::GetZ ( ) const
inline

Definition at line 91 of file G4Isotope.hh.

91 {return fZ;}

Here is the caller graph for this function:

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

Definition at line 132 of file G4Isotope.cc.

133 {
134  return (this != (G4Isotope *) &right);
135 }
G4int G4Isotope::operator== ( const G4Isotope right) const

Definition at line 125 of file G4Isotope.cc.

126 {
127  return (this == (G4Isotope *) &right);
128 }
void G4Isotope::SetName ( const G4String name)
inline

Definition at line 132 of file G4Isotope.hh.

132 {fName=name;}
const XML_Char * name
Definition: expat.h:151

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  flux,
const G4Isotope isotope 
)
friend

Definition at line 139 of file G4Isotope.cc.

140 {
141  std::ios::fmtflags mode = flux.flags();
142  flux.setf(std::ios::fixed,std::ios::floatfield);
143  G4long prec = flux.precision(3);
144 
145  flux
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";
151 
152  flux.precision(prec);
153  flux.setf(mode,std::ios::floatfield);
154  return flux;
155 }
long G4long
Definition: G4Types.hh:80
static constexpr double g
Definition: G4SIunits.hh:183
static const double prec
Definition: RanecuEngine.cc:58
static constexpr double mole
Definition: G4SIunits.hh:286
std::ostream& operator<< ( std::ostream &  flux,
const G4Isotope isotope 
)
friend

Definition at line 159 of file G4Isotope.cc.

160 {
161  flux << &isotope;
162  return flux;
163 }
std::ostream& operator<< ( std::ostream &  flux,
G4IsotopeTable  IsotopeTable 
)
friend

Definition at line 167 of file G4Isotope.cc.

168 {
169  //Dump info for all known isotopes
170  flux
171  << "\n***** Table : Nb of isotopes = " << IsotopeTable.size()
172  << " *****\n" << G4endl;
173 
174  for (size_t i=0; i<IsotopeTable.size(); i++)
175  flux << IsotopeTable[i] << G4endl;
176 
177  return flux;
178 }
#define G4endl
Definition: G4ios.hh:61

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