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

#include <G4Ne20GEMProbability.hh>

Inheritance diagram for G4Ne20GEMProbability:
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)
 
 G4Ne20GEMProbability ()
 
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)
 
 ~G4Ne20GEMProbability ()
 

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)
 
 G4Ne20GEMProbability (const G4Ne20GEMProbability &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 G4Ne20GEMProbability &right) const
 
const G4Ne20GEMProbabilityoperator= (const G4Ne20GEMProbability &right)
 
G4bool operator== (const G4Ne20GEMProbability &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 G4Ne20GEMProbability.hh.

Constructor & Destructor Documentation

◆ G4Ne20GEMProbability() [1/2]

G4Ne20GEMProbability::G4Ne20GEMProbability ( )

Definition at line 34 of file G4Ne20GEMProbability.cc.

34 :
35 G4GEMProbability(20,10,0.0) // A,Z,Spin
36{
37
38 ExcitEnergies.push_back(1633.8*keV);
39 ExcitSpins.push_back(2.0);
40 ExcitLifetimes.push_back(0.83*picosecond);
41
42 ExcitEnergies.push_back(4247.3*keV);
43 ExcitSpins.push_back(4.0);
44 ExcitLifetimes.push_back(64.0e-3*picosecond);
45
46 ExcitEnergies.push_back(4968.2*keV);
47 ExcitSpins.push_back(2.0);
48 ExcitLifetimes.push_back(3.3*picosecond);
49
50 ExcitEnergies.push_back(5621.7*keV);
51 ExcitSpins.push_back(3.0);
52 ExcitLifetimes.push_back(139.0e-3*picosecond);
53
54 ExcitEnergies.push_back(5785.0*keV);
55 ExcitSpins.push_back(1.0);
56 ExcitLifetimes.push_back(fPlanck/(1.3E-2*keV));
57
58 ExcitEnergies.push_back(6722.0*keV);
59 ExcitSpins.push_back(0.0);
60 ExcitLifetimes.push_back(fPlanck/(15.0*keV));
61
62
63 ExcitEnergies.push_back(7005.5*keV);
64 ExcitSpins.push_back(4.0);
65 ExcitLifetimes.push_back(305.0e-3*picosecond);
66
67
68 ExcitEnergies.push_back(7166.0*keV);
69 ExcitSpins.push_back(3.0);
70 ExcitLifetimes.push_back(fPlanck/(8.0*keV));
71
72 ExcitEnergies.push_back(7196.0*keV);
73 ExcitSpins.push_back(0.0);
74 ExcitLifetimes.push_back(fPlanck/(4.0*keV));
75
76 ExcitEnergies.push_back(7424.0*keV);
77 ExcitSpins.push_back(2.0);
78 ExcitLifetimes.push_back(fPlanck/(8.0*keV));
79
80 ExcitEnergies.push_back(7834.0*keV);
81 ExcitSpins.push_back(2.0);
82 ExcitLifetimes.push_back(fPlanck/(2.0*keV));
83
84 ExcitEnergies.push_back(8600.0*keV);
85 ExcitSpins.push_back(0.0);
86 ExcitLifetimes.push_back(fPlanck/(800.0*keV));
87
88 ExcitEnergies.push_back(8720.0*keV);
89 ExcitSpins.push_back(1.0);
90 ExcitLifetimes.push_back(fPlanck/(2.5*keV));
91
92 ExcitEnergies.push_back(8775.0*keV);
93 ExcitSpins.push_back(6.0);
94 ExcitLifetimes.push_back(fPlanck/(0.110*keV));
95
96 ExcitEnergies.push_back(8800.0*keV);
97 ExcitSpins.push_back(2.0);
98 ExcitLifetimes.push_back(fPlanck/(800.0*keV));
99
100 ExcitEnergies.push_back(8820.0*keV);
101 ExcitSpins.push_back(5.0);
102 ExcitLifetimes.push_back(fPlanck/(1.0*keV));
103
104 ExcitEnergies.push_back(8850.0*keV);
105 ExcitSpins.push_back(1.0);
106 ExcitLifetimes.push_back(fPlanck/(19.0*keV));
107
108 ExcitEnergies.push_back(9040.0*keV);
109 ExcitSpins.push_back(4.0);
110 ExcitLifetimes.push_back(fPlanck/(3.0*keV));
111
112 ExcitEnergies.push_back(9117.0*keV);
113 ExcitSpins.push_back(3.0);
114 ExcitLifetimes.push_back(fPlanck/(3.2*keV));
115
116 ExcitEnergies.push_back(9489.0*keV);
117 ExcitSpins.push_back(2.0);
118 ExcitLifetimes.push_back(fPlanck/(29.0*keV));
119
120 ExcitEnergies.push_back(9950.0*keV);
121 ExcitSpins.push_back(1.0);
122 ExcitLifetimes.push_back(fPlanck/(24.0*keV));
123
124 ExcitEnergies.push_back(9990.0*keV);
125 ExcitSpins.push_back(4.0);
126 ExcitLifetimes.push_back(fPlanck/(150.0*keV));
127
128 ExcitEnergies.push_back(10257.0*keV);
129 ExcitSpins.push_back(5.0);
130 ExcitLifetimes.push_back(fPlanck/(141.0*keV));
131
132 ExcitEnergies.push_back(10260.0*keV);
133 ExcitSpins.push_back(2.0);
134 ExcitLifetimes.push_back(fPlanck/(2.0*keV));
135
136 ExcitEnergies.push_back(10401.0*keV);
137 ExcitSpins.push_back(3.0);
138 ExcitLifetimes.push_back(fPlanck/(81.0*keV));
139
140 ExcitEnergies.push_back(10548.0*keV);
141 ExcitSpins.push_back(4.0);
142 ExcitLifetimes.push_back(fPlanck/(16.0*keV));
143
144 ExcitEnergies.push_back(10579.0*keV);
145 ExcitSpins.push_back(2.0);
146 ExcitLifetimes.push_back(fPlanck/(24.0*keV));
147
148 ExcitEnergies.push_back(10609.0*keV);
149 ExcitSpins.push_back(6.0);
150 ExcitLifetimes.push_back(16.0e-3*picosecond);
151
152 ExcitEnergies.push_back(10790.0*keV);
153 ExcitSpins.push_back(4.0);
154 ExcitLifetimes.push_back(fPlanck/(350.0*keV));
155
156 ExcitEnergies.push_back(10836.0*keV);
157 ExcitSpins.push_back(2.0);
158 ExcitLifetimes.push_back(fPlanck/(13.0*keV));
159
160 ExcitEnergies.push_back(10836.0*keV);
161 ExcitSpins.push_back(3.0);
162 ExcitLifetimes.push_back(fPlanck/(45.0*keV));
163
164 ExcitEnergies.push_back(10970.0*keV);
165 ExcitSpins.push_back(0.0);
166 ExcitLifetimes.push_back(fPlanck/(580.0*keV));
167
168 ExcitEnergies.push_back(11015.0*keV);
169 ExcitSpins.push_back(4.0);
170 ExcitLifetimes.push_back(fPlanck/(24.0*keV));
171
172 ExcitEnergies.push_back(11080.0*keV);
173 ExcitSpins.push_back(4.0);
174 ExcitLifetimes.push_back(fPlanck/(3.0*keV));
175
176 ExcitEnergies.push_back(11230.0*keV);
177 ExcitSpins.push_back(1.0);
178 ExcitLifetimes.push_back(fPlanck/(172.0*keV));
179
180 ExcitEnergies.push_back(11270.0*keV);
181 ExcitSpins.push_back(2.0);
182 ExcitLifetimes.push_back(fPlanck/(4.0*keV));
183
184 ExcitEnergies.push_back(11324.0*keV);
185 ExcitSpins.push_back(2.0);
186 ExcitLifetimes.push_back(fPlanck/(53.0*keV));
187
188 ExcitEnergies.push_back(11871.0*keV);
189 ExcitSpins.push_back(2.0);
190 ExcitLifetimes.push_back(fPlanck/(46.0*keV));
191
192 ExcitEnergies.push_back(11925.0*keV);
193 ExcitSpins.push_back(4.0);
194 ExcitLifetimes.push_back(fPlanck/(0.44*keV));
195
196 ExcitEnergies.push_back(11948.0*keV);
197 ExcitSpins.push_back(8.0);
198 ExcitLifetimes.push_back(fPlanck/(35.0e-3*keV));
199
200 ExcitEnergies.push_back(11953.0*keV);
201 ExcitSpins.push_back(1.0);
202 ExcitLifetimes.push_back(fPlanck/(24.0*keV));
203
204 ExcitEnergies.push_back(11971.0*keV);
205 ExcitSpins.push_back(1.0);
206 ExcitLifetimes.push_back(fPlanck/(29.0*keV));
207
208 ExcitEnergies.push_back(12150.0*keV);
209 ExcitSpins.push_back(6.0);
210 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
211
212 ExcitEnergies.push_back(12224.0*keV);
213 ExcitSpins.push_back(4.0);
214 ExcitLifetimes.push_back(fPlanck/(142.0*keV));
215
216 ExcitEnergies.push_back(12245.0*keV);
217 ExcitSpins.push_back(2.0);
218 ExcitLifetimes.push_back(fPlanck/(40.0*keV));
219
220 ExcitEnergies.push_back(12367.0*keV);
221 ExcitSpins.push_back(3.0);
222 ExcitLifetimes.push_back(fPlanck/(46.0*keV));
223
224 ExcitEnergies.push_back(12410.0*keV);
225 ExcitSpins.push_back(0.0);
226 ExcitLifetimes.push_back(fPlanck/(8.0*keV));
227
228 ExcitEnergies.push_back(12559.0*keV);
229 ExcitSpins.push_back(6.0);
230 ExcitLifetimes.push_back(fPlanck/(101.0*keV));
231
232 ExcitEnergies.push_back(12770.0*keV);
233 ExcitSpins.push_back(4.0);
234 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
235
236 ExcitEnergies.push_back(12980.0*keV);
237 ExcitSpins.push_back(4.0);
238 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
239
240 ExcitEnergies.push_back(13060.0*keV);
241 ExcitSpins.push_back(2.0);
242 ExcitLifetimes.push_back(fPlanck/(1.0*keV));
243
244 ExcitEnergies.push_back(13086.0*keV);
245 ExcitSpins.push_back(4.0);
246 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
247
248 ExcitEnergies.push_back(13168.0*keV);
249 ExcitSpins.push_back(1.0);
250 ExcitLifetimes.push_back(fPlanck/(2.3*keV));
251
252 ExcitEnergies.push_back(13180.0*keV);
253 ExcitSpins.push_back(4.0);
254 ExcitLifetimes.push_back(fPlanck/(60.0*keV));
255
256 ExcitEnergies.push_back(13224.0*keV);
257 ExcitSpins.push_back(1.0);
258 ExcitLifetimes.push_back(fPlanck/(95.0*keV));
259
260 ExcitEnergies.push_back(13224.0*keV);
261 ExcitSpins.push_back(0.0);
262 ExcitLifetimes.push_back(fPlanck/(95.0*keV));
263
264 ExcitEnergies.push_back(13304.0*keV);
265 ExcitSpins.push_back(1.0);
266 ExcitLifetimes.push_back(fPlanck/(0.9*keV));
267
268 ExcitEnergies.push_back(13333.0*keV);
269 ExcitSpins.push_back(7.0);
270 ExcitLifetimes.push_back(fPlanck/(80.0e-3*keV));
271
272 ExcitEnergies.push_back(13342.0*keV);
273 ExcitSpins.push_back(4.0);
274 ExcitLifetimes.push_back(fPlanck/(20.0*keV));
275
276 ExcitEnergies.push_back(13411.0*keV);
277 ExcitSpins.push_back(2.0);
278 ExcitLifetimes.push_back(fPlanck/(35.0*keV));
279
280 ExcitEnergies.push_back(13420.0*keV);
281 ExcitSpins.push_back(4.0);
282 ExcitLifetimes.push_back(fPlanck/(110.0*keV));
283
284 ExcitEnergies.push_back(13462.0*keV);
285 ExcitSpins.push_back(1.0);
286 ExcitLifetimes.push_back(fPlanck/(190.0*keV));
287
288 ExcitEnergies.push_back(13479.0*keV);
289 ExcitSpins.push_back(1.0);
290 ExcitLifetimes.push_back(fPlanck/(7.1*keV));
291
292 ExcitEnergies.push_back(13523.0*keV);
293 ExcitSpins.push_back(1.0);
294 ExcitLifetimes.push_back(fPlanck/(30.0*keV));
295
296 ExcitEnergies.push_back(13541.0*keV);
297 ExcitSpins.push_back(2.0);
298 ExcitLifetimes.push_back(fPlanck/(63.0*keV));
299
300 ExcitEnergies.push_back(13584.0*keV);
301 ExcitSpins.push_back(2.0);
302 ExcitLifetimes.push_back(fPlanck/(10.0*keV));
303
304 ExcitEnergies.push_back(13650.0*keV);
305 ExcitSpins.push_back(0.0);
306 ExcitLifetimes.push_back(fPlanck/(22.0*keV));
307
308 ExcitEnergies.push_back(13660.0*keV);
309 ExcitSpins.push_back(1.0);
310 ExcitLifetimes.push_back(fPlanck/(115.0*keV));
311
312 ExcitEnergies.push_back(13673.0*keV);
313 ExcitSpins.push_back(2.0);
314 ExcitLifetimes.push_back(fPlanck/(4.5*keV));
315
316 ExcitEnergies.push_back(13700.0*keV);
317 ExcitSpins.push_back(3.0);
318 ExcitLifetimes.push_back(fPlanck/(320.0*keV));
319
320 ExcitEnergies.push_back(13730.0*keV);
321 ExcitSpins.push_back(0.0);
322 ExcitLifetimes.push_back(fPlanck/(170.0*keV));
323
324 ExcitEnergies.push_back(13733.0*keV);
325 ExcitSpins.push_back(1.0);
326 ExcitLifetimes.push_back(fPlanck/(7.7*keV));
327
328 ExcitEnergies.push_back(13870.0*keV);
329 ExcitSpins.push_back(1.0);
330 ExcitLifetimes.push_back(fPlanck/(190.0*keV));
331
332 ExcitEnergies.push_back(13880.0*keV);
333 ExcitSpins.push_back(6.0);
334 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
335
336 ExcitEnergies.push_back(13903.0*keV);
337 ExcitSpins.push_back(2.0);
338 ExcitLifetimes.push_back(fPlanck/(48.0*keV));
339
340 ExcitEnergies.push_back(13946.0*keV);
341 ExcitSpins.push_back(0.0);
342 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
343
344 ExcitEnergies.push_back(14017.0*keV);
345 ExcitSpins.push_back(1.0);
346 ExcitLifetimes.push_back(fPlanck/(70.0*keV));
347
348 ExcitEnergies.push_back(14030.0*keV);
349 ExcitSpins.push_back(2.0);
350 ExcitLifetimes.push_back(fPlanck/(140.0*keV));
351
352 ExcitEnergies.push_back(14124.0*keV);
353 ExcitSpins.push_back(2.0);
354 ExcitLifetimes.push_back(fPlanck/(4.7*keV));
355
356 ExcitEnergies.push_back(14134.0*keV);
357 ExcitSpins.push_back(2.0);
358 ExcitLifetimes.push_back(fPlanck/(51.0*keV));
359
360 ExcitEnergies.push_back(14148.0*keV);
361 ExcitSpins.push_back(2.0);
362 ExcitLifetimes.push_back(fPlanck/(11.8*keV));
363
364 ExcitEnergies.push_back(14197.0*keV);
365 ExcitSpins.push_back(1.0);
366 ExcitLifetimes.push_back(fPlanck/(13.9*keV));
367
368 ExcitEnergies.push_back(14300.0*keV);
369 ExcitSpins.push_back(6.0);
370 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
371
372 ExcitEnergies.push_back(14467.0*keV);
373 ExcitSpins.push_back(0.0);
374 ExcitLifetimes.push_back(fPlanck/(135.0*keV));
375
376 ExcitEnergies.push_back(14600.0*keV);
377 ExcitSpins.push_back(4.0);
378 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
379
380 ExcitEnergies.push_back(14604.0*keV);
381 ExcitSpins.push_back(1.0);
382 ExcitLifetimes.push_back(fPlanck/(125.0*keV));
383
384 ExcitEnergies.push_back(14695.0*keV);
385 ExcitSpins.push_back(1.0);
386 ExcitLifetimes.push_back(fPlanck/(38.0*keV));
387
388 ExcitEnergies.push_back(14850.0*keV);
389 ExcitSpins.push_back(2.0);
390 ExcitLifetimes.push_back(fPlanck/(100.0*keV));
391
392 ExcitEnergies.push_back(15030.0*keV);
393 ExcitSpins.push_back(2.0);
394 ExcitLifetimes.push_back(fPlanck/(90.0*keV));
395
396 ExcitEnergies.push_back(15260.0*keV);
397 ExcitSpins.push_back(1.0);
398 ExcitLifetimes.push_back(fPlanck/(285.0*keV));
399
400 ExcitEnergies.push_back(15300.0*keV);
401 ExcitSpins.push_back(0.0);
402 ExcitLifetimes.push_back(fPlanck/(285.0*keV));
403
404 ExcitEnergies.push_back(15618.0*keV);
405 ExcitSpins.push_back(8.0);
406 ExcitLifetimes.push_back(fPlanck/(28.0*keV));
407
408 ExcitEnergies.push_back(16728.0*keV);
409 ExcitSpins.push_back(0.0);
410 ExcitLifetimes.push_back(fPlanck/(2.0*keV));
411
412 ExcitEnergies.push_back(18080.0*keV);
413 ExcitSpins.push_back(7.0);
414 ExcitLifetimes.push_back(fPlanck/(140.0*keV));
415
416 ExcitEnergies.push_back(18310.0*keV);
417 ExcitSpins.push_back(6.0);
418 ExcitLifetimes.push_back(fPlanck/(240.0*keV));
419
420 ExcitEnergies.push_back(18426.0*keV);
421 ExcitSpins.push_back(2.0);
422 ExcitLifetimes.push_back(fPlanck/(10.0*keV));
423
424 ExcitEnergies.push_back(18700.0*keV);
425 ExcitSpins.push_back(6.0);
426 ExcitLifetimes.push_back(fPlanck/(600.0*keV));
427
428 ExcitEnergies.push_back(19160.0*keV);
429 ExcitSpins.push_back(6.0);
430 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
431
432 ExcitEnergies.push_back(19400.0*keV);
433 ExcitSpins.push_back(6.0);
434 ExcitLifetimes.push_back(fPlanck/(280.0*keV));
435
436 ExcitEnergies.push_back(19840.0*keV);
437 ExcitSpins.push_back(6.0);
438 ExcitLifetimes.push_back(fPlanck/(280.0*keV));
439
440 ExcitEnergies.push_back(20160.0*keV);
441 ExcitSpins.push_back(7.0);
442 ExcitLifetimes.push_back(fPlanck/(250.0*keV));
443
444 ExcitEnergies.push_back(20400.0*keV);
445 ExcitSpins.push_back(6.0);
446 ExcitLifetimes.push_back(fPlanck/(360.0*keV));
447
448 ExcitEnergies.push_back(20400.0*keV);
449 ExcitSpins.push_back(7.0);
450 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
451
452 ExcitEnergies.push_back(20680.0*keV);
453 ExcitSpins.push_back(9.0);
454 ExcitLifetimes.push_back(fPlanck/(120.0*keV));
455
456 ExcitEnergies.push_back(21000.0*keV);
457 ExcitSpins.push_back(7.0);
458 ExcitLifetimes.push_back(fPlanck/(200.0*keV));
459
460 ExcitEnergies.push_back(21080.0*keV);
461 ExcitSpins.push_back(9.0);
462 ExcitLifetimes.push_back(fPlanck/(80.0*keV));
463
464 ExcitEnergies.push_back(21300.0*keV);
465 ExcitSpins.push_back(7.0);
466 ExcitLifetimes.push_back(fPlanck/(300.0*keV));
467
468 ExcitEnergies.push_back(21800.0*keV);
469 ExcitSpins.push_back(7.0);
470 ExcitLifetimes.push_back(fPlanck/(300.0*keV));
471
472 ExcitEnergies.push_back(22300.0*keV);
473 ExcitSpins.push_back(7.0);
474 ExcitLifetimes.push_back(fPlanck/(500.0*keV));
475
476 ExcitEnergies.push_back(22700.0*keV);
477 ExcitSpins.push_back(9.0);
478 ExcitLifetimes.push_back(fPlanck/(500.0*keV));
479
480 ExcitEnergies.push_back(22840.0*keV);
481 ExcitSpins.push_back(9.0);
482 ExcitLifetimes.push_back(fPlanck/(250.0*keV));
483
484 ExcitEnergies.push_back(23400.0*keV);
485 ExcitSpins.push_back(8.0);
486 ExcitLifetimes.push_back(fPlanck/(500.0*keV));
487
488 ExcitEnergies.push_back(24110.0*keV);
489 ExcitSpins.push_back(8.0);
490 ExcitLifetimes.push_back(fPlanck/(350.0*keV));
491
492 ExcitEnergies.push_back(25000.0*keV);
493 ExcitSpins.push_back(8.0);
494 ExcitLifetimes.push_back(fPlanck/(600.0*keV));
495
496 ExcitEnergies.push_back(28000.0*keV);
497 ExcitSpins.push_back(8.0);
498 ExcitLifetimes.push_back(fPlanck/(1600.0*keV));
499
500}
static constexpr double keV
Definition: G4SIunits.hh:202
static constexpr double picosecond
Definition: G4SIunits.hh:141
std::vector< G4double > ExcitSpins
std::vector< G4double > ExcitEnergies
std::vector< G4double > ExcitLifetimes

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

◆ ~G4Ne20GEMProbability()

G4Ne20GEMProbability::~G4Ne20GEMProbability ( )

Definition at line 502 of file G4Ne20GEMProbability.cc.

503{}

◆ G4Ne20GEMProbability() [2/2]

G4Ne20GEMProbability::G4Ne20GEMProbability ( const G4Ne20GEMProbability 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 G4Ne20GEMProbability::operator!= ( const G4Ne20GEMProbability right) const
private

◆ operator=()

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

◆ operator==()

G4bool G4Ne20GEMProbability::operator== ( const G4Ne20GEMProbability 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::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(), 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::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(), 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::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(), 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::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(), 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: