45#ifndef G4LEVELMANAGER_HH
46#define G4LEVELMANAGER_HH 1
63 const std::vector<G4double>& energies,
64 const std::vector<G4int>& spin,
65 const std::vector<const G4NucLevel*>& levels);
111 void PrintError(
size_t idx,
const G4String&)
const;
119 std::vector<G4double> fLevelEnergy;
120 std::vector<G4int> fSpin;
121 std::vector<const G4NucLevel*> fLevels;
128 static const G4int nfloting = 13;
129 static G4String fFloatingLevels[nfloting];
141 if(i > nTransitions) { PrintError(i,
"GetLevel(idx)"); }
149 if(i > nTransitions) { PrintError(i,
"LevelEnergy(idx)"); }
151 return fLevelEnergy[i];
156 return fLevelEnergy[nTransitions];
161 size_t idx = nTransitions;
162 if(energy < fLevelEnergy[nTransitions]) {
163 idx = std::lower_bound(fLevelEnergy.begin(), fLevelEnergy.end(), energy)
164 - fLevelEnergy.begin() - 1;
189 if(i > nTransitions) { PrintError(i,
"LifeTime"); }
191 return (fLevels[i]) ? fLevels[i]->GetTimeGamma() : 0.0;
197 if(i > nTransitions) { PrintError(i,
"SpinTwo"); }
199 return std::abs(fSpin[i]%100000 - 100);
205 if(i > nTransitions) { PrintError(i,
"SpinTwo"); }
207 return (fSpin[i]%100000 - 100 > 0) ? 1 : -1;
213 if(i > nTransitions) { PrintError(i,
"Floating"); }
215 return fSpin[i]/100000;
220 return fShellCorrection;
225 return fLevelDensity;
double A(double temperature)
G4double LifeTime(size_t i) const
void StreamInfo(std::ostream &os) const
G4double ShellCorrection() const
const G4NucLevel * GetLevel(size_t i) const
G4double LevelDensity(G4double U) const
size_t NearestLevelIndex(G4double energy, size_t index=0) const
G4double NearestLevelEnergy(G4double energy, size_t index=0) const
G4int FloatingLevel(size_t i) const
G4int SpinTwo(size_t i) const
G4int Parity(size_t i) const
size_t NearestLowEdgeLevelIndex(G4double energy) const
const G4String & FloatingType(size_t i) const
G4double MaxLevelEnergy() const
size_t NumberOfTransitions() const
G4double NearestLowEdgeLevelEnergy(G4double energy) const
G4double LevelEnergy(size_t i) const
const G4NucLevel * NearestLevel(G4double energy, size_t index=0) const