Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
G4F18GEMProbability Class Reference

#include <G4F18GEMProbability.hh>

Inheritance diagram for G4F18GEMProbability:
G4GEMProbability G4VEmissionProbability

Public Member Functions

G4double CalcAlphaParam (const G4Fragment &) const
 
G4double CalcBetaParam (const G4Fragment &) const
 
virtual G4double ComputeProbability (G4double anEnergy, G4double CB)
 
void Dump () const
 
virtual G4double EmissionProbability (const G4Fragment &fragment, G4double maxKineticEnergy)
 
 G4F18GEMProbability ()
 
G4int GetA (void) const
 
G4double GetCoulombBarrier (const G4Fragment &fragment) const
 
G4double GetProbability () const
 
G4double GetRecoilExcitation () const
 
G4double GetSpin (void) const
 
G4int GetZ (void) const
 
void Initialise ()
 
void ResetProbability ()
 
G4double SampleEnergy ()
 
void SetCoulomBarrier (const G4VCoulombBarrier *aCoulombBarrierStrategy)
 
void SetDecayKinematics (G4int Z, G4int A, G4double rmass, G4double fmass)
 
void SetEvapExcitation (G4double exc)
 
 ~G4F18GEMProbability ()
 

Protected Member Functions

G4double IntegrateProbability (G4double elow, G4double ehigh, G4double CB)
 
void ResetIntegrator (size_t nbin, G4double de, G4double eps)
 

Protected Attributes

std::vector< G4doubleExcitEnergies
 
std::vector< G4doubleExcitLifetimes
 
std::vector< G4doubleExcitSpins
 
G4double fPlanck
 
G4int OPTxs
 
G4double pEvapMass
 
G4PowpG4pow
 
G4double pMass
 
G4NuclearLevelDatapNuclearLevelData
 
G4double pProbability
 
G4double pResMass
 
G4int pVerbose
 
G4int resA
 
G4int resZ
 
G4int theA
 
G4int theZ
 

Private Member Functions

G4double CalcProbability (const G4Fragment &fragment, G4double MaximalKineticEnergy, G4double V)
 
G4double CCoeficient (G4int) const
 
G4double FindRecoilExcitation (G4double e)
 
 G4F18GEMProbability (const G4F18GEMProbability &right)
 
G4double I0 (G4double t)
 
G4double I1 (G4double t, G4double tx)
 
G4double I2 (G4double s0, G4double sx)
 
G4double I3 (G4double s0, G4double sx)
 
G4bool operator!= (const G4F18GEMProbability &right) const
 
const G4F18GEMProbabilityoperator= (const G4F18GEMProbability &right)
 
G4bool operator== (const G4F18GEMProbability &right) const
 

Private Attributes

G4double accuracy
 
G4double eCoulomb
 
G4double elimit
 
G4double emax
 
G4double emin
 
G4double fExc
 
G4double fExcRes
 
G4bool fFD
 
G4PowfG4pow
 
G4NuclearLevelDatafNucData
 
size_t length
 
size_t nbin
 
G4double probmax
 
G4double Spin
 
const G4VCoulombBarriertheCoulombBarrierPtr
 
G4VLevelDensityParametertheEvapLDPptr
 

Detailed Description

Definition at line 38 of file G4F18GEMProbability.hh.

Constructor & Destructor Documentation

◆ G4F18GEMProbability() [1/2]

G4F18GEMProbability::G4F18GEMProbability ( )

Definition at line 34 of file G4F18GEMProbability.cc.

34 :
35 G4GEMProbability(18,9,1.0) // A,Z,Spin
36{
37 ExcitEnergies.push_back(937.2*keV);
38 ExcitSpins.push_back(3.0);
39 ExcitLifetimes.push_back(47.0*picosecond);
40
41 ExcitEnergies.push_back(1041.55*keV);
42 ExcitSpins.push_back(0.0);
43 ExcitLifetimes.push_back(3.0e-3*picosecond);
44
45 ExcitEnergies.push_back(1080.54*keV);
46 ExcitSpins.push_back(0.0);
47 ExcitLifetimes.push_back(21.0*picosecond);
48
49 ExcitEnergies.push_back(1121.36*keV);
50 ExcitSpins.push_back(5.0);
51 ExcitLifetimes.push_back(151.0*nanosecond);
52
53 ExcitEnergies.push_back(1700.81*keV);
54 ExcitSpins.push_back(1.0);
55 ExcitLifetimes.push_back(0.60*picosecond);
56
57 ExcitEnergies.push_back(2100.61*keV);
58 ExcitSpins.push_back(2.0);
59 ExcitLifetimes.push_back(3.0*picosecond);
60
61 ExcitEnergies.push_back(2523.35*keV);
62 ExcitSpins.push_back(2.0);
63 ExcitLifetimes.push_back(0.45*picosecond);
64
65 ExcitEnergies.push_back(3061.84*keV);
66 ExcitSpins.push_back(2.0);
67 ExcitLifetimes.push_back(0.8e-3*picosecond);
68
69 ExcitEnergies.push_back(3133.87*keV);
70 ExcitSpins.push_back(1.0);
71 ExcitLifetimes.push_back(0.26*picosecond);
72
73 ExcitEnergies.push_back(3358.2*keV);
74 ExcitSpins.push_back(3.0);
75 ExcitLifetimes.push_back(0.33*picosecond);
76
77 ExcitEnergies.push_back(3724.19*keV);
78 ExcitSpins.push_back(1.0);
79 ExcitLifetimes.push_back(0.06*picosecond);
80
81 ExcitEnergies.push_back(3839.17*keV);
82 ExcitSpins.push_back(2.0);
83 ExcitLifetimes.push_back(0.050*picosecond);
84
85 ExcitEnergies.push_back(4360.15*keV);
86 ExcitSpins.push_back(3.0);
87 ExcitLifetimes.push_back(0.42*picosecond);
88
89 ExcitEnergies.push_back(5297.6*keV);
90 ExcitSpins.push_back(4.0);
91 ExcitLifetimes.push_back(21.0*picosecond);
92
93 ExcitEnergies.push_back(5603.38*keV);
94 ExcitSpins.push_back(1.0);
95 ExcitLifetimes.push_back(fPlanck/(1.2*keV));
96
97 ExcitEnergies.push_back(5672.57*keV);
98 ExcitSpins.push_back(1.0);
99 ExcitLifetimes.push_back(fPlanck/(0.8*keV));
100
101 ExcitEnergies.push_back(6096.4*keV);
102 ExcitSpins.push_back(4.0);
103 ExcitLifetimes.push_back(fPlanck/(2.0*keV));
104
105 ExcitEnergies.push_back(6163.2*keV);
106 ExcitSpins.push_back(3.0);
107 ExcitLifetimes.push_back(fPlanck/(15.0*keV));
108
109 ExcitEnergies.push_back(6242.0*keV);
110 ExcitSpins.push_back(3.0);
111 ExcitLifetimes.push_back(fPlanck/(0.8*keV));
112
113 ExcitEnergies.push_back(6262.0*keV);
114 ExcitSpins.push_back(1.0);
115 ExcitLifetimes.push_back(fPlanck/(3.0*keV));
116
117 ExcitEnergies.push_back(6283.2*keV);
118 ExcitSpins.push_back(2.0);
119 ExcitLifetimes.push_back(fPlanck/(7.5*keV));
120
121 ExcitEnergies.push_back(6310.5*keV);
122 ExcitSpins.push_back(3.0);
123 ExcitLifetimes.push_back(fPlanck/(3.1*keV));
124
125 ExcitEnergies.push_back(6385.5*keV);
126 ExcitSpins.push_back(2.0);
127 ExcitLifetimes.push_back(fPlanck/(4.5*keV));
128
129 ExcitEnergies.push_back(6484.9*keV);
130 ExcitSpins.push_back(3.0);
131 ExcitLifetimes.push_back(fPlanck/(1.2*keV));
132
133 ExcitEnergies.push_back(6567.0*keV);
134 ExcitSpins.push_back(5.0);
135 ExcitLifetimes.push_back(fPlanck/(0.8*keV));
136
137 ExcitEnergies.push_back(6643.7*keV);
138 ExcitSpins.push_back(1.0);
139 ExcitLifetimes.push_back(fPlanck/(89.0*keV));
140
141 ExcitEnergies.push_back(6647.4*keV);
142 ExcitSpins.push_back(2.0);
143 ExcitLifetimes.push_back(fPlanck/(1.6*keV));
144
145 ExcitEnergies.push_back(6777.4*keV);
146 ExcitSpins.push_back(5.0);
147 ExcitLifetimes.push_back(fPlanck/(10.0*keV));
148
149 ExcitEnergies.push_back(6803.1*keV);
150 ExcitSpins.push_back(2.0);
151 ExcitLifetimes.push_back(fPlanck/(90.0*keV));
152
153 ExcitEnergies.push_back(7194.0*keV);
154 ExcitSpins.push_back(4.0);
155 ExcitLifetimes.push_back(fPlanck/(4.0*keV));
156
157 ExcitEnergies.push_back(7206.0*keV);
158 ExcitSpins.push_back(1.0);
159 ExcitLifetimes.push_back(fPlanck/(45.0*keV));
160
161 ExcitEnergies.push_back(7313.0*keV);
162 ExcitSpins.push_back(3.0);
163 ExcitLifetimes.push_back(fPlanck/(53.0*keV));
164
165 ExcitEnergies.push_back(7395.0*keV);
166 ExcitSpins.push_back(3.0);
167 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
168
169 ExcitEnergies.push_back(7872.0*keV);
170 ExcitSpins.push_back(2.0);
171 ExcitLifetimes.push_back(fPlanck/(30.0*keV));
172
173 ExcitEnergies.push_back(7950.0*keV);
174 ExcitSpins.push_back(1.0);
175 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
176
177 ExcitEnergies.push_back(9145.0*keV);
178 ExcitSpins.push_back(4.0);
179 ExcitLifetimes.push_back(fPlanck/(108.0*keV));
180
181 ExcitEnergies.push_back(9260.0*keV);
182 ExcitSpins.push_back(3.0);
183 ExcitLifetimes.push_back(fPlanck/(30.0*keV));
184
185 ExcitEnergies.push_back(9320.0*keV);
186 ExcitSpins.push_back(2.0);
187 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
188
189 ExcitEnergies.push_back(9700.0*keV);
190 ExcitSpins.push_back(3.0);
191 ExcitLifetimes.push_back(fPlanck/(370.0*keV));
192
193 ExcitEnergies.push_back(9820.0*keV);
194 ExcitSpins.push_back(2.0);
195 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
196
197 ExcitEnergies.push_back(10210.0*keV);
198 ExcitSpins.push_back(1.0);
199 ExcitLifetimes.push_back(fPlanck/(90.0*keV));
200
201 ExcitEnergies.push_back(10268.0*keV);
202 ExcitSpins.push_back(3.0);
203 ExcitLifetimes.push_back(fPlanck/(180.0*keV));
204
205 ExcitEnergies.push_back(10310.0*keV);
206 ExcitSpins.push_back(2.0);
207 ExcitLifetimes.push_back(fPlanck/(570.0*keV));
208
209 ExcitEnergies.push_back(10352.0*keV);
210 ExcitSpins.push_back(1.0);
211 ExcitLifetimes.push_back(fPlanck/(270.0*keV));
212
213 ExcitEnergies.push_back(10420.0*keV);
214 ExcitSpins.push_back(3.0);
215 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
216
217 ExcitEnergies.push_back(10541.0*keV);
218 ExcitSpins.push_back(2.0);
219 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
220
221 ExcitEnergies.push_back(10590.0*keV);
222 ExcitSpins.push_back(1.0);
223 ExcitLifetimes.push_back(fPlanck/(160.0*keV));
224
225 ExcitEnergies.push_back(10610.0*keV);
226 ExcitSpins.push_back(2.0);
227 ExcitLifetimes.push_back(fPlanck/(150.0*keV));
228
229 ExcitEnergies.push_back(10630.0*keV);
230 ExcitSpins.push_back(1.0);
231 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
232
233 ExcitEnergies.push_back(10640.0*keV);
234 ExcitSpins.push_back(3.0);
235 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
236
237 ExcitEnergies.push_back(10680.0*keV);
238 ExcitSpins.push_back(2.0);
239 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
240
241 ExcitEnergies.push_back(10690.0*keV);
242 ExcitSpins.push_back(3.0);
243 ExcitLifetimes.push_back(fPlanck/(75.0*keV));
244
245 ExcitEnergies.push_back(10710.0*keV);
246 ExcitSpins.push_back(2.0);
247 ExcitLifetimes.push_back(fPlanck/(375.0*keV));
248
249 ExcitEnergies.push_back(10800.0*keV);
250 ExcitSpins.push_back(2.0);
251 ExcitLifetimes.push_back(fPlanck/(85.0*keV));
252
253 ExcitEnergies.push_back(10910.0*keV);
254 ExcitSpins.push_back(1.0);
255 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
256
257 ExcitEnergies.push_back(10950.0*keV);
258 ExcitSpins.push_back(2.0);
259 ExcitLifetimes.push_back(fPlanck/(400.0*keV));
260
261 ExcitEnergies.push_back(10980.0*keV);
262 ExcitSpins.push_back(3.0);
263 ExcitLifetimes.push_back(fPlanck/(120.0*keV));
264
265 ExcitEnergies.push_back(10990.0*keV);
266 ExcitSpins.push_back(2.0);
267 ExcitLifetimes.push_back(fPlanck/(220.0*keV));
268
269 ExcitEnergies.push_back(11030.0*keV);
270 ExcitSpins.push_back(2.0);
271 ExcitLifetimes.push_back(fPlanck/(80.0*keV));
272
273 ExcitEnergies.push_back(11073.0*keV);
274 ExcitSpins.push_back(2.0);
275 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
276
277 ExcitEnergies.push_back(11110.0*keV);
278 ExcitSpins.push_back(1.0);
279 ExcitLifetimes.push_back(fPlanck/(1000.0*keV));
280
281 ExcitEnergies.push_back(11130.0*keV);
282 ExcitSpins.push_back(3.0);
283 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
284
285 ExcitEnergies.push_back(11260.0*keV);
286 ExcitSpins.push_back(3.0);
287 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
288
289 ExcitEnergies.push_back(11300.0*keV);
290 ExcitSpins.push_back(2.0);
291 ExcitLifetimes.push_back(fPlanck/(475.0*keV));
292
293 ExcitEnergies.push_back(11310.0*keV);
294 ExcitSpins.push_back(4.0);
295 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
296
297 ExcitEnergies.push_back(11320.0*keV);
298 ExcitSpins.push_back(2.0);
299 ExcitLifetimes.push_back(fPlanck/(95.0*keV));
300
301 ExcitEnergies.push_back(11320.0*keV);
302 ExcitSpins.push_back(3.0);
303 ExcitLifetimes.push_back(fPlanck/(65.0*keV));
304
305 ExcitEnergies.push_back(11510.0*keV);
306 ExcitSpins.push_back(2.0);
307 ExcitLifetimes.push_back(fPlanck/(125.0*keV));
308
309 ExcitEnergies.push_back(11560.0*keV);
310 ExcitSpins.push_back(3.0);
311 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
312
313 ExcitEnergies.push_back(11660.0*keV);
314 ExcitSpins.push_back(2.0);
315 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
316
317 ExcitEnergies.push_back(11830.0*keV);
318 ExcitSpins.push_back(1.0);
319 ExcitLifetimes.push_back(fPlanck/(180.0*keV));
320
321 ExcitEnergies.push_back(11960.0*keV);
322 ExcitSpins.push_back(3.0);
323 ExcitLifetimes.push_back(fPlanck/(30.0*keV));
324
325 ExcitEnergies.push_back(11970.0*keV);
326 ExcitSpins.push_back(2.0);
327 ExcitLifetimes.push_back(fPlanck/(125.0*keV));
328
329 ExcitEnergies.push_back(12120.0*keV);
330 ExcitSpins.push_back(3.0);
331 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
332
333 ExcitEnergies.push_back(12140.0*keV);
334 ExcitSpins.push_back(2.0);
335 ExcitLifetimes.push_back(fPlanck/(220.0*keV));
336
337 ExcitEnergies.push_back(12250.0*keV);
338 ExcitSpins.push_back(2.0);
339 ExcitLifetimes.push_back(fPlanck/(170.0*keV));
340
341 ExcitEnergies.push_back(12310.0*keV);
342 ExcitSpins.push_back(1.0);
343 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
344
345 ExcitEnergies.push_back(12340.0*keV);
346 ExcitSpins.push_back(3.0);
347 ExcitLifetimes.push_back(fPlanck/(190.0*keV));
348
349 ExcitEnergies.push_back(12360.0*keV);
350 ExcitSpins.push_back(2.0);
351 ExcitLifetimes.push_back(fPlanck/(80.0*keV));
352
353 ExcitEnergies.push_back(12380.0*keV);
354 ExcitSpins.push_back(2.0);
355 ExcitLifetimes.push_back(fPlanck/(120.0*keV));
356
357 ExcitEnergies.push_back(12470.0*keV);
358 ExcitSpins.push_back(1.0);
359 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
360
361 ExcitEnergies.push_back(12480.0*keV);
362 ExcitSpins.push_back(3.0);
363 ExcitLifetimes.push_back(fPlanck/(120.0*keV));
364
365 ExcitEnergies.push_back(12484.0*keV);
366 ExcitSpins.push_back(4.0);
367 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
368
369 ExcitEnergies.push_back(12526.0*keV);
370 ExcitSpins.push_back(3.0);
371 ExcitLifetimes.push_back(fPlanck/(80.0*keV));
372
373 ExcitEnergies.push_back(12565.0*keV);
374 ExcitSpins.push_back(2.0);
375 ExcitLifetimes.push_back(fPlanck/(300.0*keV));
376
377 ExcitEnergies.push_back(12630.0*keV);
378 ExcitSpins.push_back(2.0);
379 ExcitLifetimes.push_back(fPlanck/(210.0*keV));
380
381 ExcitEnergies.push_back(12670.0*keV);
382 ExcitSpins.push_back(2.0);
383 ExcitLifetimes.push_back(fPlanck/(290.0*keV));
384
385 ExcitEnergies.push_back(12683.0*keV);
386 ExcitSpins.push_back(5.0);
387 ExcitLifetimes.push_back(fPlanck/(45.0*keV));
388
389 ExcitEnergies.push_back(12702.0*keV);
390 ExcitSpins.push_back(3.0);
391 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
392
393 ExcitEnergies.push_back(12810.0*keV);
394 ExcitSpins.push_back(2.0);
395 ExcitLifetimes.push_back(fPlanck/(440.0*keV));
396
397 ExcitEnergies.push_back(12900.0*keV);
398 ExcitSpins.push_back(3.0);
399 ExcitLifetimes.push_back(fPlanck/(120.0*keV));
400
401 ExcitEnergies.push_back(12990.0*keV);
402 ExcitSpins.push_back(2.0);
403 ExcitLifetimes.push_back(fPlanck/(650.0*keV));
404
405 ExcitEnergies.push_back(13030.0*keV);
406 ExcitSpins.push_back(3.0);
407 ExcitLifetimes.push_back(fPlanck/(250.0*keV));
408
409 ExcitEnergies.push_back(13030.0*keV);
410 ExcitSpins.push_back(4.0);
411 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
412
413 ExcitEnergies.push_back(13129.0*keV);
414 ExcitSpins.push_back(4.0);
415 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
416
417 ExcitEnergies.push_back(13170.0*keV);
418 ExcitSpins.push_back(1.0);
419 ExcitLifetimes.push_back(fPlanck/(185.0*keV));
420
421 ExcitEnergies.push_back(13198.0*keV);
422 ExcitSpins.push_back(5.0);
423 ExcitLifetimes.push_back(fPlanck/(140.0*keV));
424
425 ExcitEnergies.push_back(13200.0*keV);
426 ExcitSpins.push_back(4.0);
427 ExcitLifetimes.push_back(fPlanck/(255.0*keV));
428
429 ExcitEnergies.push_back(13260.0*keV);
430 ExcitSpins.push_back(4.0);
431 ExcitLifetimes.push_back(fPlanck/(360.0*keV));
432
433 ExcitEnergies.push_back(13290.0*keV);
434 ExcitSpins.push_back(2.0);
435 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
436
437 ExcitEnergies.push_back(13332.0*keV);
438 ExcitSpins.push_back(5.0);
439 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
440
441 ExcitEnergies.push_back(13398.0*keV);
442 ExcitSpins.push_back(6.0);
443 ExcitLifetimes.push_back(fPlanck/(85.0*keV));
444
445 ExcitEnergies.push_back(13430.0*keV);
446 ExcitSpins.push_back(3.0);
447 ExcitLifetimes.push_back(fPlanck/(235.0*keV));
448
449 ExcitEnergies.push_back(13440.0*keV);
450 ExcitSpins.push_back(1.0);
451 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
452
453 ExcitEnergies.push_back(13464.0*keV);
454 ExcitSpins.push_back(4.0);
455 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
456
457 ExcitEnergies.push_back(13500.0*keV);
458 ExcitSpins.push_back(5.0);
459 ExcitLifetimes.push_back(fPlanck/(65.0*keV));
460
461 ExcitEnergies.push_back(13597.0*keV);
462 ExcitSpins.push_back(6.0);
463 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
464
465 ExcitEnergies.push_back(13600.0*keV);
466 ExcitSpins.push_back(4.0);
467 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
468
469 ExcitEnergies.push_back(13610.0*keV);
470 ExcitSpins.push_back(1.0);
471 ExcitLifetimes.push_back(fPlanck/(90.0*keV));
472
473 ExcitEnergies.push_back(13650.0*keV);
474 ExcitSpins.push_back(5.0);
475 ExcitLifetimes.push_back(fPlanck/(300.0*keV));
476
477 ExcitEnergies.push_back(13652.0*keV);
478 ExcitSpins.push_back(3.0);
479 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
480
481 ExcitEnergies.push_back(13671.0*keV);
482 ExcitSpins.push_back(2.0);
483 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
484
485 ExcitEnergies.push_back(13679.0*keV);
486 ExcitSpins.push_back(4.0);
487 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
488
489 ExcitEnergies.push_back(13700.0*keV);
490 ExcitSpins.push_back(2.0);
491 ExcitLifetimes.push_back(fPlanck/(80.0*keV));
492
493 ExcitEnergies.push_back(13770.0*keV);
494 ExcitSpins.push_back(3.0);
495 ExcitLifetimes.push_back(fPlanck/(205.0*keV));
496
497 ExcitEnergies.push_back(13780.0*keV);
498 ExcitSpins.push_back(4.0);
499 ExcitLifetimes.push_back(fPlanck/(130.0*keV));
500
501 ExcitEnergies.push_back(13810.0*keV);
502 ExcitSpins.push_back(2.0);
503 ExcitLifetimes.push_back(fPlanck/(265.0*keV));
504
505 ExcitEnergies.push_back(13960.0*keV);
506 ExcitSpins.push_back(1.0);
507 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
508
509 ExcitEnergies.push_back(13980.0*keV);
510 ExcitSpins.push_back(5.0);
511 ExcitLifetimes.push_back(fPlanck/(170.0*keV));
512
513 ExcitEnergies.push_back(14100.0*keV);
514 ExcitSpins.push_back(2.0);
515 ExcitLifetimes.push_back(fPlanck/(170.0*keV));
516
517 ExcitEnergies.push_back(14162.0*keV);
518 ExcitSpins.push_back(5.0);
519 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
520
521 ExcitEnergies.push_back(14323.0*keV);
522 ExcitSpins.push_back(4.0);
523 ExcitLifetimes.push_back(fPlanck/(95.0*keV));
524
525 ExcitEnergies.push_back(16513.0*keV);
526 ExcitSpins.push_back(6.0);
527 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
528
529 ExcitEnergies.push_back(16606.0*keV);
530 ExcitSpins.push_back(5.0);
531 ExcitLifetimes.push_back(fPlanck/(50.0*keV));
532
533 ExcitEnergies.push_back(16723.0*keV);
534 ExcitSpins.push_back(6.0);
535 ExcitLifetimes.push_back(fPlanck/(150.0*keV));
536
537 ExcitEnergies.push_back(16870.0*keV);
538 ExcitSpins.push_back(7.0);
539 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
540
541 ExcitEnergies.push_back(16948.0*keV);
542 ExcitSpins.push_back(6.0);
543 ExcitLifetimes.push_back(fPlanck/(150.0*keV));
544
545}
static constexpr double keV
Definition: G4SIunits.hh:202
static constexpr double picosecond
Definition: G4SIunits.hh:141
static constexpr double nanosecond
Definition: G4SIunits.hh:138
std::vector< G4double > ExcitSpins
std::vector< G4double > ExcitEnergies
std::vector< G4double > ExcitLifetimes

References G4GEMProbability::ExcitEnergies, G4GEMProbability::ExcitLifetimes, G4GEMProbability::ExcitSpins, G4GEMProbability::fPlanck, keV, nanosecond, and picosecond.

◆ ~G4F18GEMProbability()

G4F18GEMProbability::~G4F18GEMProbability ( )

Definition at line 547 of file G4F18GEMProbability.cc.

548{}

◆ G4F18GEMProbability() [2/2]

G4F18GEMProbability::G4F18GEMProbability ( const G4F18GEMProbability right)
private

Member Function Documentation

◆ CalcAlphaParam()

G4double G4GEMProbability::CalcAlphaParam ( const G4Fragment fragment) const
inlineinherited

Definition at line 165 of file G4GEMProbability.hh.

166{
167 //JMQ 190709 values according to Furihata's paper (based on notes added
168 //on proof in Dostrovskii's paper)
169 G4double res;
170 if(theZ == 0) {
171 res = 0.76+1.93/fG4pow->Z13(fragment.GetA_asInt()-theA);
172 } else {
173 res = 1.0 + CCoeficient(fragment.GetZ_asInt()-theZ);
174 }
175 return res;
176}
double G4double
Definition: G4Types.hh:83
G4int GetZ_asInt() const
Definition: G4Fragment.hh:276
G4int GetA_asInt() const
Definition: G4Fragment.hh:271
G4double CCoeficient(G4int) const
G4double Z13(G4int Z) const
Definition: G4Pow.hh:123

References G4GEMProbability::CCoeficient(), G4GEMProbability::fG4pow, G4Fragment::GetA_asInt(), G4Fragment::GetZ_asInt(), G4VEmissionProbability::theA, G4VEmissionProbability::theZ, and G4Pow::Z13().

Referenced by G4GEMProbability::CalcBetaParam(), G4GEMProbability::CalcProbability(), and G4GEMChannel::SampleKineticEnergy().

◆ CalcBetaParam()

G4double G4GEMProbability::CalcBetaParam ( const G4Fragment fragment) const
inlineinherited

Definition at line 179 of file G4GEMProbability.hh.

180{
181 //JMQ 190709 values according to Furihata's paper (based on notes added
182 //on proof in Dostrovskii's paper)
183 G4double res;
184 if(theZ == 0) {
185 res = (1.66/fG4pow->Z23(fragment.GetA_asInt()-theA)-0.05)*CLHEP::MeV/
186 CalcAlphaParam(fragment);
187 } else {
188 res = -GetCoulombBarrier(fragment);
189 }
190 return res;
191}
G4double GetCoulombBarrier(const G4Fragment &fragment) const
G4double CalcAlphaParam(const G4Fragment &) const
G4double Z23(G4int Z) const
Definition: G4Pow.hh:125
static constexpr double MeV

References G4GEMProbability::CalcAlphaParam(), G4GEMProbability::fG4pow, G4Fragment::GetA_asInt(), G4GEMProbability::GetCoulombBarrier(), CLHEP::MeV, G4VEmissionProbability::theA, G4VEmissionProbability::theZ, and G4Pow::Z23().

Referenced by G4GEMProbability::CalcProbability(), and G4GEMChannel::SampleKineticEnergy().

◆ CalcProbability()

G4double G4GEMProbability::CalcProbability ( const G4Fragment fragment,
G4double  MaximalKineticEnergy,
G4double  V 
)
privateinherited

Definition at line 110 of file G4GEMProbability.cc.

115{
116 G4int A = fragment.GetA_asInt();
117 G4int Z = fragment.GetZ_asInt();
118
119 G4int ResidualA = A - theA;
120 G4int ResidualZ = Z - theZ;
121 G4double U = fragment.GetExcitationEnergy();
122
123 G4double NuclearMass = fragment.ComputeGroundStateMass(theZ, theA);
124
125 G4double Alpha = CalcAlphaParam(fragment);
126 G4double Beta = CalcBetaParam(fragment);
127
128 // ***RESIDUAL***
129 //JMQ (September 2009) the following quantities refer to the RESIDUAL:
130
131 G4double delta0 = fNucData->GetPairingCorrection(ResidualZ, ResidualA);
132
134 LevelDensityParameter(ResidualA,ResidualZ,MaximalKineticEnergy+V-delta0);
135 G4double Ux = (2.5 + 150.0/G4double(ResidualA))*MeV;
136 G4double Ex = Ux + delta0;
137 G4double T = 1.0/(std::sqrt(a/Ux) - 1.5/Ux);
138 //JMQ fixed bug in units
139 G4double E0 = Ex - T*(G4Log(T/MeV) - G4Log(a*MeV)/4.0
140 - 1.25*G4Log(Ux/MeV) + 2.0*std::sqrt(a*Ux));
141 // ***end RESIDUAL ***
142 // ***PARENT***
143 //JMQ (September 2009) the following quantities refer to the PARENT:
144
146 G4double aCN = theEvapLDPptr->LevelDensityParameter(A, Z, U-deltaCN);
147 G4double UxCN = (2.5 + 150.0/G4double(A))*MeV;
148 G4double ExCN = UxCN + deltaCN;
149 G4double TCN = 1.0/(std::sqrt(aCN/UxCN) - 1.5/UxCN);
150 // ***end PARENT***
151
152 G4double Width;
153 G4double InitialLevelDensity;
154 G4double t = MaximalKineticEnergy/T;
155 if ( MaximalKineticEnergy < Ex ) {
156 //JMQ 190709 bug in I1 fixed (T was missing)
157 Width = (I1(t,t)*T + (Beta+V)*I0(t))/G4Exp(E0/T);
158 //JMQ 160909 fix: InitialLevelDensity has been taken away
159 //(different conditions for initial CN..)
160 } else {
161
162 //VI minor speedup
163 G4double expE0T = G4Exp(E0/T);
164 static const G4double sqrt2 = std::sqrt(2.0);
165
166 G4double tx = Ex/T;
167 G4double s0 = 2.0*std::sqrt(a*(MaximalKineticEnergy-delta0));
168 G4double sx = 2.0*std::sqrt(a*(Ex-delta0));
169 // VI: protection against FPE exception
170 if(s0 > 350.) { s0 = 350.; }
171 Width = I1(t,tx)*T/expE0T + I3(s0,sx)*G4Exp(s0)/(sqrt2*a);
172
173 // VI this cannot happen!
174 // For charged particles (Beta+V) = 0 beacuse Beta = -V
175 //if (theZ == 0) {
176 // Width += (Beta+V)*(I0(tx)/expE0T + 2.0*sqrt2*I2(s0,sx)*G4Exp(s0));
177 //}
178 }
179
180 //JMQ 14/07/2009 BIG BUG : NuclearMass is in MeV => hbarc instead of
181 // hbar_planck must be used
182 // G4double g = (2.0*Spin+1.0)*NuclearMass/(pi2* hbar_Planck*hbar_Planck);
183 G4double gg = (2.0*Spin+1.0)*NuclearMass/(pi2* hbarc*hbarc);
184
185 //JMQ 190709 fix on Rb and geometrical cross sections according to
186 // Furihata's paper (JAERI-Data/Code 2001-105, p6)
187 G4double Rb = 0.0;
188 if (theA > 4)
189 {
190 G4double Ad = fG4pow->Z13(ResidualA);
191 G4double Aj = fG4pow->Z13(theA);
192 Rb = 1.12*(Aj + Ad) - 0.86*((Aj+Ad)/(Aj*Ad))+2.85;
193 Rb *= fermi;
194 }
195 else if (theA>1)
196 {
197 G4double Ad = fG4pow->Z13(ResidualA);
198 G4double Aj = fG4pow->Z13(theA);
199 Rb=1.5*(Aj+Ad)*fermi;
200 }
201 else
202 {
203 G4double Ad = fG4pow->Z13(ResidualA);
204 Rb = 1.5*Ad*fermi;
205 }
206 G4double GeometricalXS = pi*Rb*Rb;
207 //end of JMQ fix on Rb by 190709
208
209 //JMQ 160909 fix: initial level density must be calculated according to the
210 // conditions at the initial compound nucleus
211 // (it has been removed from previous "if" for the residual)
212
213 if ( U < ExCN )
214 {
215 //JMQ fixed bug in units
216 //VI moved the computation here
217 G4double E0CN = ExCN - TCN*(G4Log(TCN/MeV) - 0.25*G4Log(aCN*MeV)
218 - 1.25*G4Log(UxCN/MeV)
219 + 2.0*std::sqrt(aCN*UxCN));
220
221 InitialLevelDensity = (pi/12.0)*G4Exp((U-E0CN)/TCN)/TCN;
222 }
223 else
224 {
225 //VI speedup
226 G4double x = U-deltaCN;
227 G4double x1 = std::sqrt(aCN*x);
228
229 InitialLevelDensity = (pi/12.0)*G4Exp(2*x1)/(x*std::sqrt(x1));
230 }
231
232 //JMQ 190709 BUG : pi instead of sqrt(pi) must be here according
233 // to Furihata's report:
234 Width *= pi*gg*GeometricalXS*Alpha/(12.0*InitialLevelDensity);
235
236 return Width;
237}
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:179
G4double G4Log(G4double x)
Definition: G4Log.hh:226
static constexpr double pi2
Definition: G4SIunits.hh:58
static constexpr double fermi
Definition: G4SIunits.hh:83
static constexpr double MeV
Definition: G4SIunits.hh:200
static constexpr double pi
Definition: G4SIunits.hh:55
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
const G4double A[17]
G4double ComputeGroundStateMass(G4int Z, G4int A, G4int numberOfLambdas=0) const
Definition: G4Fragment.hh:259
G4double GetExcitationEnergy() const
Definition: G4Fragment.hh:299
G4double I3(G4double s0, G4double sx)
G4VLevelDensityParameter * theEvapLDPptr
G4double I0(G4double t)
G4NuclearLevelData * fNucData
G4double CalcBetaParam(const G4Fragment &) const
G4double I1(G4double t, G4double tx)
G4PairingCorrection * GetPairingCorrection()
virtual G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const =0
float hbarc
Definition: hepunit.py:264

References A, Alpha, G4GEMProbability::CalcAlphaParam(), G4GEMProbability::CalcBetaParam(), G4Fragment::ComputeGroundStateMass(), fermi, G4GEMProbability::fG4pow, G4GEMProbability::fNucData, G4Exp(), G4Log(), G4Fragment::GetA_asInt(), G4Fragment::GetExcitationEnergy(), G4NuclearLevelData::GetPairingCorrection(), G4Fragment::GetZ_asInt(), source.hepunit::hbarc, G4GEMProbability::I0(), G4GEMProbability::I1(), G4GEMProbability::I3(), G4VLevelDensityParameter::LevelDensityParameter(), MeV, pi, pi2, G4InuclParticleNames::s0, G4GEMProbability::Spin, G4VEmissionProbability::theA, G4GEMProbability::theEvapLDPptr, G4VEmissionProbability::theZ, Z, and G4Pow::Z13().

Referenced by G4GEMProbability::EmissionProbability().

◆ CCoeficient()

G4double G4GEMProbability::CCoeficient ( G4int  aZ) const
inlineprivateinherited

Definition at line 149 of file G4GEMProbability.hh.

150{
151 //JMQ 190709 C's values from Furihata's paper
152 //(notes added on proof in Dostrovskii's paper)
153 //data = {{20, 0.}, {30, -0.06}, {40, -0.10}, {50, -0.10}};
154 G4double C = 0.0;
155 if (aZ >= 50){
156 C=-0.10/G4double(theA);
157 } else if (aZ > 20) {
158 C=(0.123482-0.00534691*aZ-0.0000610624*aZ*aZ+5.93719*1e-7*aZ*aZ*aZ+
159 1.95687*1e-8*aZ*aZ*aZ*aZ)/G4double(theA);
160 }
161 return C;
162}
G4double C(G4double temp)

References C(), and G4VEmissionProbability::theA.

Referenced by G4GEMProbability::CalcAlphaParam().

◆ ComputeProbability()

G4double G4VEmissionProbability::ComputeProbability ( G4double  anEnergy,
G4double  CB 
)
virtualinherited

◆ Dump()

void G4GEMProbability::Dump ( ) const
inherited

Definition at line 261 of file G4GEMProbability.cc.

262{
264 G4double efermi = 0.0;
265 if(theA > 1) {
267 + neutron_mass_c2 - mass;
268 }
269 G4int nlev = ExcitEnergies.size();
270 G4cout << "GEM: List of Excited States for Isotope Z= "
271 << theZ << " A= " << theA << " Nlevels= " << nlev
272 << " Efermi(MeV)= " << efermi
273 << G4endl;
274 for(G4int i=0; i< nlev; ++i) {
275 G4cout << "Z= " << theZ << " A= " << theA
276 << " Mass(GeV)= " << mass/GeV
277 << " Eexc(MeV)= " << ExcitEnergies[i]
278 << " Time(ns)= " << ExcitLifetimes[i]/ns
279 << G4endl;
280 }
281 G4cout << G4endl;
282}
static constexpr double GeV
Definition: G4SIunits.hh:203
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static G4double GetNuclearMass(const G4double A, const G4double Z)
float neutron_mass_c2
Definition: hepunit.py:275
#define ns
Definition: xmlparse.cc:614

References G4GEMProbability::ExcitEnergies, G4GEMProbability::ExcitLifetimes, G4cout, G4endl, G4NucleiProperties::GetNuclearMass(), GeV, source.hepunit::neutron_mass_c2, ns, G4VEmissionProbability::theA, and G4VEmissionProbability::theZ.

Referenced by G4GEMChannel::Dump().

◆ EmissionProbability()

G4double G4GEMProbability::EmissionProbability ( const G4Fragment fragment,
G4double  maxKineticEnergy 
)
virtualinherited

Reimplemented from G4VEmissionProbability.

Definition at line 73 of file G4GEMProbability.cc.

75{
76 G4double probability = 0.0;
77
78 if (MaximalKineticEnergy > 0.0 && fragment.GetExcitationEnergy() > 0.0) {
79 G4double CoulombBarrier = GetCoulombBarrier(fragment);
80
81 probability =
82 CalcProbability(fragment,MaximalKineticEnergy,CoulombBarrier);
83
84 // Next there is a loop over excited states for this channel
85 // summing probabilities
86 size_t nn = ExcitEnergies.size();
87 if (0 < nn) {
88 G4double SavedSpin = Spin;
89 for (size_t i = 0; i <nn; ++i) {
90 Spin = ExcitSpins[i];
91 // substract excitation energies
92 G4double Tmax = MaximalKineticEnergy - ExcitEnergies[i];
93 if (Tmax > 0.0) {
94 G4double width = CalcProbability(fragment,Tmax,CoulombBarrier);
95 //JMQ April 2010 added condition to prevent reported crash
96 // update probability
97 if (width > 0. && fPlanck < width*ExcitLifetimes[i]) {
98 probability += width;
99 }
100 }
101 }
102 // Restore Spin
103 Spin = SavedSpin;
104 }
105 }
106 // Normalization = probability;
107 return probability;
108}
G4double CalcProbability(const G4Fragment &fragment, G4double MaximalKineticEnergy, G4double V)

References G4GEMProbability::CalcProbability(), G4GEMProbability::ExcitEnergies, G4GEMProbability::ExcitLifetimes, G4GEMProbability::ExcitSpins, G4GEMProbability::fPlanck, G4GEMProbability::GetCoulombBarrier(), G4Fragment::GetExcitationEnergy(), G4InuclParticleNames::nn, and G4GEMProbability::Spin.

◆ FindRecoilExcitation()

G4double G4VEmissionProbability::FindRecoilExcitation ( G4double  e)
privateinherited

Definition at line 187 of file G4VEmissionProbability.cc.

188{
189 fExcRes = 0.0;
190 G4double mass = pEvapMass + fExc;
191 // abnormal case - should never happens
192 if(pMass < mass + pResMass) { return 0.0; }
193
194 G4double m02 = pMass*pMass;
195 G4double m12 = mass*mass;
197 G4double mres = std::sqrt(m02 + m12 - 2.*pMass*(mass + e));
198
199 fExcRes = mres - pResMass;
200 const G4double tolerance = 0.1*CLHEP::keV;
201
202 if(pVerbose > 1) {
203 G4cout << "### G4VEmissionProbability::FindRecoilExcitation for resZ= "
204 << resZ << " resA= " << resA
205 << " evaporated Z= " << theZ << " A= " << theA
206 << " Ekin= " << e << " Eexc= " << fExcRes << G4endl;
207 }
208
209 // residual nucleus is in the ground state
210 if(fExcRes < tolerance) {
211 fExcRes = 0.0;
212 //G4cout<<"Ground state Ekin= "<< 0.5*(m02 + m12 - m22)/pMass - mass<<G4endl;
213 return std::max(0.5*(m02 + m12 - m22)/pMass - mass,0.0);
214 }
215 // select final state excitation
216 auto lManager = pNuclearLevelData->GetLevelManager(resZ, resA);
217 if(!lManager) { return e; }
218
219 //G4cout<<"ExcMax= "<< lManager->MaxLevelEnergy()<<" CB= "<<eCoulomb<<G4endl;
220 // levels are not known
221 if(fExcRes > lManager->MaxLevelEnergy() + tolerance) { return e; }
222
223 // find level
224 auto idx = lManager->NearestLevelIndex(fExcRes);
225 //G4cout << "idx= " << idx << " Exc= " << fExcRes
226 // << " Elevel= " << lManager->LevelEnergy(idx) << G4endl;
227 for(; idx > 0; --idx) {
228 fExcRes = lManager->LevelEnergy(idx);
229 // excited level
230 if(pMass > mass + pResMass + fExcRes && lManager->FloatingLevel(idx) == 0) {
231 G4double massR = pResMass + fExcRes;
232 G4double mr2 = massR*massR;
233 //G4cout << "Result idx= " << idx << " Eexc= " << fExcRes
234 // << " Ekin= " << 0.5*(m02 + m12 - mr2)/pMass - mass << G4endl;
235 return std::max(0.5*(m02 + m12 - mr2)/pMass - mass,0.0);
236 }
237 }
238 // ground level
239 fExcRes = 0.0;
240 //G4cout << "Ground state Ekin= " << 0.5*(m02 + m12 - m22)/pMass - mass << G4endl;
241 return std::max(0.5*(m02 + m12 - m22)/pMass - mass,0.0);
242}
size_t NearestLevelIndex(G4double energy, size_t index=0) const
const G4LevelManager * GetLevelManager(G4int Z, G4int A)
G4NuclearLevelData * pNuclearLevelData
static constexpr double keV
T max(const T t1, const T t2)
brief Return the largest of the two arguments

References G4VEmissionProbability::fExc, G4VEmissionProbability::fExcRes, G4cout, G4endl, G4NuclearLevelData::GetLevelManager(), CLHEP::keV, G4INCL::Math::max(), G4LevelManager::NearestLevelIndex(), G4VEmissionProbability::pEvapMass, G4VEmissionProbability::pMass, G4VEmissionProbability::pNuclearLevelData, G4VEmissionProbability::pResMass, G4VEmissionProbability::pVerbose, G4VEmissionProbability::resA, G4VEmissionProbability::resZ, G4VEmissionProbability::theA, and G4VEmissionProbability::theZ.

Referenced by G4VEmissionProbability::SampleEnergy().

◆ GetA()

G4int G4VEmissionProbability::GetA ( void  ) const
inlineinherited

Definition at line 63 of file G4VEmissionProbability.hh.

63{ return theA; }

References G4VEmissionProbability::theA.

◆ GetCoulombBarrier()

G4double G4GEMProbability::GetCoulombBarrier ( const G4Fragment fragment) const
inlineinherited

◆ GetProbability()

G4double G4VEmissionProbability::GetProbability ( ) const
inlineinherited

Definition at line 75 of file G4VEmissionProbability.hh.

75{ return pProbability; };

References G4VEmissionProbability::pProbability.

◆ GetRecoilExcitation()

G4double G4VEmissionProbability::GetRecoilExcitation ( ) const
inlineinherited

Definition at line 71 of file G4VEmissionProbability.hh.

71{ return fExcRes; };

References G4VEmissionProbability::fExcRes.

◆ GetSpin()

G4double G4GEMProbability::GetSpin ( void  ) const
inlineinherited

Definition at line 124 of file G4GEMProbability.hh.

125{
126 return Spin;
127}

References G4GEMProbability::Spin.

Referenced by G4GEMChannel::SampleKineticEnergy().

◆ GetZ()

G4int G4VEmissionProbability::GetZ ( void  ) const
inlineinherited

◆ I0()

G4double G4GEMProbability::I0 ( G4double  t)
inlineprivateinherited

Definition at line 193 of file G4GEMProbability.hh.

194{
195 return G4Exp(t) - 1.0;
196}

References G4Exp().

Referenced by G4GEMProbability::CalcProbability().

◆ I1()

G4double G4GEMProbability::I1 ( G4double  t,
G4double  tx 
)
inlineprivateinherited

Definition at line 198 of file G4GEMProbability.hh.

199{
200 return (t - tx + 1.0)*G4Exp(tx) - t - 1.0;
201}

References G4Exp().

Referenced by G4GEMProbability::CalcProbability().

◆ I2()

G4double G4GEMProbability::I2 ( G4double  s0,
G4double  sx 
)
inlineprivateinherited

Definition at line 204 of file G4GEMProbability.hh.

205{
206 G4double S = 1.0/std::sqrt(s0);
207 G4double Sx = 1.0/std::sqrt(sx);
208
209 G4double p1 = S*S*S*( 1.0 + S*S*( 1.5 + 3.75*S*S) );
210 G4double p2 = Sx*Sx*Sx*( 1.0 + Sx*Sx*( 1.5 + 3.75*Sx*Sx) )*G4Exp(sx-s0);
211
212 return p1-p2;
213}
G4double S(G4double temp)

References G4Exp(), S(), and G4InuclParticleNames::s0.

◆ I3()

G4double G4GEMProbability::I3 ( G4double  s0,
G4double  sx 
)
privateinherited

Definition at line 239 of file G4GEMProbability.cc.

240{
241 G4double s2 = s0*s0;
242 G4double sx2 = sx*sx;
243 G4double S = 1.0/std::sqrt(s0);
244 G4double S2 = S*S;
245 G4double Sx = 1.0/std::sqrt(sx);
246 G4double Sx2 = Sx*Sx;
247
248 G4double p1 = S *(2.0 + S2 *( 4.0 + S2 *( 13.5 + S2 *( 60.0 + S2 * 325.125 ))));
249 G4double p2 = Sx*Sx2 *(
250 (s2-sx2) + Sx2 *(
251 (1.5*s2+0.5*sx2) + Sx2 *(
252 (3.75*s2+0.25*sx2) + Sx2 *(
253 (12.875*s2+0.625*sx2) + Sx2 *(
254 (59.0625*s2+0.9375*sx2) + Sx2 *(324.8*s2+3.28*sx2))))));
255
256 p2 *= G4Exp(sx-s0);
257
258 return p1-p2;
259}

References G4Exp(), S(), and G4InuclParticleNames::s0.

Referenced by G4GEMProbability::CalcProbability().

◆ Initialise()

void G4VEmissionProbability::Initialise ( )
inherited

◆ IntegrateProbability()

G4double G4VEmissionProbability::IntegrateProbability ( G4double  elow,
G4double  ehigh,
G4double  CB 
)
protectedinherited

Definition at line 81 of file G4VEmissionProbability.cc.

84{
85 pProbability = 0.0;
86 if(elow >= ehigh) { return pProbability; }
87
88 emin = elow;
89 emax = ehigh;
90 eCoulomb = cb;
91
92 G4double edelta = elimit;
93 nbin = (size_t)((emax - emin)/edelta) + 1;
94 const G4double edeltamin = 0.2*CLHEP::MeV;
95 const G4double edeltamax = 2*CLHEP::MeV;
96 if(nbin < 4) {
97 nbin = 4;
98 edelta = (emax - emin)/(G4double)nbin;
99 } else if(nbin > length) {
100 nbin = length;
101 }
102
103 G4double x(emin), del, y;
104 G4double edelmicro= edelta*0.02;
105 probmax = ComputeProbability(x + edelmicro, eCoulomb);
106 G4double problast = probmax;
107 if(pVerbose > 2) {
108 G4cout << "### G4VEmissionProbability::IntegrateProbability: "
109 << " Emax= " << emax << " QB= " << cb << " nbin= " << nbin
110 << G4endl;
111 G4cout << " 0. E= " << emin << " prob= " << probmax << G4endl;
112 }
113 for(size_t i=1; i<=nbin; ++i) {
114 x += edelta;
115 if(x > emax) {
116 edelta += (emax - x);
117 x = emax;
118 }
119 G4bool endpoint = (std::abs(x - emax) < edelmicro) ? true : false;
120 G4double xx = endpoint ? x - edelmicro : x;
122 if(pVerbose > 2) {
123 G4cout << " " << i << ". E= " << x << " prob= " << y
124 << " Edel= " << edelta << G4endl;
125 }
127 del = (y + problast)*edelta*0.5;
128 pProbability += del;
129 // end of the loop
130 if(del < accuracy*pProbability || endpoint) { break; }
131 problast = y;
132
133 // smart step definition
134 if(del != pProbability && del > 0.8*pProbability &&
135 0.7*edelta > edeltamin) {
136 edelta *= 0.7;
137 } else if(del < 0.1*pProbability && 1.5*edelta < edeltamax) {
138 edelta *= 1.5;
139 }
140 }
141
142 if(pVerbose > 1) {
143 G4cout << " Probability= " << pProbability << " probmax= "
144 << probmax << G4endl;
145 }
146 return pProbability;
147}
bool G4bool
Definition: G4Types.hh:86
virtual G4double ComputeProbability(G4double anEnergy, G4double CB)

References G4VEmissionProbability::accuracy, G4VEmissionProbability::ComputeProbability(), G4VEmissionProbability::eCoulomb, G4VEmissionProbability::elimit, G4VEmissionProbability::emax, G4VEmissionProbability::emin, G4cout, G4endl, G4VEmissionProbability::length, G4INCL::Math::max(), CLHEP::MeV, G4VEmissionProbability::nbin, G4VEmissionProbability::pProbability, G4VEmissionProbability::probmax, and G4VEmissionProbability::pVerbose.

Referenced by G4GEMProbabilityVI::ComputeTotalProbability(), and G4EvaporationProbability::TotalProbability().

◆ operator!=()

G4bool G4F18GEMProbability::operator!= ( const G4F18GEMProbability right) const
private

◆ operator=()

const G4F18GEMProbability & G4F18GEMProbability::operator= ( const G4F18GEMProbability right)
private

◆ operator==()

G4bool G4F18GEMProbability::operator== ( const G4F18GEMProbability right) const
private

◆ ResetIntegrator()

void G4VEmissionProbability::ResetIntegrator ( size_t  nbin,
G4double  de,
G4double  eps 
)
protectedinherited

Definition at line 64 of file G4VEmissionProbability.cc.

65{
66 if(nbins > 0) { length = nbins; }
67 if(de > 0.0) { elimit = de; }
68 if(eps > 0.0) { accuracy = eps; }
69}
static const G4double eps

References G4VEmissionProbability::accuracy, G4VEmissionProbability::elimit, eps, and G4VEmissionProbability::length.

Referenced by G4EvaporationProbability::G4EvaporationProbability(), and G4GEMProbabilityVI::G4GEMProbabilityVI().

◆ ResetProbability()

void G4VEmissionProbability::ResetProbability ( )
inlineinherited

◆ SampleEnergy()

G4double G4VEmissionProbability::SampleEnergy ( )
inherited

Definition at line 149 of file G4VEmissionProbability.cc.

150{
151 static const G4double fact = 1.05;
152 probmax *= fact;
153
154 if(pVerbose > 1) {
155 G4cout << "### G4VEmissionProbability::SampleEnergy: "
156 << " Emin= " << emin << " Emax= " << emax
157 << " probmax= " << probmax << G4endl;
158 }
159
160 CLHEP::HepRandomEngine* rndm = G4Random::getTheEngine();
161 const G4int nmax = 100;
162 G4double del = emax - emin;
163 G4double ekin, g;
164 G4int n = 0;
165 do {
166 ekin = del*rndm->flat() + emin;
167 ++n;
169 if(pVerbose > 2) {
170 G4cout << " " << n
171 << ". prob= " << g << " probmax= " << probmax
172 << " Ekin= " << ekin << G4endl;
173 }
174 if((g > probmax || n > nmax) && pVerbose > 1) {
175 G4cout << "### G4VEmissionProbability::SampleEnergy for Z= " << theZ
176 << " A= " << theA
177 << "\n Warning n= " << n
178 << " prob/probmax= " << g/probmax
179 << " prob= " << g << " probmax= " << probmax
180 << "\n Ekin= " << ekin << " Emin= " << emin
181 << " Emax= " << emax << G4endl;
182 }
183 } while(probmax*rndm->flat() > g && n < nmax);
184 return (fFD) ? FindRecoilExcitation(ekin) : ekin;
185}
static constexpr double g
Definition: G4SIunits.hh:168
virtual double flat()=0
G4double FindRecoilExcitation(G4double e)

References G4VEmissionProbability::ComputeProbability(), G4VEmissionProbability::eCoulomb, G4VEmissionProbability::emax, G4VEmissionProbability::emin, G4VEmissionProbability::fFD, G4VEmissionProbability::FindRecoilExcitation(), CLHEP::HepRandomEngine::flat(), g, G4cout, G4endl, CLHEP::detail::n, G4VEmissionProbability::probmax, G4VEmissionProbability::pVerbose, G4VEmissionProbability::theA, and G4VEmissionProbability::theZ.

Referenced by G4EvaporationChannel::EmittedFragment(), G4GEMProbabilityVI::SampleEvaporationFragment(), and G4EvaporationProbability::SampleKineticEnergy().

◆ SetCoulomBarrier()

void G4GEMProbability::SetCoulomBarrier ( const G4VCoulombBarrier aCoulombBarrierStrategy)
inlineinherited

Definition at line 130 of file G4GEMProbability.hh.

131{
132 theCoulombBarrierPtr = aCoulombBarrierStrategy;
133}

References G4GEMProbability::theCoulombBarrierPtr.

Referenced by G4GEMChannel::G4GEMChannel().

◆ SetDecayKinematics()

void G4VEmissionProbability::SetDecayKinematics ( G4int  Z,
G4int  A,
G4double  rmass,
G4double  fmass 
)
inlineinherited

◆ SetEvapExcitation()

void G4VEmissionProbability::SetEvapExcitation ( G4double  exc)
inlineinherited

Definition at line 73 of file G4VEmissionProbability.hh.

73{ fExc = exc; };

References G4VEmissionProbability::fExc.

Field Documentation

◆ accuracy

G4double G4VEmissionProbability::accuracy
privateinherited

◆ eCoulomb

G4double G4VEmissionProbability::eCoulomb
privateinherited

◆ elimit

G4double G4VEmissionProbability::elimit
privateinherited

◆ emax

G4double G4VEmissionProbability::emax
privateinherited

◆ emin

G4double G4VEmissionProbability::emin
privateinherited

◆ ExcitEnergies

std::vector<G4double> G4GEMProbability::ExcitEnergies
protectedinherited

Definition at line 114 of file G4GEMProbability.hh.

Referenced by G4GEMProbability::Dump(), G4GEMProbability::EmissionProbability(), G4AlphaGEMProbability::G4AlphaGEMProbability(), G4B10GEMProbability::G4B10GEMProbability(), G4B11GEMProbability::G4B11GEMProbability(), G4B12GEMProbability::G4B12GEMProbability(), G4B13GEMProbability::G4B13GEMProbability(), G4B8GEMProbability::G4B8GEMProbability(), G4Be10GEMProbability::G4Be10GEMProbability(), G4Be11GEMProbability::G4Be11GEMProbability(), G4Be7GEMProbability::G4Be7GEMProbability(), G4Be9GEMProbability::G4Be9GEMProbability(), G4C10GEMProbability::G4C10GEMProbability(), G4C11GEMProbability::G4C11GEMProbability(), G4C12GEMProbability::G4C12GEMProbability(), G4C13GEMProbability::G4C13GEMProbability(), G4C14GEMProbability::G4C14GEMProbability(), G4C15GEMProbability::G4C15GEMProbability(), G4F17GEMProbability::G4F17GEMProbability(), G4F18GEMProbability(), G4F19GEMProbability::G4F19GEMProbability(), G4F20GEMProbability::G4F20GEMProbability(), G4F21GEMProbability::G4F21GEMProbability(), G4He6GEMProbability::G4He6GEMProbability(), G4Li6GEMProbability::G4Li6GEMProbability(), G4Li7GEMProbability::G4Li7GEMProbability(), G4Li8GEMProbability::G4Li8GEMProbability(), G4Li9GEMProbability::G4Li9GEMProbability(), G4Mg22GEMProbability::G4Mg22GEMProbability(), G4Mg23GEMProbability::G4Mg23GEMProbability(), G4Mg24GEMProbability::G4Mg24GEMProbability(), G4Mg25GEMProbability::G4Mg25GEMProbability(), G4Mg26GEMProbability::G4Mg26GEMProbability(), G4Mg27GEMProbability::G4Mg27GEMProbability(), G4Mg28GEMProbability::G4Mg28GEMProbability(), G4N12GEMProbability::G4N12GEMProbability(), G4N13GEMProbability::G4N13GEMProbability(), G4N14GEMProbability::G4N14GEMProbability(), G4N15GEMProbability::G4N15GEMProbability(), G4N16GEMProbability::G4N16GEMProbability(), G4N17GEMProbability::G4N17GEMProbability(), G4Na21GEMProbability::G4Na21GEMProbability(), G4Na22GEMProbability::G4Na22GEMProbability(), G4Na23GEMProbability::G4Na23GEMProbability(), G4Na24GEMProbability::G4Na24GEMProbability(), G4Na25GEMProbability::G4Na25GEMProbability(), G4Ne18GEMProbability::G4Ne18GEMProbability(), G4Ne19GEMProbability::G4Ne19GEMProbability(), G4Ne20GEMProbability::G4Ne20GEMProbability(), G4Ne21GEMProbability::G4Ne21GEMProbability(), G4Ne22GEMProbability::G4Ne22GEMProbability(), G4Ne23GEMProbability::G4Ne23GEMProbability(), G4Ne24GEMProbability::G4Ne24GEMProbability(), G4O14GEMProbability::G4O14GEMProbability(), G4O15GEMProbability::G4O15GEMProbability(), G4O16GEMProbability::G4O16GEMProbability(), G4O17GEMProbability::G4O17GEMProbability(), G4O18GEMProbability::G4O18GEMProbability(), and G4O19GEMProbability::G4O19GEMProbability().

◆ ExcitLifetimes

std::vector<G4double> G4GEMProbability::ExcitLifetimes
protectedinherited

Definition at line 120 of file G4GEMProbability.hh.

Referenced by G4GEMProbability::Dump(), G4GEMProbability::EmissionProbability(), G4AlphaGEMProbability::G4AlphaGEMProbability(), G4B10GEMProbability::G4B10GEMProbability(), G4B11GEMProbability::G4B11GEMProbability(), G4B12GEMProbability::G4B12GEMProbability(), G4B13GEMProbability::G4B13GEMProbability(), G4B8GEMProbability::G4B8GEMProbability(), G4Be10GEMProbability::G4Be10GEMProbability(), G4Be11GEMProbability::G4Be11GEMProbability(), G4Be7GEMProbability::G4Be7GEMProbability(), G4Be9GEMProbability::G4Be9GEMProbability(), G4C10GEMProbability::G4C10GEMProbability(), G4C11GEMProbability::G4C11GEMProbability(), G4C12GEMProbability::G4C12GEMProbability(), G4C13GEMProbability::G4C13GEMProbability(), G4C14GEMProbability::G4C14GEMProbability(), G4C15GEMProbability::G4C15GEMProbability(), G4F17GEMProbability::G4F17GEMProbability(), G4F18GEMProbability(), G4F19GEMProbability::G4F19GEMProbability(), G4F20GEMProbability::G4F20GEMProbability(), G4F21GEMProbability::G4F21GEMProbability(), G4He6GEMProbability::G4He6GEMProbability(), G4Li6GEMProbability::G4Li6GEMProbability(), G4Li7GEMProbability::G4Li7GEMProbability(), G4Li8GEMProbability::G4Li8GEMProbability(), G4Li9GEMProbability::G4Li9GEMProbability(), G4Mg22GEMProbability::G4Mg22GEMProbability(), G4Mg23GEMProbability::G4Mg23GEMProbability(), G4Mg24GEMProbability::G4Mg24GEMProbability(), G4Mg25GEMProbability::G4Mg25GEMProbability(), G4Mg26GEMProbability::G4Mg26GEMProbability(), G4Mg27GEMProbability::G4Mg27GEMProbability(), G4Mg28GEMProbability::G4Mg28GEMProbability(), G4N12GEMProbability::G4N12GEMProbability(), G4N13GEMProbability::G4N13GEMProbability(), G4N14GEMProbability::G4N14GEMProbability(), G4N15GEMProbability::G4N15GEMProbability(), G4N16GEMProbability::G4N16GEMProbability(), G4N17GEMProbability::G4N17GEMProbability(), G4Na21GEMProbability::G4Na21GEMProbability(), G4Na22GEMProbability::G4Na22GEMProbability(), G4Na23GEMProbability::G4Na23GEMProbability(), G4Na24GEMProbability::G4Na24GEMProbability(), G4Na25GEMProbability::G4Na25GEMProbability(), G4Ne18GEMProbability::G4Ne18GEMProbability(), G4Ne19GEMProbability::G4Ne19GEMProbability(), G4Ne20GEMProbability::G4Ne20GEMProbability(), G4Ne21GEMProbability::G4Ne21GEMProbability(), G4Ne22GEMProbability::G4Ne22GEMProbability(), G4Ne23GEMProbability::G4Ne23GEMProbability(), G4Ne24GEMProbability::G4Ne24GEMProbability(), G4O14GEMProbability::G4O14GEMProbability(), G4O15GEMProbability::G4O15GEMProbability(), G4O16GEMProbability::G4O16GEMProbability(), G4O17GEMProbability::G4O17GEMProbability(), G4O18GEMProbability::G4O18GEMProbability(), and G4O19GEMProbability::G4O19GEMProbability().

◆ ExcitSpins

std::vector<G4double> G4GEMProbability::ExcitSpins
protectedinherited

Definition at line 117 of file G4GEMProbability.hh.

Referenced by G4GEMProbability::EmissionProbability(), G4AlphaGEMProbability::G4AlphaGEMProbability(), G4B10GEMProbability::G4B10GEMProbability(), G4B11GEMProbability::G4B11GEMProbability(), G4B12GEMProbability::G4B12GEMProbability(), G4B13GEMProbability::G4B13GEMProbability(), G4B8GEMProbability::G4B8GEMProbability(), G4Be10GEMProbability::G4Be10GEMProbability(), G4Be11GEMProbability::G4Be11GEMProbability(), G4Be7GEMProbability::G4Be7GEMProbability(), G4Be9GEMProbability::G4Be9GEMProbability(), G4C10GEMProbability::G4C10GEMProbability(), G4C11GEMProbability::G4C11GEMProbability(), G4C12GEMProbability::G4C12GEMProbability(), G4C13GEMProbability::G4C13GEMProbability(), G4C14GEMProbability::G4C14GEMProbability(), G4C15GEMProbability::G4C15GEMProbability(), G4F17GEMProbability::G4F17GEMProbability(), G4F18GEMProbability(), G4F19GEMProbability::G4F19GEMProbability(), G4F20GEMProbability::G4F20GEMProbability(), G4F21GEMProbability::G4F21GEMProbability(), G4He6GEMProbability::G4He6GEMProbability(), G4Li6GEMProbability::G4Li6GEMProbability(), G4Li7GEMProbability::G4Li7GEMProbability(), G4Li8GEMProbability::G4Li8GEMProbability(), G4Li9GEMProbability::G4Li9GEMProbability(), G4Mg22GEMProbability::G4Mg22GEMProbability(), G4Mg23GEMProbability::G4Mg23GEMProbability(), G4Mg24GEMProbability::G4Mg24GEMProbability(), G4Mg25GEMProbability::G4Mg25GEMProbability(), G4Mg26GEMProbability::G4Mg26GEMProbability(), G4Mg27GEMProbability::G4Mg27GEMProbability(), G4Mg28GEMProbability::G4Mg28GEMProbability(), G4N12GEMProbability::G4N12GEMProbability(), G4N13GEMProbability::G4N13GEMProbability(), G4N14GEMProbability::G4N14GEMProbability(), G4N15GEMProbability::G4N15GEMProbability(), G4N16GEMProbability::G4N16GEMProbability(), G4N17GEMProbability::G4N17GEMProbability(), G4Na21GEMProbability::G4Na21GEMProbability(), G4Na22GEMProbability::G4Na22GEMProbability(), G4Na23GEMProbability::G4Na23GEMProbability(), G4Na24GEMProbability::G4Na24GEMProbability(), G4Na25GEMProbability::G4Na25GEMProbability(), G4Ne18GEMProbability::G4Ne18GEMProbability(), G4Ne19GEMProbability::G4Ne19GEMProbability(), G4Ne20GEMProbability::G4Ne20GEMProbability(), G4Ne21GEMProbability::G4Ne21GEMProbability(), G4Ne22GEMProbability::G4Ne22GEMProbability(), G4Ne23GEMProbability::G4Ne23GEMProbability(), G4Ne24GEMProbability::G4Ne24GEMProbability(), G4O14GEMProbability::G4O14GEMProbability(), G4O15GEMProbability::G4O15GEMProbability(), G4O16GEMProbability::G4O16GEMProbability(), G4O17GEMProbability::G4O17GEMProbability(), G4O18GEMProbability::G4O18GEMProbability(), and G4O19GEMProbability::G4O19GEMProbability().

◆ fExc

G4double G4VEmissionProbability::fExc
privateinherited

◆ fExcRes

G4double G4VEmissionProbability::fExcRes
privateinherited

◆ fFD

G4bool G4VEmissionProbability::fFD
privateinherited

◆ fG4pow

G4Pow* G4GEMProbability::fG4pow
privateinherited

◆ fNucData

G4NuclearLevelData* G4GEMProbability::fNucData
privateinherited

◆ fPlanck

G4double G4GEMProbability::fPlanck
protectedinherited

Definition at line 111 of file G4GEMProbability.hh.

Referenced by G4GEMProbability::EmissionProbability(), G4B10GEMProbability::G4B10GEMProbability(), G4B11GEMProbability::G4B11GEMProbability(), G4B12GEMProbability::G4B12GEMProbability(), G4B8GEMProbability::G4B8GEMProbability(), G4Be10GEMProbability::G4Be10GEMProbability(), G4Be11GEMProbability::G4Be11GEMProbability(), G4Be7GEMProbability::G4Be7GEMProbability(), G4Be9GEMProbability::G4Be9GEMProbability(), G4C10GEMProbability::G4C10GEMProbability(), G4C11GEMProbability::G4C11GEMProbability(), G4C12GEMProbability::G4C12GEMProbability(), G4C13GEMProbability::G4C13GEMProbability(), G4C14GEMProbability::G4C14GEMProbability(), G4C15GEMProbability::G4C15GEMProbability(), G4F17GEMProbability::G4F17GEMProbability(), G4F18GEMProbability(), G4F19GEMProbability::G4F19GEMProbability(), G4F20GEMProbability::G4F20GEMProbability(), G4GEMProbability::G4GEMProbability(), G4He6GEMProbability::G4He6GEMProbability(), G4Li6GEMProbability::G4Li6GEMProbability(), G4Li7GEMProbability::G4Li7GEMProbability(), G4Li8GEMProbability::G4Li8GEMProbability(), G4Li9GEMProbability::G4Li9GEMProbability(), G4Mg24GEMProbability::G4Mg24GEMProbability(), G4Mg25GEMProbability::G4Mg25GEMProbability(), G4N12GEMProbability::G4N12GEMProbability(), G4N13GEMProbability::G4N13GEMProbability(), G4N14GEMProbability::G4N14GEMProbability(), G4N15GEMProbability::G4N15GEMProbability(), G4N16GEMProbability::G4N16GEMProbability(), G4Na21GEMProbability::G4Na21GEMProbability(), G4Na22GEMProbability::G4Na22GEMProbability(), G4Na23GEMProbability::G4Na23GEMProbability(), G4Ne18GEMProbability::G4Ne18GEMProbability(), G4Ne19GEMProbability::G4Ne19GEMProbability(), G4Ne20GEMProbability::G4Ne20GEMProbability(), G4Ne21GEMProbability::G4Ne21GEMProbability(), G4O14GEMProbability::G4O14GEMProbability(), G4O15GEMProbability::G4O15GEMProbability(), G4O16GEMProbability::G4O16GEMProbability(), G4O17GEMProbability::G4O17GEMProbability(), G4O18GEMProbability::G4O18GEMProbability(), and G4O19GEMProbability::G4O19GEMProbability().

◆ length

size_t G4VEmissionProbability::length
privateinherited

◆ nbin

size_t G4VEmissionProbability::nbin
privateinherited

◆ OPTxs

G4int G4VEmissionProbability::OPTxs
protectedinherited

◆ pEvapMass

G4double G4VEmissionProbability::pEvapMass
protectedinherited

◆ pG4pow

G4Pow* G4VEmissionProbability::pG4pow
protectedinherited

◆ pMass

G4double G4VEmissionProbability::pMass
protectedinherited

◆ pNuclearLevelData

G4NuclearLevelData* G4VEmissionProbability::pNuclearLevelData
protectedinherited

◆ pProbability

G4double G4VEmissionProbability::pProbability
protectedinherited

◆ pResMass

G4double G4VEmissionProbability::pResMass
protectedinherited

◆ probmax

G4double G4VEmissionProbability::probmax
privateinherited

◆ pVerbose

G4int G4VEmissionProbability::pVerbose
protectedinherited

◆ resA

G4int G4VEmissionProbability::resA
protectedinherited

◆ resZ

G4int G4VEmissionProbability::resZ
protectedinherited

◆ Spin

G4double G4GEMProbability::Spin
privateinherited

◆ theA

G4int G4VEmissionProbability::theA
protectedinherited

◆ theCoulombBarrierPtr

const G4VCoulombBarrier* G4GEMProbability::theCoulombBarrierPtr
privateinherited

◆ theEvapLDPptr

G4VLevelDensityParameter* G4GEMProbability::theEvapLDPptr
privateinherited

◆ theZ

G4int G4VEmissionProbability::theZ
protectedinherited

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