Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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// G4VIsotopeTable
27//
28// Class description:
29//
30// Virtual class for access to an isotope table containing
31// "stable" isotopes with their properties.
32
33// Author: H.Kurashige, 5 October 1999
34// --------------------------------------------------------------------
35#ifndef G4VIsotopeTable_hh
36#define G4VIsotopeTable_hh 1
37
38#include "G4ios.hh"
39#include "globals.hh"
40#include "G4Ions.hh"
41
43
45{
46 public:
47
49 explicit G4VIsotopeTable(const G4String&);
50 // Constructors
51
54 // Copy contructor and assignment operator
55
56 virtual ~G4VIsotopeTable();
57 // Destructor
58
61 // Pure virtual method
62
64 G4int level=0);
65 // Search the isotope in the table.
66 // The isotope is designated by
67 // G4int Z: number of proton (Atomic number)
68 // G4int A: number of nucleon (Atomic mass)
69 // and
70 // G4double E: excited energy
71 // G4Ions::G4FloatLevelBase flb: floating level base (from G4Ions.hh)
72 // or
73 // G4int level: isomer level
74 // in the given G4IsotopeProperty.
75 // If corresponding isotope exist in the table, this method returns
76 // 'true', as well as fills other properties such as spin, lifetime,
77 // decay modes and precise excited energy in the given G4IsotopeProperty.
78 // This method returns 'false' if no corresponding isotope is found
79 // without modification of property
80
81 G4int GetVerboseLevel() const;
82 void SetVerboseLevel(G4int level);
83 // Set/Get verbose level
84
85 void DumpTable(G4int Zmin=1, G4int Zmax=118);
86 // Dump table
87
88 const G4String& GetName() const;
89
90 private:
91
92 G4String fName = "";
93 G4int verboseLevel = 0;
94};
95
96// ------------------------
97// Inline methods
98// ------------------------
99
100inline
102{
103 return fName;
104}
105
106inline
108{
109 return verboseLevel;
110}
111
112inline
114{
115 verboseLevel = level;
116}
117
118#endif
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
const G4double A[17]
G4FloatLevelBase
Definition: G4Ions.hh:83
virtual G4IsotopeProperty * GetIsotopeByIsoLvl(G4int Z, G4int A, G4int level=0)
const G4String & GetName() const
virtual ~G4VIsotopeTable()
G4int GetVerboseLevel() const
G4VIsotopeTable & operator=(const G4VIsotopeTable &)
virtual G4IsotopeProperty * GetIsotope(G4int Z, G4int A, G4double E, G4Ions::G4FloatLevelBase flb=G4Ions::G4FloatLevelBase::no_Float)=0
void SetVerboseLevel(G4int level)
void DumpTable(G4int Zmin=1, G4int Zmax=118)