28 #ifndef G4NeutronHPMadlandNixSpectrum_h
29 #define G4NeutronHPMadlandNixSpectrum_h 1
52 expm1 = std::exp(-1.);
58 inline void Init(std::istream & aDataFile)
60 theFractionalProb.
Init(aDataFile);
61 aDataFile>> theAvarageKineticPerNucleonForLightFragments;
62 theAvarageKineticPerNucleonForLightFragments*=CLHEP::eV;
63 aDataFile>> theAvarageKineticPerNucleonForHeavyFragments;
64 theAvarageKineticPerNucleonForHeavyFragments*=CLHEP::eV;
65 theMaxTemp.
Init(aDataFile);
70 return theFractionalProb.
GetY(anEnergy);
81 return 0.5*( GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForLightFragments)
82 +GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForHeavyFragments) );
93 result = 1- (0.3480242*t - 0.0958798*t*t + 0.7478556*t*t*t)*std::exp(-aValue);
94 result *= std::sqrt(CLHEP::pi);
102 result = 0.5*Gamma05(aValue) - std::sqrt(aValue)*std::exp(-aValue);
109 result = 1.5*Gamma15(aValue) - std::pow(aValue,1.5)*std::exp(aValue);
119 G4double result =-gamma - std::log(aValue);
130 term = -term*aValue*(count-1)/(count*count);
132 if(std::fabs(term)/std::fabs(result)<precision)
break;
147 G4double theAvarageKineticPerNucleonForLightFragments;
148 G4double theAvarageKineticPerNucleonForHeavyFragments;
G4double GetY(G4double x)
void Init(std::istream &aDataFile)
G4double G4NeutronHPJENDLHEData::G4double result
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4NeutronHPMadlandNixSpectrum()
G4double Sample(G4double anEnergy)
G4double GetFractionalProbability(G4double anEnergy)
~G4NeutronHPMadlandNixSpectrum()