ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4DeexPrecoParameters.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4DeexPrecoParameters.hh
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
// 15.03.2016 V.Ivanchenko
28
//
29
// List of parameters of the pre-compound model
30
// and the deexcitation module
31
//
32
33
#ifndef G4DeexPrecoParameters_h
34
#define G4DeexPrecoParameters_h 1
35
36
#include "
globals.hh
"
37
#include "
G4Threading.hh
"
38
39
enum
G4DeexChannelType
40
{
41
fEvaporation
= 0,
42
fGEM
,
43
fCombined
,
44
fGEMVI
,
45
fDummy
46
};
47
48
class
G4StateManager
;
49
class
G4DeexParametersMessenger
;
50
51
class
G4DeexPrecoParameters
52
{
53
public
:
54
55
explicit
G4DeexPrecoParameters
();
56
57
~G4DeexPrecoParameters
();
58
59
void
SetDefaults
();
60
61
// printing
62
std::ostream&
StreamInfo
(std::ostream& os)
const
;
63
void
Dump
()
const
;
64
friend
std::ostream&
operator<<
(std::ostream& os,
65
const
G4DeexPrecoParameters
&);
66
67
// inline access methods
68
69
inline
G4double
GetLevelDensity
()
const
;
70
71
inline
G4double
GetR0
()
const
;
72
73
inline
G4double
GetTransitionsR0
()
const
;
74
75
inline
G4double
GetFBUEnergyLimit
()
const
;
76
77
inline
G4double
GetFermiEnergy
()
const
;
78
79
inline
G4double
GetPrecoLowEnergy
()
const
;
80
81
inline
G4double
GetPrecoHighEnergy
()
const
;
82
83
inline
G4double
GetPhenoFactor
()
const
;
84
85
inline
G4double
GetMinExcitation
()
const
;
86
87
inline
G4double
GetMaxLifeTime
()
const
;
88
89
inline
G4double
GetMinExPerNucleounForMF
()
const
;
90
91
inline
G4int
GetInternalConversionID
()
const
;
92
93
inline
G4int
GetMinZForPreco
()
const
;
94
95
inline
G4int
GetMinAForPreco
()
const
;
96
97
inline
G4int
GetPrecoModelType
()
const
;
98
99
inline
G4int
GetDeexModelType
()
const
;
100
101
inline
G4int
GetTwoJMAX
()
const
;
102
103
inline
G4int
GetUploadZ
()
const
;
104
105
inline
G4int
GetVerbose
()
const
;
106
107
inline
G4bool
NeverGoBack
()
const
;
108
109
inline
G4bool
UseSoftCutoff
()
const
;
110
111
inline
G4bool
UseCEM
()
const
;
112
113
inline
G4bool
UseGNASH
()
const
;
114
115
inline
G4bool
UseHETC
()
const
;
116
117
inline
G4bool
UseAngularGen
()
const
;
118
119
inline
G4bool
PrecoDummy
()
const
;
120
121
inline
G4bool
CorrelatedGamma
()
const
;
122
123
inline
G4bool
GetInternalConversionFlag
()
const
;
124
125
inline
G4bool
GetLevelDensityFlag
()
const
;
126
127
inline
G4bool
GetDiscreteExcitationFlag
()
const
;
128
129
inline
G4bool
StoreICLevelData
()
const
;
130
131
inline
G4DeexChannelType
GetDeexChannelsType
()
const
;
132
133
// Set methods
134
135
void
SetLevelDensity
(
G4double
);
136
137
void
SetR0
(
G4double
);
138
139
void
SetTransitionsR0
(
G4double
);
140
141
void
SetFBUEnergyLimit
(
G4double
);
142
143
void
SetFermiEnergy
(
G4double
);
144
145
void
SetPrecoLowEnergy
(
G4double
);
146
147
void
SetPrecoHighEnergy
(
G4double
);
148
149
void
SetPhenoFactor
(
G4double
);
150
151
void
SetMinExcitation
(
G4double
);
152
153
void
SetMaxLifeTime
(
G4double
);
154
155
void
SetMinExPerNucleounForMF
(
G4double
);
156
157
void
SetMinEForMultiFrag
(
G4double
);
158
159
void
SetMinZForPreco
(
G4int
);
160
161
void
SetMinAForPreco
(
G4int
);
162
163
void
SetPrecoModelType
(
G4int
);
164
165
void
SetDeexModelType
(
G4int
);
166
167
void
SetTwoJMAX
(
G4int
);
168
169
void
SetUploadZ
(
G4int
);
170
171
void
SetVerbose
(
G4int
);
172
173
void
SetNeverGoBack
(
G4bool
);
174
175
void
SetUseSoftCutoff
(
G4bool
);
176
177
void
SetUseCEM
(
G4bool
);
178
179
void
SetUseGNASH
(
G4bool
);
180
181
void
SetUseHETC
(
G4bool
);
182
183
void
SetUseAngularGen
(
G4bool
);
184
185
void
SetPrecoDummy
(
G4bool
);
186
187
void
SetCorrelatedGamma
(
G4bool
);
188
189
void
SetStoreICLevelData
(
G4bool
);
190
191
// obsolete method (use previous)
192
void
SetStoreAllLevels
(
G4bool
);
193
194
void
SetInternalConversionFlag
(
G4bool
);
195
196
void
SetLevelDensityFlag
(
G4bool
);
197
198
void
SetDiscreteExcitationFlag
(
G4bool
);
199
200
void
SetDeexChannelsType
(
G4DeexChannelType
);
201
202
// obsolete method (has no effect)
203
inline
void
SetUseFilesNEW
(
G4bool
) {};
204
205
private
:
206
207
G4bool
IsLocked
()
const
;
208
209
G4DeexPrecoParameters
(
const
G4DeexPrecoParameters
&
right
) =
delete
;
210
const
G4DeexPrecoParameters
&
operator
=
211
(
const
G4DeexPrecoParameters
&
right
) =
delete
;
212
G4bool
operator==
(
const
G4DeexPrecoParameters
&
right
)
const
=
delete
;
213
G4bool
operator!=
(
const
G4DeexPrecoParameters
&
right
)
const
=
delete
;
214
215
G4DeexParametersMessenger
*
theMessenger
;
216
G4StateManager
*
fStateManager
;
217
218
// Level density parameter
219
G4double
fLevelDensity
;
220
221
// Nuclear radius r0
222
G4double
fR0
;
223
224
// Nuclear radius r0 for transitions
225
G4double
fTransitionsR0
;
226
227
// upper limit of level energy for Fermi Break-up model
228
G4double
fFBUEnergyLimit
;
229
230
// Fermi energy level
231
G4double
fFermiEnergy
;
232
233
// Excitation per nucleon limits
234
G4double
fPrecoLowEnergy
;
235
G4double
fPrecoHighEnergy
;
236
237
// Preco phenomenological factor
238
G4double
fPhenoFactor
;
239
240
// Excitation handler
241
G4double
fMinExcitation
;
242
G4double
fMaxLifeTime
;
243
244
// Multi-fragmentation model
245
G4double
fMinExPerNucleounForMF
;
246
247
// Cross section type
248
G4int
fPrecoType
;
249
G4int
fDeexType
;
250
251
// Internal conversion model ID
252
G4int
fInternalConversionID
;
253
G4int
fTwoJMAX
;
254
255
// Preco model
256
G4int
fMinZForPreco
;
257
G4int
fMinAForPreco
;
258
259
G4int
fMaxZ
;
260
G4int
fVerbose
;
261
262
// Preco flags
263
G4bool
fNeverGoBack
;
264
G4bool
fUseSoftCutoff
;
265
G4bool
fUseCEM
;
266
G4bool
fUseGNASH
;
267
G4bool
fUseHETC
;
268
G4bool
fUseAngularGen
;
269
G4bool
fPrecoDummy
;
270
271
// Deex flags
272
G4bool
fCorrelatedGamma
;
273
G4bool
fStoreAllLevels
;
274
G4bool
fInternalConversion
;
275
G4bool
fLD
;
// use simple level density model
276
G4bool
fFD
;
// use transition to discrete level
277
278
// type of a set of e-exitation channels
279
G4DeexChannelType
fDeexChannelType
;
280
281
#ifdef G4MULTITHREADED
282
static
G4Mutex
deexPrecoMutex;
283
#endif
284
};
285
286
inline
G4double
G4DeexPrecoParameters::GetLevelDensity
()
const
287
{
288
return
fLevelDensity
;
289
}
290
291
inline
G4double
G4DeexPrecoParameters::GetR0
()
const
292
{
293
return
fR0
;
294
}
295
296
inline
G4double
G4DeexPrecoParameters::GetTransitionsR0
()
const
297
{
298
return
fTransitionsR0
;
299
}
300
301
inline
G4double
G4DeexPrecoParameters::GetFBUEnergyLimit
()
const
302
{
303
return
fFBUEnergyLimit
;
304
}
305
306
inline
G4double
G4DeexPrecoParameters::GetFermiEnergy
()
const
307
{
308
return
fFermiEnergy
;
309
}
310
311
inline
G4double
G4DeexPrecoParameters::GetPrecoLowEnergy
()
const
312
{
313
return
fPrecoLowEnergy
;
314
}
315
316
inline
G4double
G4DeexPrecoParameters::GetPrecoHighEnergy
()
const
317
{
318
return
fPrecoHighEnergy
;
319
}
320
321
inline
G4double
G4DeexPrecoParameters::GetPhenoFactor
()
const
322
{
323
return
fPhenoFactor
;
324
}
325
326
inline
G4double
G4DeexPrecoParameters::GetMinExcitation
()
const
327
{
328
return
fMinExcitation
;
329
}
330
331
inline
G4double
G4DeexPrecoParameters::GetMaxLifeTime
()
const
332
{
333
return
fMaxLifeTime
;
334
}
335
336
inline
G4double
G4DeexPrecoParameters::GetMinExPerNucleounForMF
()
const
337
{
338
return
fMinExPerNucleounForMF
;
339
}
340
341
inline
G4int
G4DeexPrecoParameters::GetInternalConversionID
()
const
342
{
343
return
fInternalConversionID
;
344
}
345
346
inline
G4int
G4DeexPrecoParameters::GetMinZForPreco
()
const
347
{
348
return
fMinZForPreco
;
349
}
350
351
inline
G4int
G4DeexPrecoParameters::GetMinAForPreco
()
const
352
{
353
return
fMinAForPreco
;
354
}
355
356
inline
G4int
G4DeexPrecoParameters::GetPrecoModelType
()
const
357
{
358
return
fPrecoType
;
359
}
360
361
inline
G4int
G4DeexPrecoParameters::GetDeexModelType
()
const
362
{
363
return
fDeexType
;
364
}
365
366
inline
G4int
G4DeexPrecoParameters::GetTwoJMAX
()
const
367
{
368
return
fTwoJMAX
;
369
}
370
371
inline
G4int
G4DeexPrecoParameters::GetUploadZ
()
const
372
{
373
return
fMaxZ
;
374
}
375
376
inline
G4int
G4DeexPrecoParameters::GetVerbose
()
const
377
{
378
return
fVerbose
;
379
}
380
381
inline
G4bool
G4DeexPrecoParameters::NeverGoBack
()
const
382
{
383
return
fNeverGoBack
;
384
}
385
386
inline
G4bool
G4DeexPrecoParameters::UseSoftCutoff
()
const
387
{
388
return
fUseSoftCutoff
;
389
}
390
391
inline
G4bool
G4DeexPrecoParameters::UseCEM
()
const
392
{
393
return
fUseCEM
;
394
}
395
396
inline
G4bool
G4DeexPrecoParameters::UseGNASH
()
const
397
{
398
return
fUseGNASH
;
399
}
400
401
inline
G4bool
G4DeexPrecoParameters::UseHETC
()
const
402
{
403
return
fUseHETC
;
404
}
405
406
inline
G4bool
G4DeexPrecoParameters::UseAngularGen
()
const
407
{
408
return
fUseAngularGen
;
409
}
410
411
inline
G4bool
G4DeexPrecoParameters::PrecoDummy
()
const
412
{
413
return
fPrecoDummy
;
414
}
415
416
inline
G4bool
G4DeexPrecoParameters::CorrelatedGamma
()
const
417
{
418
return
fCorrelatedGamma
;
419
}
420
421
inline
G4bool
G4DeexPrecoParameters::StoreICLevelData
()
const
422
{
423
return
fStoreAllLevels
;
424
}
425
426
inline
G4bool
G4DeexPrecoParameters::GetInternalConversionFlag
()
const
427
{
428
return
fInternalConversion
;
429
}
430
431
inline
G4bool
G4DeexPrecoParameters::GetLevelDensityFlag
()
const
432
{
433
return
fLD
;
434
}
435
436
inline
G4bool
G4DeexPrecoParameters::GetDiscreteExcitationFlag
()
const
437
{
438
return
fFD
;
439
}
440
441
inline
G4DeexChannelType
G4DeexPrecoParameters::GetDeexChannelsType
()
const
442
{
443
return
fDeexChannelType
;
444
}
445
446
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
de_excitation
management
include
G4DeexPrecoParameters.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:42
using
1.8.2 with
ECCE GitHub integration