48 if( !getenv(
"G4NEUTRONHPDATA") )
49 throw G4HadronicException(__FILE__, __LINE__,
"Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files.");
51 dirName = getenv(
"G4NEUTRONHPDATA");
53 dirName = dirName + tString;
55 unavailable_elements.clear();
60 for (
G4int i = 0; i < numEle ; i++)
65 try {
while(!theFission[i].Register(&theFS)) ; }
73 if ( unavailable_elements.size() > 0 )
75 std::set< G4String>::iterator it;
76 G4cout <<
"HP Fission data are not available for thess elements "<<
G4endl;
77 for ( it = unavailable_elements.begin() ; it != unavailable_elements.end() ; it++ )
81 G4cout <<
"Low Energy Parameterization Models will be used."<<
G4endl;
84 createXSectionDataSet();
111 rWeight = NumAtomsPerVolume[i];
117 xSec[i] = theFission[index].
GetXsec(x);
128 if(random<=running/sum)
break;
140 if ( unavailable_elements.find( name ) == unavailable_elements.end() )
148void G4NeutronHPorLFission::createXSectionDataSet()
155 return std::pair<G4double, G4double>(10*perCent,
DBL_MAX);
G4DLLIMPORT std::ostream G4cout
static size_t GetNumberOfElements()
static const G4ElementTable * GetElementTable()
const G4Material * GetMaterial() const
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
G4double GetTemperature() const
const G4Element * GetElement(G4int iel) const
size_t GetNumberOfElements() const
const G4double * GetVecNbOfAtomsPerVolume() const
G4HadFinalState * ApplyYourself(const G4HadProjectile &theTrack, G4int isoNumber=-1)
G4double GetXsec(G4double energy)
void Init(G4Element *theElement, const G4String dirName)
G4double GetThermalEnergy(const G4HadProjectile &aP, const G4Element *anE, G4double aT)
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus)
G4bool IsThisElementOK(G4String)