50 "-",
"+X",
"+Y",
"+Z",
"+U",
"+V",
"+W",
"+R",
"+S",
"+T",
"+A",
"+B",
"+C"};
53 const std::vector<G4double>& energies,
54 const std::vector<G4int>& spin,
55 const std::vector<const G4NucLevel*>& levels)
61 fSpin.reserve(ntrans);
63 for(
size_t i=0; i<ntrans; ++i) {
65 fSpin.push_back(spin[i]);
75 G4int In = N - (N/2)*2;
78 if(In == 0 && Iz == 0) {
80 }
else if(In == 0 && Iz == 1) {
82 }
else if(In == 1 && Iz == 0) {
100 static const G4double tolerance = 1.0f-6;
125 if(i >
nTransitions) { PrintError(i,
"FloatingType(idx)"); }
131void G4LevelManager::PrintError(
size_t idx,
const G4String& ss)
const
135 ed <<
"Index of a level " << idx <<
" >= "
145 out << std::setw(6) << i <<
". "
148 out << std::setw(8) <<
fLevels[i]->GetTimeGamma()
149 << std::setw(4) <<
fLevels[i]->NumberOfTransitions()
151 << std::setw(4) <<
Parity(i)
static const char sss[MAX_N_PAR+2]
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
void StreamInfo(std::ostream &os) const
G4LevelManager(G4int Z, G4int A, size_t nlev, const std::vector< G4double > &energies, const std::vector< G4int > &spin, const std::vector< const G4NucLevel * > &levels)
size_t NearestLevelIndex(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
std::vector< const G4NucLevel * > fLevels
std::vector< G4int > fSpin
const G4String & FloatingType(size_t i) const
static G4String fFloatingLevels[nfloting]
G4double fShellCorrection
std::vector< G4double > fLevelEnergy
G4ShellCorrection * GetShellCorrection()
static G4NuclearLevelData * GetInstance()
static G4Pow * GetInstance()
G4double Z13(G4int Z) const
G4double energy(const ThreeVector &p, const G4double m)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments