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);
87 const std::size_t index=0)
const;
90 const std::size_t index=0)
const;
118 std::vector<G4double> fLevelEnergy;
119 std::vector<G4int> fSpin;
120 std::vector<const G4NucLevel*> fLevels;
125 std::size_t nTransitions;
127 static const G4int nfloting = 13;
128 static G4String fFloatingLevels[nfloting];
144 return fLevelEnergy[i];
149 return fLevelEnergy[nTransitions];
155 std::size_t idx = nTransitions;
156 if(energy < fLevelEnergy[nTransitions]) {
157 idx = std::lower_bound(fLevelEnergy.begin(), fLevelEnergy.end(), energy)
158 - fLevelEnergy.begin() - 1;
171 const std::size_t index)
const
184 return (fLevels[i]) ? fLevels[i]->GetTimeGamma() : 0.0;
189 return std::abs(fSpin[i]%100000 - 100);
194 return (fSpin[i]%100000 - 100 > 0) ? 1 : -1;
199 return fSpin[i]/100000;
204 return fShellCorrection;
209 return fLevelDensity;
const G4NucLevel * GetLevel(const std::size_t i) const
void StreamInfo(std::ostream &os) const
G4double NearestLowEdgeLevelEnergy(const G4double energy) const
G4double ShellCorrection() const
std::size_t NearestLevelIndex(const G4double energy, const std::size_t index=0) const
G4int FloatingLevel(const std::size_t i) const
G4double LevelEnergy(const std::size_t i) const
G4double LevelDensity(const G4double U) const
G4LevelManager(const G4LevelManager &right)=delete
std::size_t NumberOfTransitions() const
G4bool operator==(const G4LevelManager &right) const =delete
G4int SpinTwo(const std::size_t i) const
const G4String & FloatingType(const std::size_t i) const
const G4NucLevel * NearestLevel(const G4double energy, const std::size_t index=0) const
std::size_t NearestLowEdgeLevelIndex(const G4double energy) const
G4double MaxLevelEnergy() const
G4int Parity(const std::size_t i) const
G4double LifeTime(const std::size_t i) const
const G4LevelManager & operator=(const G4LevelManager &right)=delete
G4double NearestLevelEnergy(const G4double energy, const std::size_t index=0) const
G4bool operator!=(const G4LevelManager &right) const =delete