Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Friends
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 &, G4Isotope *)
 
std::ostream & operator<< (std::ostream &, 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.

References python.hepunit::amu_c2, FatalException, g(), G4endl, G4Exception(), G4NistManager::GetAtomicMass(), G4NistManager::Instance(), and python.hepunit::mole.

60  : fName(Name), fZ(Z), fN(N), fA(A), fm(il)//, fCountUse(0)
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) {
74  }
75  theIsotopeTable.push_back(this);
76  fIndexInTable = theIsotopeTable.size() - 1;
77 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static G4NistManager * Instance()
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
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
**D E S C R I P T I O N
float amu_c2
Definition: hepunit.py:277
G4Isotope::~G4Isotope ( )
virtual

Definition at line 91 of file G4Isotope.cc.

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

Definition at line 84 of file G4Isotope.cc.

85  : fZ(0), fN(0), fA(0), fm(0), /*fCountUse(0),*/ fIndexInTable(0)
86 {
87 }

Member Function Documentation

G4double G4Isotope::GetA ( ) const
inline

Definition at line 97 of file G4Isotope.hh.

Referenced by G4tgbGeometryDumper::DumpIsotope(), export_G4Isotope(), and G4GDMLWriteMaterials::IsotopeWrite().

97 {return fA;}
size_t G4Isotope::GetIndex ( ) const
inline

Definition at line 113 of file G4Isotope.hh.

Referenced by export_G4Isotope().

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

Definition at line 196 of file G4Isotope.cc.

References G4cout, G4endl, and GetName().

Referenced by exrdmMaterial::AddMaterial(), export_G4Isotope(), and G4GDMLReadMaterials::GetIsotope().

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
const G4IsotopeTable * G4Isotope::GetIsotopeTable ( )
static

Definition at line 182 of file G4Isotope.cc.

Referenced by export_G4Isotope(), and G4NistManager::~G4NistManager().

183 {
184  return &theIsotopeTable;
185 }
G4int G4Isotope::Getm ( ) const
inline
G4int G4Isotope::GetN ( ) const
inline
const G4String& G4Isotope::GetName ( void  ) const
inline
size_t G4Isotope::GetNumberOfIsotopes ( )
static

Definition at line 189 of file G4Isotope.cc.

Referenced by export_G4Isotope().

190 {
191  return theIsotopeTable.size();
192 }
G4int G4Isotope::GetZ ( ) const
inline
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 134 of file G4Isotope.hh.

Referenced by export_G4Isotope().

134 {fName=name;}
const XML_Char * name

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  flux,
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
function g(Y1, Y2, PT2)
Definition: hijing1.383.f:5205
std::ostream& operator<< ( std::ostream &  flux,
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: