45 overrideSuspension =
false;
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++)
60 try {
while(!theElastic[i].Register(theFS)) ; }
69 if ( unavailable_elements.size() > 0 )
71 std::set< G4String>::iterator it;
72 G4cout <<
"HP Elastic data are not available for thess elements "<<
G4endl;
73 for ( it = unavailable_elements.begin() ; it != unavailable_elements.end() ; it++ )
75 G4cout <<
"Low Energy Parameterization Models will be used."<<
G4endl;
78 createXSectionDataSet();
105 rWeight = NumAtomsPerVolume[i];
111 xSec[i] = theElastic[index].
GetXsec(x);
122 if(random<=running/sum)
break;
136 if ( unavailable_elements.find( name ) == unavailable_elements.end() )
144void G4NeutronHPorLElastic::createXSectionDataSet()
152 return std::pair<G4double, G4double>(10*perCent,
DBL_MAX);
G4DLLIMPORT std::ostream G4cout
static size_t GetNumberOfElements()
static const G4ElementTable * GetElementTable()
void SetStatusChange(G4HadFinalStateStatus aS)
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)
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const
G4bool IsThisElementOK(G4String)