#include <G4KalbachCrossSection.hh>
Definition at line 77 of file G4KalbachCrossSection.hh.
◆ ComputeCrossSection()
Definition at line 86 of file G4KalbachCrossSection.hh.
98 if(1 ==
A) { xx = 1.5; }
99 ec = 1.44 *
Z * resZ / (xx*resA13 +
paramK[idx][10]);
106 if(resA < 40) { signor =0.7 + resA*0.0075; }
107 else if(resA > 210) { signor = 1. + (resA-210)*0.004; }
109 mu = paramK[idx][5]*resA13 + paramK[idx][6]*resA13*resA13;
113 nu = std::abs(paramK[idx][7]*resA13*resA + paramK[idx][8]*resA13*resA13
119 if (resA <= 60) { signor = 0.92; }
120 else if (resA < 100) { signor = 0.8 + resA*0.002; }
123 mu = paramK[idx][5]*amu1;
124 nu = amu1* (paramK[idx][7] + paramK[idx][8]*ec + paramK[idx][9]*ecsq);
135 if (det > 0.0) { ecut = (std::sqrt(det) -
a)/(p + p); }
136 else { ecut = a/(p + p); }
140 sig = (p*elab*elab + a*elab +
b)*signor;
147 G4double signor2 = (ec - elab - cc) *3.15/ (0.7*cc);
148 sig /= (1. +
G4Exp(signor2));
164 if(xnulam >
spill) { xnulam= 0.0; }
165 else if (xnulam >=
flow) {
166 if(1 == idx) { etest = std::sqrt(xnulam) + 7.; }
167 else { etest = 1.2 *std::sqrt(xnulam); }
171 sig = (lambda*elab + mu + nu/elab)*signor;
172 if (xnulam >=
flow && elab >= etest) {
174 geom = 1.23*resA13 +
paramK[idx][10] + 4.573/geom;
175 geom = 31.416 * geom * geom;
double A(double temperature)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static const G4double paramK[6][11]
static const G4double spill
static const G4double flow
◆ ComputePowerParameter()
Definition at line 81 of file G4KalbachCrossSection.hh.
static G4Pow * GetInstance()
G4double powZ(G4int Z, G4double y) const
static const G4double paramK[6][11]
The documentation for this class was generated from the following file: