27 #ifndef G4ProjectileFragmentCrossSection_h
28 #define G4ProjectileFragmentCrossSection_h 1
58 p_Up[2] = +4.7210E-03;
59 p_Up[3] = -1.3030E-05;
83 G4double yield_a = p * S * std::exp(-p * (Ap - A));
84 cout <<
"debug1 "<<yield_a<<endl;
91 yield_a= yield_a * f_mod_y;
92 cout <<
"debug1 "<<yield_a<<endl;
95 G4double zbeta = A/(1.98+0.0155*std::pow(A, (2./3.)));
96 G4double zbeta_p = Ap/(1.98+0.0155*std::pow(Ap, (2./3.)));
121 cout <<
"dq "<<A<<
" "<<Ap<<
" "<<p_mp[1]
122 <<
" "<<p_mp[2]<<
" "<<dq<<
" "<<p_mp[1] + A/Ap*p_mp[2]<<endl;
126 dq =
p_mn[1]*std::pow(A/Ap, 2.0) +
p_mn[2]*std::pow(A/Ap, 4.0);
128 zprob = zprob + dq * (Zp-zbeta_p);
131 zprob = zprob + 0.0020*
A;
132 cout <<
"zprob "<<A<<
" "<<dq<<
" "<<Zp<<
" "<<zbeta_p
133 <<
" "<<zbeta<<
" "<<delta<<endl;
147 if ((Zp-zbeta_p) < 0.0)
149 r=r*(1.0-0.0833*std::abs(Zp-zbeta_p));
161 expo = -r*std::pow(std::abs(zprob-Z), u_n);
162 fract = std::exp(expo)*std::sqrt(r/3.14159);
167 expo = -r*std::pow(std::abs(zprob-Z), u_p);
168 fract = std::exp(expo)*std::sqrt(r/3.14159);
169 cout <<
"1 "<<expo<<
" "<<r<<
" "<<zprob<<
" "<<Z<<
" "<<u_p<<endl;
171 G4double dfdz = 1.2 + 0.647*std::pow(A/2.,0.3);
172 G4double z_exp = zprob + dfdz * std::log(10.) / (2.*r);
175 expo = -r*std::pow(std::abs(zprob-z_exp), u_p);
176 fract = std::exp(expo)*std::sqrt(r/3.14159)
177 / std::pow(std::pow(10, dfdz), Z-z_exp);
181 cout <<
"debug "<<fract<<
" "<<yield_a<<endl;
189 cout << i.
doit(58, 28, 9, 4, 49, 28) << endl;
G4double doit(G4double Ap, G4double Zp, G4double At, G4double Zt, G4double A, G4double Z)
static const G4double A[nN]
G4ProjectileFragmentCrossSection()