29#ifndef G4NeutronHPMadlandNixSpectrum_h
30#define G4NeutronHPMadlandNixSpectrum_h 1
53 expm1 = std::exp(-1.);
59 inline void Init(std::ifstream & aDataFile)
61 theFractionalProb.
Init(aDataFile);
62 aDataFile>> theAvarageKineticPerNucleonForLightFragments;
63 theAvarageKineticPerNucleonForLightFragments*=CLHEP::eV;
64 aDataFile>> theAvarageKineticPerNucleonForHeavyFragments;
65 theAvarageKineticPerNucleonForHeavyFragments*=CLHEP::eV;
66 theMaxTemp.
Init(aDataFile);
71 return theFractionalProb.
GetY(anEnergy);
82 return 0.5*( GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForLightFragments)
83 +GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForHeavyFragments) );
94 result = 1- (0.3480242*t - 0.0958798*t*t + 0.7478556*t*t*t)*std::exp(-aValue);
95 result *= std::sqrt(CLHEP::pi);
103 result = 0.5*Gamma05(aValue) - std::sqrt(aValue)*std::exp(-aValue);
110 result = 1.5*Gamma15(aValue) - std::pow(aValue,1.5)*std::exp(aValue);
120 G4double result =-gamma - std::log(aValue);
131 term = -term*aValue*(count-1)/(count*count);
133 if(std::fabs(term)/std::fabs(result)<precision)
break;
148 G4double theAvarageKineticPerNucleonForLightFragments;
149 G4double theAvarageKineticPerNucleonForHeavyFragments;
G4double GetFractionalProbability(G4double anEnergy)
G4double Sample(G4double anEnergy)
~G4NeutronHPMadlandNixSpectrum()
void Init(std::ifstream &aDataFile)
G4NeutronHPMadlandNixSpectrum()
void Init(std::ifstream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
G4double GetY(G4double x)