Geant4-11
Static Public Member Functions
G4ChatterjeeCrossSection Class Reference

#include <G4ChatterjeeCrossSection.hh>

Static Public Member Functions

static G4double ComputeCrossSection (G4double K, G4double cb, G4double resA13, G4double amu1, G4int idx, G4int Z, G4int resA)
 

Detailed Description

Definition at line 40 of file G4ChatterjeeCrossSection.hh.

Member Function Documentation

◆ ComputeCrossSection()

G4double G4ChatterjeeCrossSection::ComputeCrossSection ( G4double  K,
G4double  cb,
G4double  resA13,
G4double  amu1,
G4int  idx,
G4int  Z,
G4int  resA 
)
static

Definition at line 56 of file G4ChatterjeeCrossSection.cc.

59{
60 G4double sig;
61 G4double Kc = std::min(K, emax);
62
63 // parameterisation for neutron
64 if(0 == Z) {
65 G4double landa = paramC[idx][3]/resA13 + paramC[idx][4];
66 G4double mu = (paramC[idx][5] + paramC[idx][6]*resA13)*resA13;
67 G4double nu = std::abs((paramC[idx][7]*resA + paramC[idx][8]*resA13)*resA13
68 + paramC[idx][9]);
69 sig = landa*Kc + mu + nu/Kc;
70
71 // parameterisation for charged
72 } else {
73 //JMQ 20.04.2015 1.5 F
74 G4double ec = cb;
75 //G4double ec = 1.44 * Z * resZ / (1.5*resA13 + paramC[idx][10]);
76 G4double ecsq = ec*ec;
77 G4double p = paramC[idx][0] + paramC[idx][1]/ec + paramC[idx][2]/(ecsq);
78 G4double landa = paramC[idx][3]*resA + paramC[idx][4];
79 G4double mu = paramC[idx][5]*amu1;
80 G4double nu = amu1* (paramC[idx][7] + paramC[idx][8]*ec + paramC[idx][9]*ecsq);
81 G4double q = landa - nu/ecsq - 2*p*ec;
82 G4double r = mu + 2*nu/ec + p*ecsq;
83 G4double ji= std::max(Kc, ec);
84 if(Kc < ec) { sig = p*Kc*Kc + q*Kc + r; }
85 else { sig = p*(Kc - ji)*(Kc - ji) + landa*Kc + mu + nu*(2 - Kc/ji)/ji; }
86 }
87 sig = std::max(sig, 0.0);
88 //G4cout << "Kc= " << Kc << " A= " << resA << " A13= " << resA13 << " cb= " << cb
89 // << " idx= " << idx << " Z= " << Z << " amu1= " << amu1 << " sig= " << sig <<G4endl;
90 return sig;
91}
static const G4double paramC[6][11]
static const G4double emax
double G4double
Definition: G4Types.hh:83
const G4int Z[17]
T max(const T t1, const T t2)
brief Return the largest of the two arguments
T min(const T t1, const T t2)
brief Return the smallest of the two arguments

References emax, G4INCL::Math::max(), G4INCL::Math::min(), paramC, and Z.

Referenced by G4PreCompoundFragment::CrossSection(), and G4EvaporationProbability::CrossSection().


The documentation for this class was generated from the following files: