65 return G4double((N-3)*(P-2)*(N-2)*(P-1)*(N-1)*P)/12.0;
76 if(nCharged >= 1 && (nParticles-nCharged) >= 2) {
78 G4double(nParticles*(nParticles-1)*(nParticles-2));
79 rj =
G4double(3*nCharged*(nParticles-nCharged)*(nParticles-nCharged-1))
105 std::ostringstream errOs;
106 errOs <<
"BAD TRITON CROSS SECTION OPTION !!" <<
G4endl;
122 C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375;
137 if (K > 50*
MeV) { Kc=50*
MeV; }
139 G4double landa ,mu ,nu ,p , Ec,q,r,ji,xs;
154 p = p0 + p1/Ec + p2/(Ec*Ec);
159 nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
160 q = landa - nu/(Ec*Ec) - 2*p*Ec;
161 r = mu + 2*nu/Ec + p*(Ec*Ec);
164 if(Kc < Ec) { xs = p*Kc*Kc + q*Kc + r;}
165 else {xs = p*(Kc - ji)*(Kc - ji) + landa*Kc + mu + nu*(2 - Kc/ji)/ji ;}
200 G4double nu = a* (nu0+nu1*ec+nu2*ecsq);
203 if (xnulam > spill) { xnulam=0.; }
204 else if (xnulam >= flow) { etest = 1.2 *std::sqrt(xnulam); }
206 a = -2.*p*ec + landa - nu/ecsq;
207 G4double b = p*ecsq + mu + 2.*nu/ec;
210 if (cut > 0.) { ecut = std::sqrt(cut); }
211 ecut = (ecut-
a) / (2*p);
221 if (elab > ecut) { sig =
std::max(0.0,(p*elab*elab+a*elab+b) * signor); }
224 sig = (landa*elab+mu+nu/elab) * signor;
226 if (xnulam >= flow && elab >= etest) {
227 geom = std::sqrt(
theA*K);
229 geom = 31.416 * geom * geom;
G4double GetOpt12(G4double K)
G4double ResidualA13() const
virtual G4double GetRj(G4int NumberParticles, G4int NumberCharged)
G4double GetOpt34(G4double K)
G4double GetOpt0(G4double ekin)
virtual G4double GetAlpha()
G4double Z13(G4int Z) const
virtual G4double CoalescenceFactor(G4int A)
static const G4double A[nN]
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4double powZ(G4int Z, G4double y) const
virtual ~G4PreCompoundTriton()
virtual G4double FactorialFactor(G4int N, G4int P)
virtual G4double CrossSection(G4double ekin)