Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DeexPrecoUtility Class Reference

#include <G4DeexPrecoUtility.hh>

Static Public Member Functions

static G4double CorrectionFactor (const G4int index, const G4int Z, const G4double A13, const G4double bCoulomb, const G4double ekin)
static G4double ProtonKValue (const G4int Z)
static G4double AlphaKValue (const G4int Z)
static G4double ProtonCValue (const G4int Z)
static G4double AlphaCValue (const G4int Z)
static G4double LevelDensity (const G4int Z, const G4int A, const G4int index)

Detailed Description

Definition at line 39 of file G4DeexPrecoUtility.hh.

Member Function Documentation

◆ AlphaCValue()

G4double G4DeexPrecoUtility::AlphaCValue ( const G4int Z)
static

Definition at line 116 of file G4DeexPrecoUtility.cc.

117{
118 G4double res;
119 if (30 >= Z) { res = 0.10; }
120 else if (50 >= Z) { res = 0.10 - (Z - 30)*0.001; }
121 else if (70 >= Z) { res = 0.08 + (Z - 50)*0.001; }
122 else { res = 0.06; }
123 return res;
124}
double G4double
Definition G4Types.hh:83

Referenced by G4AlphaEvaporationProbability::CalcAlphaParam(), G4He3EvaporationProbability::CalcAlphaParam(), CorrectionFactor(), G4PreCompoundAlpha::GetAlpha(), and G4PreCompoundHe3::GetAlpha().

◆ AlphaKValue()

G4double G4DeexPrecoUtility::AlphaKValue ( const G4int Z)
static

Definition at line 92 of file G4DeexPrecoUtility.cc.

93{
94 G4double res;
95 if (10 >= Z) { res = 0.68; }
96 else if (20 >= Z) { res = 0.68 + (Z - 10)*0.014; }
97 else if (30 >= Z) { res = 0.82 + (Z - 20)*0.009; }
98 else if (50 >= Z) { res = 0.91 + (Z - 30)*0.003; }
99 else if (70 > Z) { res = 0.97 + (Z - 50)*0.0005; }
100 else { res = 0.98; }
101 return res;
102}

Referenced by CorrectionFactor().

◆ CorrectionFactor()

G4double G4DeexPrecoUtility::CorrectionFactor ( const G4int index,
const G4int Z,
const G4double A13,
const G4double bCoulomb,
const G4double ekin )
static

Definition at line 44 of file G4DeexPrecoUtility.cc.

48{
49 G4double e = std::max(ekin, elim);
50 G4double x;
51 switch (index) {
52 case 0:
53 x = alpha*(0.76 + 2.2/A13 + (2.12/(A13*A13) - 0.05)*CLHEP::MeV/e);
54 break;
55
56 case 1:
57 x = (1. + ProtonCValue(Z))*(1. - beta*ProtonKValue(Z)*CB/e);
58 break;
59
60 case 2:
61 x = (1. + ProtonCValue(Z)*0.5)*(1. - beta*(ProtonKValue(Z) + 0.06)*CB/e);
62 break;
63
64 case 3:
65 x = (1. + ProtonCValue(Z)/3.)*(1. - beta*(ProtonKValue(Z) + 0.12)*CB/e);
66 break;
67
68 case 4:
69 x = (1. + AlphaCValue(Z)*4./3.)*(1. - beta*(AlphaKValue(Z) - 0.06)*CB/e);
70 break;
71
72 default:
73 x = (1. + AlphaCValue(Z))*(1. - beta*AlphaKValue(Z)*CB/e);
74 break;
75 }
76 x = std::max(x, 0.0);
77 return x;
78}
#define A13
static G4double AlphaCValue(const G4int Z)
static G4double ProtonKValue(const G4int Z)
static G4double AlphaKValue(const G4int Z)
static G4double ProtonCValue(const G4int Z)

Referenced by G4EvaporationProbability::CrossSection().

◆ LevelDensity()

G4double G4DeexPrecoUtility::LevelDensity ( const G4int Z,
const G4int A,
const G4int index )
static

Definition at line 127 of file G4DeexPrecoUtility.cc.

128{
129 G4double a = 0.05*A;
130 G4double x = (A - Z)*1.3/(G4double)A;
131 switch (idx) {
132 case 0:
133 a *= (1. - x/A)*(1. - x/A);
134 break;
135
136 case 1:
137 a *= (1. + x/A)*(1. + x/A);
138 break;
139
140 case 2:
141 a *= (1. - 0.5/A)*(1. - 0.5/A);
142 break;
143
144 case 3:
145 a *= (1. - (1. + x)/A)*(1. - (1. + x)/A);
146 break;
147
148 case 4:
149 a *= (1. - (1. - x)/A)*(1. - (1. - x)/A);
150 break;
151
152 default:
153 a *= (1. - 1.5/A)*(1. - 1.5/A);
154 break;
155 }
156 return a;
157}
const G4double A[17]

Referenced by G4GEMChannelVI::GetEmissionProbability(), and G4GEMChannelVI::ProbabilityDensityFunction().

◆ ProtonCValue()

G4double G4DeexPrecoUtility::ProtonCValue ( const G4int Z)
static

Definition at line 104 of file G4DeexPrecoUtility.cc.

105{
106 G4double res;
107 if (10 >= Z) { res = 0.50; }
108 else if (20 >= Z) { res = 0.50 - (Z - 10)*0.022; }
109 else if (30 >= Z) { res = 0.28 - (Z - 20)*0.008; }
110 else if (50 >= Z) { res = 0.20 - (Z - 30)*0.0025; }
111 else if (70 > Z) { res = 0.15 - (Z - 50)*0.0025; }
112 else { res = 0.1; }
113 return res;
114}

Referenced by G4DeuteronEvaporationProbability::CalcAlphaParam(), G4ProtonEvaporationProbability::CalcAlphaParam(), G4TritonEvaporationProbability::CalcAlphaParam(), CorrectionFactor(), G4PreCompoundDeuteron::GetAlpha(), G4PreCompoundProton::GetAlpha(), and G4PreCompoundTriton::GetAlpha().

◆ ProtonKValue()

G4double G4DeexPrecoUtility::ProtonKValue ( const G4int Z)
static

Definition at line 80 of file G4DeexPrecoUtility.cc.

81{
82 G4double res;
83 if (10 >= Z) { res = 0.42; }
84 else if (20 >= Z) { res = 0.42 + (Z - 10)*0.016; }
85 else if (30 >= Z) { res = 0.58 + (Z - 20)*0.01; }
86 else if (50 >= Z) { res = 0.68 + (Z - 30)*0.0045; }
87 else if (70 > Z) { res = 0.77 + (Z - 50)*0.0015; }
88 else { res = 0.8; }
89 return res;
90}

Referenced by CorrectionFactor().


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