45  "Lithium", 
"Berylium", 
"Boron", 
"Carbon", 
"Nitrogen", 
"Oxygen", 
"Fluorine",
 
   46  "Neon", 
"Sodium", 
"Magnesium", 
"Aluminum", 
"Silicon", 
"Phosphorous", 
 
   47  "Sulfur", 
"Chlorine", 
"Argon", 
"Potassium", 
"Calcium", 
"Scandium",
 
   48  "Titanium", 
"Vanadium", 
"Chromium", 
"Manganese", 
"Iron", 
"Cobalt", 
"Nickel",
 
   49  "Copper", 
"Zinc", 
"Gallium", 
"Germanium", 
"Arsenic", 
"Selenium", 
"Bromine",
 
   50  "Krypton", 
"Rubidium", 
"Strontium", 
"Yttrium", 
"Zirconium", 
"Niobium",
 
   51  "Molybdenum", 
"Technetium", 
"Ruthenium", 
"Rhodium", 
"Palladium", 
"Silver",
 
   52  "Cadmium", 
"Indium", 
"Tin", 
"Antimony", 
"Tellurium", 
"Iodine", 
"Xenon",
 
   53  "Cesium", 
"Barium", 
"Lanthanum", 
"Cerium", 
"Praseodymium", 
"Neodymium",
 
   54  "Promethium", 
"Samarium", 
"Europium", 
"Gadolinium", 
"Terbium", 
"Dysprosium",
 
   55  "Holmium", 
"Erbium", 
"Thulium", 
"Ytterbium", 
"Lutetium", 
"Hafnium",
 
   56  "Tantalum", 
"Tungsten", 
"Rhenium", 
"Osmium", 
"Iridium", 
"Platinium", 
"Gold",
 
   57  "Mercury", 
"Thallium", 
"Lead", 
"Bismuth", 
"Polonium", 
"Astatine", 
"Radon", 
 
   58  "Francium", 
"Radium", 
"Actinium", 
"Thorium", 
"Protactinium", 
"Uranium", 
 
   59  "Neptunium", 
"Plutonium", 
"Americium", 
"Curium", 
"Berkelium", 
"Californium",
 
   60  "Einsteinium",
"Fermium"};
 
   85 if(getenv(
"NeutronHPNames")) 
G4cout << 
"Names::GetName entered for Z = " << Z << 
", A = " << A <<
G4endl;
 
   90     if(Z>92.5&&!getenv(
"AllowForHeavyElements") ) 
 
   93       G4cerr << 
"Please contact Geant4 Hadron Group Coordinator"<<
G4endl;
 
   94       throw G4HadronicException(__FILE__, __LINE__, 
"G4NeutronHPNames::GetName - data with Z>92 are not provided");
 
  109     std::istringstream* check = NULL;
 
  111 if(getenv(
"NeutronHPNames"))  
G4cout << 
"entered GetName!!!"<<
G4endl;
 
  118        if(theName!=0) 
delete theName;
 
  124 if(getenv(
"NeutronHPNames")) 
G4cout <<
"HPWD 1 "<<*theName<<
G4endl;
 
  127      if ( check != NULL ) {
 
  133        check = 
new std::istringstream(std::ios::in);
 
  146              *biff = base+
"/CrossSection/"+
itoa(myZ)+
"_"+
"nat"+
"_"+theString[myZ-1];
 
  147              if(theName!=0) 
delete theName;
 
  149 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 2 "<<*theName<<
G4endl;
 
  156              check = 
new std::istringstream(std::ios::in);
 
  168                 if(theName!=0) 
delete theName;
 
  169                 *biff = base+
"/"+rest+
"/"+
itoa(myZ)+
"_"+
"nat"+
"_"+theString[myZ-1];  
 
  170                 if ( rest==
"/CrossSection" ) *biff = base+rest+
"/"+
itoa(myZ)+
"_"+
"nat"+
"_"+theString[myZ-1];  
 
  172 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 3 "<<*theName<<
G4endl;
 
  198           std::istringstream* file = NULL;
 
  201           if ( rest == 
"/CrossSection" )
 
  205              fileName = base+rest+
"/"+
itoa(myZ)+
"_"+
itoa(myA)+sM+
"_"+theString[myZ-1];
 
  206 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 4a "<<*theName<<
G4endl;
 
  213              fileName = base+
"/"+rest+
"/"+
itoa(myZ)+
"_"+
itoa(myA)+sM+
"_"+theString[myZ-1];
 
  215              file = 
new std::istringstream(std::ios::in);
 
  222 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 4b1 "<<*theName<<
G4endl;
 
  228                 fileName  = base+
"/"+rest+
"/"+
itoa(myZ)+
"_"+
"nat"+
"_"+theString[myZ-1];
 
  232                 file = 
new std::istringstream(std::ios::in);
 
  238 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 4b2a "<<*theName<<
G4endl;
 
  244 if(getenv(
"NeutronHPNames"))    
G4cout <<
"HPWD 4b2c "<<*theName<<
G4endl;
 
  273                 G4cout <<
"G4NeutronHPNames: Sorry, this material does not come near to any data."<<
G4endl;
 
  274                 G4cout <<
"G4NeutronHPNames: Please make sure G4NEUTRONHPDATA points to the" << 
G4endl;
 
  275                 G4cout <<
"                  directory, the neutron scattering data are located in." << 
G4endl;
 
  276                 G4cout << 
"G4NeutronHPNames: The material was: A="<<A<<
", Z="<<Z<<
G4endl;
 
  278                 throw G4HadronicException(__FILE__, __LINE__, 
"In case the data sets are at present not available in the neutron data library, please contact Hadron Group Coordinator");
 
  297              myZ = Z + flip_Z * delta_Z;
 
  318              myA = A + flip_A * delta_A; 
 
  330        while( myZ == 0 || myA == 0 );  
 
  333     while((!check) || (!(*check)));
 
  335     if(getenv(
"NeutronHPNamesLogging") || getenv(
"NeutronHPNames")) 
 
  337       G4cout << 
"Names::GetName: last theName proposal = "<< 
G4endl;
 
  342     if ( Z != result.
GetZ() || A != result.
GetA() )
 
  344        if ( rest == 
"/CrossSection" )
 
  347           G4String dir = getenv(
"G4NEUTRONHPDATA"); 
 
  348           reac.erase ( 0 , dir.length() );
 
  352              if ( verboseLevel > 0 ) {
 
  353                 G4cout << 
"NeutronHP: " << reac << 
" file for Z = " << Z << 
", A = " << A << 
" is not found and CrossSection set to 0." << 
G4endl;
 
  355              G4String new_name = base+
"/"+rest+
"/"+
"0_0_Zero";  
 
  361              if ( ( reac.find(
"Inelastic") != reac.size() && ( (Z == 1 && A == 1) || (Z == 2 && A == 4) ) ) 
 
  362                || ( reac.find(
"Capture")   != reac.size() && ( (Z == 1 && A == 3) || (Z == 2 && A == 4) ) )  
 
  363                || ( reac.find(
"Fission")   != reac.size() && ( (Z == 88 && A == 224) || (Z == 88 && A == 225) || (Z == 89 && A == 225) || (Z == 88 && A == 226) ) ) ) 
 
  366                 G4String new_name = base+
"/"+rest+
"/"+
"0_0_Zero";
 
  371                 if ( verboseLevel > 0 ) {
 
  372                    G4cout << 
"NeutronHP: " << reac << 
" file for Z = " << Z << 
", A = " << A << 
" is not found and NeutronHP will use " << result.
GetName() << 
G4endl;
 
G4bool GetSkipMissingIsotopes()
 
G4bool IsThisNaturalAbundance()
 
void SetName(G4String aName)
 
static G4NeutronHPManager * GetInstance()
 
G4String itoa(int current)
 
G4NeutronHPDataUsed GetName(G4int A, G4int Z, G4String base, G4String rest, G4bool &active)
 
G4GLOB_DLL std::ostream G4cout
 
void GetDataStream2(G4String, std::istringstream &iss)
 
static const G4String theString[100]
 
static const G4double A[nN]
 
void SetNaturalAbundanceFlag()
 
static G4double GetZtoA(G4int Z)
 
G4GLOB_DLL std::ostream G4cerr