G4VIsotopeTable.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 // 
00030 // ------------------------------------------------------------
00031 //      GEANT 4 class header file 
00032 //
00033 //----------------------------------------------------------
00034 //      New design                               5 Oct. 99 H.Kurashige
00035 #ifndef G4VIsotopeTable_h
00036 #define G4VIsotopeTable_h 1
00037 
00038 #include "G4ios.hh"
00039 #include "globals.hh"
00040 #include "G4IsotopeProperty.hh"
00041 class G4VIsotopeTable
00042 {
00043  // Class Description
00044  //  G4VIsotopeTable is the virtual class for acsess to an isotpe table
00045  //  which contains "stable" isotopes with their properties.
00046  //
00047 
00048  public:
00049   // constructor
00050   G4VIsotopeTable();
00051   explicit G4VIsotopeTable(const G4String& );
00052 
00053   G4VIsotopeTable(const G4VIsotopeTable& );
00054   G4VIsotopeTable & operator=(const G4VIsotopeTable&);
00055 
00056  public:
00057   // destructor
00058   virtual ~G4VIsotopeTable();
00059 
00060  public: // With Description
00061   // pure virtual method
00062   virtual G4bool FindIsotope(G4IsotopeProperty* property) = 0;  
00063   virtual G4IsotopeProperty* GetIsotope(G4int Z, G4int A, G4double E) = 0;
00064   // Search the isotope in the G4VIsotopeTable. 
00065   // The isotope is desingated by 
00066   //    G4int    Z:  number of proton (Atomic number)
00067   //    G4int    A:  number of nucleon (Atomic mass)
00068   //      and
00069   //    G4double E:  excited energy
00070   // in the given G4IsotopeProperty.
00071   // If corresopnding isotope exist in the table, this method returns
00072   // 'true' as well as fills other properties such as spin, lifetime,
00073   // ,decay modes and precise excited energy in the given G4IsotopeProperty.
00074   // This method returns 'false' if no corresponding isotope is found 
00075   // without modification of property.
00076   //   
00077 
00078   // Set/Get verbose level
00079   G4int                GetVerboseLevel() const;
00080   void                 SetVerboseLevel(G4int level);  
00081 
00082  private:
00083   G4String             fName;
00084   G4int                verboseLevel;
00085 };
00086 
00087 inline
00088  G4VIsotopeTable::G4VIsotopeTable()
00089   : fName(""), verboseLevel(0)
00090 {
00091 }
00092 
00093 inline
00094  G4VIsotopeTable::G4VIsotopeTable(const G4String& name)
00095   : fName(name), verboseLevel(0)
00096 {
00097 }
00098 
00099 inline
00100  G4VIsotopeTable::G4VIsotopeTable(const G4VIsotopeTable & right)
00101   : fName(right.fName), verboseLevel(right.verboseLevel)
00102 {
00103 }
00104 
00105 inline
00106  G4VIsotopeTable& G4VIsotopeTable::operator=(const G4VIsotopeTable & right)
00107 {
00108   if (this != &right){
00109     fName = right.fName;
00110     verboseLevel = right.verboseLevel;
00111   }
00112   return *this;
00113 }
00114 
00115 inline
00116  G4VIsotopeTable::~G4VIsotopeTable()
00117 {
00118 }
00119 
00120 inline 
00121  G4int G4VIsotopeTable::GetVerboseLevel() const
00122 {
00123   return verboseLevel;
00124 }
00125 
00126 inline 
00127  void G4VIsotopeTable::SetVerboseLevel(G4int level)
00128 {
00129   verboseLevel = level;
00130 }
00131 
00132 #endif

Generated on Mon May 27 17:50:16 2013 for Geant4 by  doxygen 1.4.7