#include <G4LevelManager.hh>
Public Member Functions | |
G4LevelManager (G4int Z, G4int A, G4LevelReader &reader, const G4String &filename) | |
~G4LevelManager () | |
G4int | NumberOfLevels () const |
const G4NucLevel * | GetLevel (G4int i) const |
const G4NucLevel * | NearestLevel (G4double energy) const |
Definition at line 56 of file G4LevelManager.hh.
G4LevelManager::G4LevelManager | ( | G4int | Z, | |
G4int | A, | |||
G4LevelReader & | reader, | |||
const G4String & | filename | |||
) |
Definition at line 46 of file G4LevelManager.cc.
References G4LevelReader::FillLevels().
00048 : theZ(Z),theA(A),fEdiffMax(100*keV) 00049 { 00050 reader.FillLevels(Z, A, &fLevel, filename); 00051 nLevels = fLevel.size(); 00052 }
G4LevelManager::~G4LevelManager | ( | ) |
Definition at line 54 of file G4LevelManager.cc.
00055 { 00056 if(nLevels > 0) { 00057 for(G4int i=0; i<nLevels; ++i) { delete fLevel[i]; } 00058 } 00059 }
const G4NucLevel * G4LevelManager::GetLevel | ( | G4int | i | ) | const [inline] |
const G4NucLevel * G4LevelManager::NearestLevel | ( | G4double | energy | ) | const [inline] |
Definition at line 97 of file G4LevelManager.hh.
References G4NucLevel::LevelEnergy().
00098 { 00099 const G4NucLevel* p = 0; 00100 if(energy < fLevel[nLevels-1]->LevelEnergy() + fEdiffMax) { 00101 for(G4int i=nLevels-1; i>=0; --i) { 00102 p = fLevel[i]; 00103 G4double lEnergy = p->LevelEnergy(); 00104 if(0 == i || energy > lEnergy) { break; } 00105 if(lEnergy - energy <= 0.5*(lEnergy - fLevel[i-1]->LevelEnergy())) 00106 { break; } 00107 } 00108 } 00109 return p; 00110 }
G4int G4LevelManager::NumberOfLevels | ( | ) | const [inline] |