53  "-", 
"+X", 
"+Y", 
"+Z", 
"+U", 
"+V", 
"+W", 
"+R", 
"+S", 
"+T", 
"+A", 
"+B", 
"+C"};
 
   56  : fData(ptr),fVerbose(1),fLevelMax(632),fTransMax(145)
 
   61  char* directory = std::getenv(
"G4LEVELGAMMADATA");
 
   66        "Environment variable G4LEVELGAMMADATA is not defined");
 
   70  for(
G4int i=0; i<10; ++i) { 
fICC[i] = 0.0f; }
 
   96  return stream.fail() ? false : 
true;
 
  105  if(dataFile.fail()) { okay = 
false; }
 
  106  else { x = strtod(
buffer, 0); }
 
  117  if(dataFile.fail()) { okay = 
false; }
 
  118  else { x = atof(
buff1); }
 
  129  if(dataFile.fail()) { okay = 
false; }
 
  130  else { ix = atoi(
buff2); }
 
  140  if(dataFile.fail()) { okay = 
false; }
 
  148  std::vector<G4float>* vec = 
nullptr;
 
  172    if(
LL < 3) { 
for(
G4int i=
LL+1; i<=4; ++i) { 
fICC[i] = 0.0f; } }
 
  173    if(
M < 5)  { 
for(
G4int i=
M+4;  i<=8; ++i) { 
fICC[i] = 0.0f; } }
 
  174    if(N < 1)  { 
fICC[9] = 0.0f; }
 
  177  for(
G4int i=0; i<10; ++i) {
 
  181  if(norm == 0.0f && 
fAlpha > 0.0f) {
 
  182    fICC[0] = norm = 1.0f;
 
  186    vec = 
new std::vector<G4float>;
 
  188    for(
G4int i=0; i<10; ++i) {
 
  190      if(x > 0.995f || 9 == i) {
 
  191    vec->push_back(1.0f);
 
  198      G4cout << 
"# InternalConv: ";
 
  211  std::ostringstream ss;
 
  213  std::ifstream infile(ss.str(), std::ios::in);
 
  221  std::ifstream infile(filename, std::ios::in);
 
  222  if (!infile.is_open()) {
 
  224    ed << 
"User file for Z= " << 
Z << 
" A= " << 
A   
  225       << 
" is not opened!"; 
 
  226    G4Exception(
"G4LevelReader::MakeLevelManager(..)",
"had014",
 
  235                std::ifstream& infile)
 
  238  if (!infile.is_open()) {
 
  241      ed << 
" for Z= " << 
Z << 
" A= " << 
A   
  242     << 
" is not opened!"; 
 
  243      G4Exception(
"G4LevelReader::LevelManager(..)",
"had014",
 
  249    G4cout << 
"G4LevelReader: open file for Z= "  
  257    G4cout << 
"## New isotope Z= " << 
Z << 
"  A= " << 
A;
 
  273  for(i=0; i<nlevels; ++i) {
 
  278    G4cout << 
"### End of file Z= " << 
Z << 
" A= " << 
A  
  279           << 
" Nlevels= " << i << 
G4endl;
 
  285      ed << 
" G4LevelReader: wrong data file for Z= " << 
Z << 
" A= " << 
A  
  286     << 
" level #" << i << 
" has index " << 
i1 << 
G4endl;
 
  287      G4Exception(
"G4LevelReader::LevelManager(..)",
"had014",
 
  297    G4cout << 
"### End of file Z= " << 
Z << 
" A= " << 
A  
  298           << 
" Nlevels= " << i << 
G4endl;
 
  312    G4cout << 
"### G4LevelReader: broken level " << i
 
  314           << 
" for isotope Z= " << 
Z << 
" A= "  
  315           << 
A << 
" level energy increased" << 
G4endl; 
 
  325         << 
"  LTime(s)= " << 
fTime << 
" 2S= " << 
vSpin[i]
 
  326         << 
"  meta= " << 
vSpin[i]/100000 << 
" idx= " << i  
 
  360        G4cout << 
"### Fail to read transition j= " << j 
 
  361           << 
"  Z= " << 
Z << 
" A= " << 
A << 
G4endl; 
 
  366      G4cout << 
"### G4LevelReader: broken transition " << j 
 
  367         << 
" from level " << i << 
" to " << 
i2 
  368         << 
" for isotope Z= " << 
Z << 
" A= "  
  369         << 
A << 
" - use ground level" << 
G4endl; 
 
  381      G4cout << 
"### Transition #" << j << 
" to level " << 
i2  
  383         << 
"  fProb= " << 
fProb << 
" MultiP= " << 
tnum 
  389      for(
k=0; 
k<10; ++
k) {
 
  394        G4cout << 
"### Fail to read conversion coeff k= " << 
k  
  395               << 
" for transition j= " << j 
 
  396               << 
"  Z= " << 
Z << 
" A= " << 
A << 
G4endl; 
 
  410      for(
k=0; 
k<nt; ++
k) {
 
  413      G4cout << 
"Probabilities[" << 
k  
  416         << 
" idxTrans= " << 
vTrans[
k]/10000
 
  422    G4cout << 
"Probabilities[" << nt << 
"]= "  
  425           << 
" IdxTrans= " << 
vTrans[nt]/10000
 
  444      G4cout << 
"=== Reader: new manager for Z= " << 
Z << 
" A= " << 
A  
  445         << 
" Nlevels= " << i << 
" E[0]= "  
static const G4int LL[nN]
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4GLOB_DLL std::ostream G4cout
G4bool StoreICLevelData() const
static const G4int nfloting
std::vector< const std::vector< G4float > * > vShellProbability
G4DeexPrecoParameters * fParam
static const G4int nbufmax
std::vector< G4float > vRatio
const G4LevelManager * MakeLevelManager(G4int Z, G4int A, const G4String &filename)
const G4LevelManager * LevelManager(G4int Z, G4int A, G4int nlev, std::ifstream &infile)
std::vector< G4float > vGammaProbability
std::vector< const G4NucLevel * > vLevel
const std::vector< G4float > * NormalizedICCProbability(G4int Z)
std::vector< G4float > vGammaCumProbability
std::vector< G4int > vSpin
const G4LevelManager * CreateLevelManager(G4int Z, G4int A)
G4bool ReadDataItem(std::istream &dataFile, G4double &x)
static G4String fFloatingLevels[nfloting]
G4LevelReader(G4NuclearLevelData *)
std::vector< G4int > vTrans
G4bool ReadData(std::istringstream &dataFile, G4double &x)
std::vector< G4double > vEnergy
G4NuclearLevelData * fData
G4DeexPrecoParameters * GetParameters()
static G4Pow * GetInstance()
G4double logZ(G4int Z) const
static constexpr double keV
static constexpr double MeV
static constexpr double second
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments