ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4VIsotopeTable.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4VIsotopeTable.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 //
28 //
29 // ------------------------------------------------------------
30 // GEANT 4 class header file
31 //
32 //----------------------------------------------------------
33 // New design 5 Oct. 99 H.Kurashige
34 // Add additinal GetIsotope method 30 Apr. 2013 H.Kurashige
35 #ifndef G4VIsotopeTable_h
36 #define G4VIsotopeTable_h 1
37 
38 #include "G4ios.hh"
39 #include "globals.hh"
40 #include "G4Ions.hh"
41 
42 class G4IsotopeProperty;
43 
45 {
46  // Class Description
47  // G4VIsotopeTable is the virtual class for acsess to an isotpe table
48  // which contains "stable" isotopes with their properties.
49  //
50 
51  public:
52  // constructor
54  explicit G4VIsotopeTable(const G4String& );
55 
58 
59  public:
60  // destructor
61  virtual ~G4VIsotopeTable();
62 
63  public: // With Description
64  // pure virtual method
66  G4Ions::G4FloatLevelBase flb=G4Ions::G4FloatLevelBase::no_Float)=0;
67  virtual G4IsotopeProperty* GetIsotopeByIsoLvl(G4int Z, G4int A, G4int level=0);
68  // Search the isotope in the G4VIsotopeTable.
69  // The isotope is desingated by
70  // G4int Z: number of proton (Atomic number)
71  // G4int A: number of nucleon (Atomic mass)
72  // and
73  // G4double E: excited energy
74  // G4Ions::G4FloatLevelBase flb: floating level base (enum defined in G4Ions.hh)
75  // or
76  // G4int level: isomer level
77  // in the given G4IsotopeProperty.
78  // If corresopnding isotope exist in the table, this method returns
79  // 'true' as well as fills other properties such as spin, lifetime,
80  // ,decay modes and precise excited energy in the given G4IsotopeProperty.
81  // This method returns 'false' if no corresponding isotope is found
82  // without modification of property.
83  //
84 
85  // Set/Get verbose level
86  G4int GetVerboseLevel() const;
87  void SetVerboseLevel(G4int level);
88 
89  // Dump table
90  void DumpTable(G4int Zmin=1, G4int Zmax=118);
91 
92  //
93  const G4String& GetName() const;
94 
95  private:
98 };
99 
100 inline
102 {
103  return fName;
104 }
105 
106 inline
108 {
109  return verboseLevel;
110 }
111 
112 inline
114 {
115  verboseLevel = level;
116 }
117 
118 #endif