29#ifndef G4ParticleHPMadlandNixSpectrum_h
30#define G4ParticleHPMadlandNixSpectrum_h 1
57 theAvarageKineticPerNucleonForLightFragments = 0.0;
58 theAvarageKineticPerNucleonForHeavyFragments = 0.0;
64 inline void Init(std::istream & aDataFile)
66 theFractionalProb.
Init(aDataFile);
67 aDataFile>> theAvarageKineticPerNucleonForLightFragments;
68 theAvarageKineticPerNucleonForLightFragments*=CLHEP::eV;
69 aDataFile>> theAvarageKineticPerNucleonForHeavyFragments;
70 theAvarageKineticPerNucleonForHeavyFragments*=CLHEP::eV;
71 theMaxTemp.
Init(aDataFile);
76 return theFractionalProb.
GetY(anEnergy);
87 return 0.5*( GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForLightFragments)
88 +GIntegral(tm, anEnergy, theAvarageKineticPerNucleonForHeavyFragments) );
99 result = 1- (0.3480242*t - 0.0958798*t*t + 0.7478556*t*t*t)*
G4Exp(-aValue);
100 result *= std::sqrt(CLHEP::pi);
108 result = 0.5*Gamma05(aValue) - std::sqrt(aValue)*
G4Exp(-aValue);
136 term = -term*aValue*(count-1)/(count*count);
138 if(std::fabs(term)/std::fabs(result)<precision)
break;
153 G4double theAvarageKineticPerNucleonForLightFragments;
154 G4double theAvarageKineticPerNucleonForHeavyFragments;
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
void Init(std::istream &aDataFile)
G4double GetFractionalProbability(G4double anEnergy)
G4double Sample(G4double anEnergy)
G4ParticleHPMadlandNixSpectrum()
~G4ParticleHPMadlandNixSpectrum()
G4double GetY(G4double x)
void Init(std::istream &aDataFile, G4int total, G4double ux=1., G4double uy=1.)
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const