Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4VIsotopeTable.hh
Go to the documentation of this file.
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// $Id$
28//
29//
30// ------------------------------------------------------------
31// GEANT 4 class header file
32//
33//----------------------------------------------------------
34// New design 5 Oct. 99 H.Kurashige
35#ifndef G4VIsotopeTable_h
36#define G4VIsotopeTable_h 1
37
38#include "G4ios.hh"
39#include "globals.hh"
40#include "G4IsotopeProperty.hh"
42{
43 // Class Description
44 // G4VIsotopeTable is the virtual class for acsess to an isotpe table
45 // which contains "stable" isotopes with their properties.
46 //
47
48 public:
49 // constructor
51 explicit G4VIsotopeTable(const G4String& );
52
55
56 public:
57 // destructor
58 virtual ~G4VIsotopeTable();
59
60 public: // With Description
61 // pure virtual method
62 virtual G4bool FindIsotope(G4IsotopeProperty* property) = 0;
64 // Search the isotope in the G4VIsotopeTable.
65 // The isotope is desingated by
66 // G4int Z: number of proton (Atomic number)
67 // G4int A: number of nucleon (Atomic mass)
68 // and
69 // G4double E: excited energy
70 // in the given G4IsotopeProperty.
71 // If corresopnding isotope exist in the table, this method returns
72 // 'true' as well as fills other properties such as spin, lifetime,
73 // ,decay modes and precise excited energy in the given G4IsotopeProperty.
74 // This method returns 'false' if no corresponding isotope is found
75 // without modification of property.
76 //
77
78 // Set/Get verbose level
79 G4int GetVerboseLevel() const;
80 void SetVerboseLevel(G4int level);
81
82 private:
83 G4String fName;
84 G4int verboseLevel;
85};
86
87inline
89 : fName(""), verboseLevel(0)
90{
91}
92
93inline
95 : fName(name), verboseLevel(0)
96{
97}
98
99inline
101 : fName(right.fName), verboseLevel(right.verboseLevel)
102{
103}
104
105inline
107{
108 if (this != &right){
109 fName = right.fName;
110 verboseLevel = right.verboseLevel;
111 }
112 return *this;
113}
114
115inline
117{
118}
119
120inline
122{
123 return verboseLevel;
124}
125
126inline
128{
129 verboseLevel = level;
130}
131
132#endif
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
virtual G4IsotopeProperty * GetIsotope(G4int Z, G4int A, G4double E)=0
virtual ~G4VIsotopeTable()
G4int GetVerboseLevel() const
G4VIsotopeTable & operator=(const G4VIsotopeTable &)
virtual G4bool FindIsotope(G4IsotopeProperty *property)=0
void SetVerboseLevel(G4int level)