50 std::istringstream theChannel(filename,std::ios::in);
54 if(std::getenv(
"G4ParticleHPDebug"))
G4cout <<
"G4ParticleHPIsoData::Init = "<< filename <<
" "<<
A <<
" " <<
Z <<
G4endl;
57 if(
Z==1 && (aFile.
GetZ()!=
Z || std::abs(aFile.
GetA()-
A)>0.0001) )
59 if(std::getenv(
"G4ParticleHPDebug"))
G4cout <<
"Skipped = "<< filename <<
" "<<
A<<
" "<<
Z<<
G4endl;
65 if(!theChannel) {;
return false;}
67 if(theChannel.eof()) {;
return false;}
68 if(!theChannel) {;
return false;}
70 theChannel >> dummy >> dummy;
74 theChannelData->
Init(theChannel, nData, CLHEP::eV, abundance*CLHEP::barn);
97 particleName =
"Proton";
99 particleName =
"Deuteron";
101 particleName =
"Triton";
103 particleName =
"He3";
105 particleName =
"Alpha";
107 G4String message(
"G4ParticleHPInelastic may only be called for neutron, proton, deuteron, triton, He3 or alpha, while it is called for " + projectile->
GetParticleName());
116 baseName +=
"/" + particleName;
122 dirName = baseName+
"/Fission";
127 Init(
A,
Z,
M, abun, dirName,
"/CrossSection");
133 theFissionData = theChannelData;
136 dirName = baseName+
"/Capture";
138 Init(
A,
Z,
M, abun, dirName,
"/CrossSection");
139 theCaptureData = theChannelData;
142 dirName = baseName+
"/Elastic";
144 Init(
A,
Z,
M, abun, dirName,
"/CrossSection");
145 theElasticData = theChannelData;
149 dirName = baseName+
"/Inelastic";
151 Init(
A,
Z,
M, abun, dirName,
"/CrossSection");
152 theInelasticData = theChannelData;
173 return (theNames.
GetName(
A,
Z, base, rest, dbool)).GetName();
const char * G4FindDataDir(const char *)
G4GLOB_DLL std::ostream G4cout
static G4Deuteron * Deuteron()
static G4Neutron * Neutron()
const G4String & GetParticleName() const
G4String GetName(G4int A, G4int Z, G4String base, G4String rest)
G4bool Init(G4int A, G4int Z, G4double abun, G4String dirName, G4String aFSType)
static G4ParticleHPManager * GetInstance()
void GetDataStream(G4String, std::istringstream &iss)
G4ParticleHPDataUsed GetName(G4int A, G4int Z, G4String base, G4String rest, G4bool &active)
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
static G4Proton * Proton()
static G4Triton * Triton()