Geant4 11.3.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4LevelReader Class Reference

#include <G4LevelReader.hh>

Public Member Functions

 G4LevelReader (G4NuclearLevelData *)
 
const G4LevelManagerCreateLevelManager (G4int Z, G4int A)
 
const G4LevelManagerMakeLevelManager (G4int Z, G4int A, const G4String &filename)
 
void SetVerbose (G4int val)
 
 G4LevelReader (const G4LevelReader &right)=delete
 
const G4LevelReaderoperator= (const G4LevelReader &right)=delete
 
G4bool operator== (const G4LevelReader &right) const =delete
 
G4bool operator!= (const G4LevelReader &right) const =delete
 

Detailed Description

Definition at line 54 of file G4LevelReader.hh.

Constructor & Destructor Documentation

◆ G4LevelReader() [1/2]

G4LevelReader::G4LevelReader ( G4NuclearLevelData * ptr)
explicit

Definition at line 60 of file G4LevelReader.cc.

61 : fData(ptr)
62{
63 fAlphaMax = (G4float)1.e15;
64 fTimeFactor = CLHEP::second/G4Pow::GetInstance()->logZ(2);
65 fDirectory = G4String(G4FindDataDir("G4LEVELGAMMADATA"));
66
67 vTrans.resize(fTransMax,0);
68 vRatio.resize(fTransMax,0.0f);
69 vGammaCumProbability.resize(fTransMax,0.0f);
70 vGammaProbability.resize(fTransMax,0.0f);
71 vShellProbability.resize(fTransMax,nullptr);
72
73 vEnergy.resize(fLevelMax,0.0);
74 vSpin.resize(fLevelMax,0);
75 vLevel.resize(fLevelMax,nullptr);
76}
const char * G4FindDataDir(const char *)
float G4float
Definition G4Types.hh:84
static G4Pow * GetInstance()
Definition G4Pow.cc:41
G4double logZ(G4int Z) const
Definition G4Pow.hh:137

Referenced by G4LevelReader(), operator!=(), operator=(), and operator==().

◆ G4LevelReader() [2/2]

G4LevelReader::G4LevelReader ( const G4LevelReader & right)
delete

Member Function Documentation

◆ CreateLevelManager()

const G4LevelManager * G4LevelReader::CreateLevelManager ( G4int Z,
G4int A )

Definition at line 182 of file G4LevelReader.cc.

183{
184 std::ostringstream ss;
185 ss << fDirectory << "/z" << Z << ".a" << A;
186 std::ifstream infile(ss.str(), std::ios::in);
187
188 // file is not opened
189 if (!infile.is_open()) {
190 if(fVerbose > 1) {
192 ed << "Regular file " << ss.str() << " is not opened! Z="
193 << Z << " A=" << A;
194 G4Exception("G4LevelReader::LevelManager(..)","had014",
195 JustWarning, ed, "Check file path");
196 }
197 return nullptr;
198 }
199 // file is opened
200 if (fVerbose > 1) {
201 G4cout << "G4LevelReader: open file " << ss.str() << " for Z= "
202 << Z << " A= " << A << G4endl;
203 }
204 return LevelManager(Z, A, infile);
205}
@ JustWarning
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
const G4double A[17]
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout

◆ MakeLevelManager()

const G4LevelManager * G4LevelReader::MakeLevelManager ( G4int Z,
G4int A,
const G4String & filename )

Definition at line 208 of file G4LevelReader.cc.

209{
210 std::ifstream infile(filename, std::ios::in);
211
212 // file is not opened
213 if (!infile.is_open()) {
214 if(fVerbose > 1) {
216 ed << "External file " << filename << " is not opened! Z="
217 << Z << " A=" << A;
218 G4Exception("G4LevelReader::LevelManager(..)","had014",
219 FatalException, ed, "Check file path");
220 }
221 return nullptr;
222 }
223 // file is opened
224 if (fVerbose > 1) {
225 G4cout << "G4LevelReader: open external file " << filename
226 << " for Z= " << Z << " A= " << A << G4endl;
227 }
228 return LevelManager(Z, A, infile);
229}
@ FatalException

◆ operator!=()

G4bool G4LevelReader::operator!= ( const G4LevelReader & right) const
delete

◆ operator=()

const G4LevelReader & G4LevelReader::operator= ( const G4LevelReader & right)
delete

◆ operator==()

G4bool G4LevelReader::operator== ( const G4LevelReader & right) const
delete

◆ SetVerbose()

void G4LevelReader::SetVerbose ( G4int val)
inline

Definition at line 139 of file G4LevelReader.hh.

140{
141 fVerbose = val;
142}

The documentation for this class was generated from the following files: