Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ChatterjeeCrossSection Class Reference

#include <G4ChatterjeeCrossSection.hh>

Static Public Member Functions

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

Detailed Description

Definition at line 59 of file G4ChatterjeeCrossSection.hh.

Member Function Documentation

static G4double G4ChatterjeeCrossSection::ComputeCrossSection ( G4double  K,
G4double  cb,
G4double  resA13,
G4double  amu1,
G4int  idx,
G4int  Z,
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] + paramC[idx][6]*resA13)*resA13;
78  G4double nu = std::abs((paramC[idx][7]*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 = cb;
86  //G4double ec = 1.44 * Z * resZ / (1.5*resA13 + paramC[idx][10]);
87  G4double ecsq = ec*ec;
88  G4double p = paramC[idx][0] + paramC[idx][1]/ec + paramC[idx][2]/(ecsq);
89  G4double landa = paramC[idx][3]*resA + paramC[idx][4];
90  G4double mu = paramC[idx][5]*amu1;
91  G4double nu = amu1* (paramC[idx][7] + paramC[idx][8]*ec + paramC[idx][9]*ecsq);
92  G4double q = landa - nu/ecsq - 2*p*ec;
93  G4double r = mu + 2*nu/ec + p*ecsq;
94  G4double ji= std::max(Kc, ec);
95  if(Kc < ec) { sig = p*Kc*Kc + q*Kc + r; }
96  else { sig = p*(Kc - ji)*(Kc - ji) + landa*Kc + mu + nu*(2 - Kc/ji)/ji; }
97  }
98  sig = std::max(sig, 0.0);
99  return sig;
100  }
const char * p
Definition: xmltok.h:285
static const G4double paramC[6][11]
static const G4double emax
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
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

Here is the caller graph for this function:

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
static const G4double paramC[6][11]
G4double powZ(G4int Z, G4double y) const
Definition: G4Pow.hh:254

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: