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;
109 inline const std::vector<const G4NucLevel*>&
GetLevels()
const;
122 std::vector<G4double> fLevelEnergy;
123 std::vector<G4int> fSpin;
124 std::vector<const G4NucLevel*> fLevels;
129 std::size_t nTransitions;
131 static const G4int nfloting = 13;
132 static G4String fFloatingLevels[nfloting];
148 return fLevelEnergy[i];
153 return fLevelEnergy[nTransitions];
159 std::size_t idx = nTransitions;
160 if(energy < fLevelEnergy[nTransitions]) {
161 idx = std::lower_bound(fLevelEnergy.begin(), fLevelEnergy.end(), energy)
162 - fLevelEnergy.begin() - 1;
175 const std::size_t index)
const
188 return (fLevels[i]) ? fLevels[i]->GetTimeGamma() : 0.0;
193 return fSpin[i]%100000 - 100;
198 return (fSpin[i]%100000 - 100 > 0) ? 1 : -1;
203 return fSpin[i]/100000;
208 return fShellCorrection;
213 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
const std::vector< const G4NucLevel * > & GetLevels() const
G4bool operator==(const G4LevelManager &right) const =delete
const std::vector< G4double > & GetLevelEnergies() const
const G4String & FloatingType(const std::size_t i) const
G4LevelManager(G4int Z, G4int A, std::size_t nlev, const std::vector< G4double > &energies, const std::vector< G4int > &spin, const std::vector< const G4NucLevel * > &levels)
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
G4int TwoSpinParity(const std::size_t i) const