73 resA13 = U = delta0 = delta1 = a0 = a1 = probmax = alphaP = betaP = 0.0;
74 Umax = bCoulomb = 0.0;
77 /((CLHEP::pi*CLHEP::hbarc)*(CLHEP::pi*CLHEP::hbarc));
78 coeff = CLHEP::fermi*CLHEP::fermi/(CLHEP::pi*CLHEP::hbarc*CLHEP::hbarc);
80 isExcited = (!lManager || 0.0 == lManager->
MaxLevelEnergy()) ?
false :
true;
104 if(0.0 >= Umax) {
return 0.0; }
116 }
else if(
resZ > 20) {
117 C = (0.123482-0.00534691*
theZ-0.0000610624*Z2+5.93719*1e-7*Z3+
121 alphaP = 0.76+1.93/resA13;
122 betaP = (1.66/(resA13*resA13)-0.05)*CLHEP::MeV/alphaP;
136 std::max((CB*(twoMass - CB) + evapMass2)/twoMass -
pEvapMass,0.0);
137 if(ekinmax <= ekinmin) {
return 0.0; }
162 G4double prob = ProbabilityDistributionFunction(0.0, excRes);
171 if(isExcited) {
return Sample2DDistribution(); }
179G4double G4GEMProbabilityVI::Integrated2DProbability()
184G4double G4GEMProbabilityVI::ProbabilityDistributionFunction(
189 G4double T = 1.0/(std::sqrt(a0/Ux) - 1.5/Ux);
191 - 1.25*
G4Log(Ux) + 2.0*std::sqrt(a0*Ux));
195 G4double TCN = 1.0/(std::sqrt(a0/UxCN) - 1.5/UxCN);
201 + mass1*mass1)/
pMass - mass1, 0.0);
205 if ( maxKinEnergy < Ex ) {
206 Width = (I1(t,t)*T + (betaP+bCoulomb)*I0(t))/
G4Exp(E0/T);
211 G4double s0 = 2.0*std::sqrt(a0*(maxKinEnergy-delta0));
212 G4double sx = 2.0*std::sqrt(a0*(Ex-delta0));
215 s0 = std::min(s0, 350.);
219 const G4double sqrt2 = std::sqrt(2.0);
221 Width = I1(t,tx)*T/expE0T + I3(s0,sx)*exps0/(sqrt2*a0);
224 Width += (betaP+bCoulomb)*(I0(tx)/expE0T + 2.0*sqrt2*I2(s0,sx)*exps0);
227 Width *= alphaP*
pMass;
233 Rb = 1.12*(resA13 + A13) - 0.86*((resA13 + A13)/(resA13*A13))+2.85;
234 }
else if (
theA > 1) {
235 Rb=1.5*(resA13 + A13);
244 + 2.0*std::sqrt(a0*UxCN));
245 ild =
G4Exp((exc-E0CN)/TCN)/TCN;
249 ild =
G4Exp(2*x1)/(x*std::sqrt(x1));
252 Width *= (Rb*Rb/ild);
256G4Fragment* G4GEMProbabilityVI::Sample2DDistribution()
264 return G4Exp(t) - 1.0;
269 return (t - tx + 1.0)*
G4Exp(tx) - t - 1.0;
278 G4double p2 = Sx*Sx*Sx*( 1.0 + Sx*Sx*( 1.5 + 3.75*Sx*Sx) )*
G4Exp(sx-s0);
292 G4double p1 =
S *(2.0 + S2 *( 4.0 + S2 *( 13.5 + S2 *( 60.0 + S2 * 325.125 ))));
293 G4double p2 = Sx*Sx2 *((s2-sx2) + Sx2 *((1.5*s2+0.5*sx2)
294 + Sx2 *((3.75*s2+0.25*sx2) + Sx2 *((12.875*s2+0.625*sx2)
295 + Sx2 *((59.0625*s2+0.9375*sx2) + Sx2 *(324.8*s2+3.28*sx2))))));
G4double S(G4double temp)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double G4Log(G4double x)
G4ThreeVector G4RandomDirection()
G4double GetExcitationEnergy() const
~G4GEMProbabilityVI() final
G4GEMProbabilityVI(G4int anA, G4int aZ, const G4LevelManager *)
G4Fragment * SampleEvaporationFragment()
G4double ComputeProbability(G4double ekin, G4double CB) override
G4double ComputeTotalProbability(const G4Fragment &, G4double CB)
G4double MaxLevelEnergy() const
G4double GetLevelDensity(G4int Z, G4int A, G4double U)
G4PairingCorrection * GetPairingCorrection()
G4double Z13(G4int Z) const
void ResetIntegrator(size_t nbin, G4double de, G4double eps)
G4double IntegrateProbability(G4double elow, G4double ehigh, G4double CB)
G4NuclearLevelData * pNuclearLevelData