49 std::istringstream theChannel(filename,std::ios::in);
52 if(Z==1 && (aFile.
GetZ()!=Z || std::abs(aFile.
GetA()-A)>0.0001) )
54 if(getenv(
"NeutronHPNamesLogging"))
G4cout <<
"Skipped = "<< filename <<
" "<<A<<
" "<<Z<<
G4endl;
60 if(!theChannel) {;
return false;}
62 if(theChannel.eof()) {;
return false;}
63 if(!theChannel) {;
return false;}
65 theChannel >> dummy >> dummy;
69 theChannelData->
Init(theChannel, nData,
eV, abundance*
barn);
83 if(!getenv(
"G4NEUTRONHPDATA"))
84 throw G4HadronicException(__FILE__, __LINE__,
"Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files.");
85 G4String baseName = getenv(
"G4NEUTRONHPDATA");
86 dirName = baseName+
"/Fission";
91 Init(A, Z, M, abun, dirName,
"/CrossSection");
97 theFissionData = theChannelData;
99 dirName = baseName+
"/Capture";
101 Init(A, Z, M, abun, dirName,
"/CrossSection");
102 theCaptureData = theChannelData;
104 dirName = baseName+
"/Elastic";
106 Init(A, Z, M, abun, dirName,
"/CrossSection");
107 theElasticData = theChannelData;
109 dirName = baseName+
"/Inelastic";
111 Init(A, Z, M, abun, dirName,
"/CrossSection");
112 theInelasticData = theChannelData;
G4String GetName(G4int A, G4int Z, G4String base, G4String rest)
static G4NeutronHPManager * GetInstance()
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
void GetDataStream(G4String, std::istringstream &iss)
G4bool Init(G4int A, G4int Z, G4double abun, G4String dirName, G4String aFSType)
G4NeutronHPDataUsed GetName(G4int A, G4int Z, G4String base, G4String rest, G4bool &active)
G4GLOB_DLL std::ostream G4cout
const XML_Char int const XML_Char int const XML_Char * base