Geant4  10.02.p03
G4ChatterjeeCrossSection Class Reference

#include <G4ChatterjeeCrossSection.hh>

Collaboration diagram for G4ChatterjeeCrossSection:

Static Public Member Functions

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

Detailed Description

Definition at line 59 of file G4ChatterjeeCrossSection.hh.

Member Function Documentation

◆ ComputeCrossSection()

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

Definition at line 68 of file G4ChatterjeeCrossSection.hh.

70  {
71  G4double sig;
72  G4double Kc = std::min(K, emax);
73 
74  // parameterisation for neutron
75  if(0 == Z) {
76  G4double landa = paramC[idx][3]/resA13 + paramC[idx][4];
77  G4double mu = paramC[idx][5]*resA13 + paramC[idx][6]*resA13*resA13;
78  G4double nu = paramC[idx][7]*resA13*resA + paramC[idx][8]*resA13*resA13
79  + paramC[idx][9];
80  sig = landa*Kc + mu + nu/Kc;
81 
82  // parameterisation for charged
83  } else {
84  //JMQ 20.04.2015 1.5 F
85  G4double ec = 1.44 * Z * resZ / (1.5*resA13 + paramC[idx][10]);
86  G4double ecsq = ec*ec;
87  G4double p = paramC[idx][0] + paramC[idx][1]/ec + paramC[idx][2]/(ecsq);
88  G4double landa = paramC[idx][3]*resA + paramC[idx][4];
89  G4double mu = paramC[idx][5]*amu1;
90  G4double nu = amu1* (paramC[idx][7] + paramC[idx][8]*ec + paramC[idx][9]*ecsq);
91  G4double q = landa - nu/ecsq - 2*p*ec;
92  G4double r = mu + 2*nu/ec + p*ecsq;
93  G4double ji= std::max(Kc, ec);
94  if(Kc < ec) { sig = p*Kc*Kc + q*Kc + r; }
95  else { sig = p*(Kc - ji)*(Kc - ji) + landa*Kc + mu + nu*(2 - Kc/ji)/ji; }
96  }
97  sig = std::max(sig, 0.0);
98  return sig;
99  }
Float_t Z
static const G4double paramC[6][11]
static const G4double emax
double G4double
Definition: G4Types.hh:76
Here is the caller graph for this function:

◆ ComputePowerParameter()

static G4double G4ChatterjeeCrossSection::ComputePowerParameter ( G4int  resA,
G4int  idx 
)
inlinestatic

Definition at line 63 of file G4ChatterjeeCrossSection.hh.

64  {
65  return G4Pow::GetInstance()->powZ(resA, paramC[idx][6]);
66  }
static G4Pow * GetInstance()
Definition: G4Pow.cc:55
G4double powZ(G4int Z, G4double y) const
Definition: G4Pow.hh:254
static const G4double paramC[6][11]
Here is the call graph for this function:
Here is the caller graph for this function:

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