43 lightU1 *= lightU1/
tm;
45 lightU2 *= lightU2/
tm;
49 lightTerm = Pow->
powA(lightU2, 1.5)*
E1(lightU2);
50 lightTerm -= Pow->
powA(lightU1, 1.5)*
E1(lightU1);
52 lightTerm /= 3.*std::sqrt(
tm*EF);
57 heavyU1 *= heavyU1/
tm;
59 heavyU2 *= heavyU2/
tm;
63 heavyTerm = Pow->
powA(heavyU2, 1.5)*
E1(heavyU2);
64 heavyTerm -= Pow->
powA(heavyU1, 1.5)*
E1(heavyU1);
66 heavyTerm /= 3.*std::sqrt(
tm*EF);
69 result = 0.5*(lightTerm+heavyTerm);
83 G4int icounter_max=1024;
87 if ( icounter > icounter_max ) {
88 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
96 current+=std::abs(current-last)/2.;
98 if(current>190*
MeV)
throw G4HadronicException(__FILE__, __LINE__,
"Madland-Nix Spectrum has not converged in sampling");
103 current-=std::abs(current-last)/2.;
107 while (std::abs(oldValue-newValue)>precision*newValue);
115 if(aMean<1*
eV)
return 0;
139 (0.4*
alpha2*Pow->
powA(Bp,2.5) + 0.5*alphabeta*Bp*Bp)*
E1(Bp) -
140 (0.4*
alpha2*Pow->
powA(Ap,2.5) + 0.5*alphabeta*Ap*Ap)*
E1(Ap)
164 (0.4*
alpha2*Pow->
powA(Bp,2.5) + 0.5*alphabeta*Bp*Bp)*
E1(Bp) -
165 (0.4*
alpha2*Pow->
powA(Ap,2.5) + 0.5*alphabeta*Ap*Ap)*
E1(Ap)
180 result = result / (3.*std::sqrt(
tm*EF));
G4double B(G4double temperature)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static const G4double alpha
static constexpr double eV
static constexpr double MeV
G4GLOB_DLL std::ostream G4cout
G4double Gamma25(G4double aValue)
G4double theAvarageKineticPerNucleonForLightFragments
G4double Gamma15(G4double aValue)
G4double GIntegral(G4double tm, G4double anEnergy, G4double aMean)
G4double theAvarageKineticPerNucleonForHeavyFragments
G4double FissionIntegral(G4double tm, G4double anEnergy)
G4double E1(G4double aValue)
G4ParticleHPVector theMaxTemp
G4double Madland(G4double aSecEnergy, G4double tm)
G4double Sample(G4double anEnergy)
G4double GetY(G4double x)
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
G4double energy(const ThreeVector &p, const G4double m)