47 if(!getenv(
"G4NEUTRONHPDATA"))
48 throw G4HadronicException(__FILE__, __LINE__,
"Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files.");
49 dirName = getenv(
"G4NEUTRONHPDATA");
51 dirName = dirName + tString;
55 unavailable_elements.clear();
56 for (
G4int i=0; i<numEle; i++)
61 try {
while(!theCapture[i].Register(theFS)) ; }
70 if ( unavailable_elements.size() > 0 )
72 std::set< G4String>::iterator it;
73 G4cout <<
"HP Capture data are not available for thess elements "<<
G4endl;
74 for ( it = unavailable_elements.begin() ; it != unavailable_elements.end() ; it++ )
76 G4cout <<
"Low Energy Parameterization Models will be used."<<
G4endl;
79 createXSectionDataSet();
106 rWeight = NumAtomsPerVolume[i];
112 xSec[i] = theCapture[index].
GetXsec(x);
123 if(random<=running/sum)
break;
135 if ( unavailable_elements.find( name ) == unavailable_elements.end() )
143void G4NeutronHPorLCapture::createXSectionDataSet()
150 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)
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus)
G4bool IsThisElementOK(G4String)
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const