Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DeexPrecoParameters.hh
Go to the documentation of this file.
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// Verbosity level depends on the local verbosity level and the verbosity
33// level of hadronics defined in G4HadronicParameters
34//
35// OPTxs is a type of model for inverse cross section. It is different
36// for pre-compound and de-excitation (fPrecoType and fDeexType).
37// Possible types:
38// 0 - Dostrovski's parameterization
39// 1 - G4NeutronInelasticXS or G4ParticleInelasticXS
40// 2 - Chatterjee's paramaterization
41// 3 - Kalbach's parameterization
42//
43
44#ifndef G4DeexPrecoParameters_h
45#define G4DeexPrecoParameters_h 1
46
47#include "globals.hh"
48
57
64
71
72class G4StateManager;
74
76{
77public:
78
80
82
83 void SetDefaults();
84
85 // printing
86 std::ostream& StreamInfo(std::ostream& os) const;
87 void Dump();
88 friend std::ostream& operator<< (std::ostream& os,
90
91 G4int GetVerbose() const;
92
93 // inline access methods
94 inline G4double GetLevelDensity() const;
95
96 inline G4double GetR0() const;
97
98 inline G4double GetTransitionsR0() const;
99
100 inline G4double GetFBUEnergyLimit() const;
101
102 inline G4double GetFermiEnergy() const;
103
104 inline G4double GetPrecoLowEnergy() const;
105
106 inline G4double GetPrecoHighEnergy() const;
107
108 inline G4double GetPhenoFactor() const;
109
110 inline G4double GetMinExcitation() const;
111
112 inline G4double GetNuclearLevelWidth() const;
113
114 inline G4double GetMaxLifeTime() const;
115
116 inline G4double GetMinExPerNucleounForMF() const;
117
118 inline G4int GetMinZForPreco() const;
119
120 inline G4int GetMinAForPreco() const;
121
122 // should be renamed
123 inline G4int GetPrecoModelType() const;
124
125 // should be renamed
126 inline G4int GetDeexModelType() const;
127
128 inline G4int GetTwoJMAX() const;
129
130 inline G4int GetUploadZ() const;
131
132 inline G4bool NeverGoBack() const;
133
134 inline G4bool UseSoftCutoff() const;
135
136 inline G4bool UseCEM() const;
137
138 inline G4bool UseGNASH() const;
139
140 inline G4bool UseHETC() const;
141
142 inline G4bool UseAngularGen() const;
143
144 inline G4bool PrecoDummy() const;
145
146 inline G4bool CorrelatedGamma() const;
147
148 inline G4bool GetInternalConversionFlag() const;
149
150 inline G4bool GetLevelDensityFlag() const;
151
152 inline G4bool GetDiscreteExcitationFlag() const;
153
154 inline G4bool StoreICLevelData() const;
155
156 inline G4bool IsomerProduction() const;
157
159
161
163
164 // Set methods
166
167 void SetR0(G4double);
168
170
172
174
176
178
180
182
184
186
188
190
192
194
195 // should be renamed
197
198 // should be renamed
200
201 void SetTwoJMAX(G4int);
202
203 void SetVerbose(G4int);
204
206
208
209 void SetUseCEM(G4bool);
210
211 void SetUseGNASH(G4bool);
212
213 void SetUseHETC(G4bool);
214
216
217 void SetPrecoDummy(G4bool);
218
220
222
223 // obsolete method (use SetStoreICLevelData)
225
227
229
231
233
235
237
239
241 const G4DeexPrecoParameters& operator=
242 (const G4DeexPrecoParameters &right) = delete;
243 G4bool operator==(const G4DeexPrecoParameters &right) const = delete;
244 G4bool operator!=(const G4DeexPrecoParameters &right) const = delete;
245
246private:
247
248 void Initialise();
249
250 G4bool IsLocked() const;
251
252 G4DeexParametersMessenger* theMessenger;
253 G4StateManager* fStateManager;
254
255 // Level density parameter
256 G4double fLevelDensity;
257
258 // Nuclear radius r0
259 G4double fR0;
260
261 // Nuclear radius r0 for transitions
262 G4double fTransitionsR0;
263
264 // upper limit of level energy for Fermi Break-up model
265 G4double fFBUEnergyLimit;
266
267 // Fermi energy level
268 G4double fFermiEnergy;
269
270 // Excitation per nucleon limits
271 G4double fPrecoLowEnergy;
272 G4double fPrecoHighEnergy;
273
274 // Preco phenomenological factor
275 G4double fPhenoFactor;
276
277 // Excitation handler
278 G4double fMinExcitation;
279 G4double fNuclearLevelWidth;
280 G4double fMaxLifeTime;
281
282 // Multi-fragmentation model
283 G4double fMinExPerNucleounForMF;
284
285 // Cross section type
286 G4int fPrecoType;
287 G4int fDeexType;
288
289 G4int fTwoJMAX;
290
291 // Preco model
292 G4int fMinZForPreco;
293 G4int fMinAForPreco;
294
295 G4int fVerbose;
296
297 // Preco flags
298 G4bool fNeverGoBack;
299 G4bool fUseSoftCutoff;
300 G4bool fUseCEM;
301 G4bool fUseGNASH;
302 G4bool fUseHETC;
303 G4bool fUseAngularGen;
304 G4bool fPrecoDummy;
305
306 // Deex flags
307 G4bool fCorrelatedGamma;
308 G4bool fStoreAllLevels;
309 G4bool fInternalConversion;
310 G4bool fLD;
311 G4bool fFD;
312 G4bool fIsomerFlag;
313 G4bool fIsPrinted{false};
314
315 // type of a set of de-exitation channels
316 G4DeexChannelType fDeexChannelType;
317 G4PreCompoundType fPreCompoundType;
318 G4FermiBreakUpType fFermiBreakUpType;
319};
320
322{
323 return fLevelDensity;
324}
325
327{
328 return fR0;
329}
330
332{
333 return fTransitionsR0;
334}
335
337{
338 return fFBUEnergyLimit;
339}
340
342{
343 return fFermiEnergy;
344}
345
347{
348 return fPrecoLowEnergy;
349}
350
352{
353 return fPrecoHighEnergy;
354}
355
357{
358 return fPhenoFactor;
359}
360
362{
363 return fMinExcitation;
364}
365
367{
368 return fNuclearLevelWidth;
369}
370
372{
373 return fMaxLifeTime;
374}
375
377{
378 return fMinExPerNucleounForMF;
379}
380
382{
383 return fMinZForPreco;
384}
385
387{
388 return fMinAForPreco;
389}
390
392{
393 return fPrecoType;
394}
395
397{
398 return fDeexType;
399}
400
402{
403 return fTwoJMAX;
404}
405
407{
408 return fNeverGoBack;
409}
410
412{
413 return fUseSoftCutoff;
414}
415
417{
418 return fUseCEM;
419}
420
422{
423 return fUseGNASH;
424}
425
427{
428 return fUseHETC;
429}
430
432{
433 return fUseAngularGen;
434}
435
437{
438 return fPrecoDummy;
439}
440
442{
443 return fCorrelatedGamma;
444}
445
447{
448 return fStoreAllLevels;
449}
450
452{
453 return fInternalConversion;
454}
455
457{
458 return fLD;
459}
460
462{
463 return fFD;
464}
465
467{
468 return fIsomerFlag;
469}
470
472{
473 return fDeexChannelType;
474}
475
477{
478 return fPreCompoundType;
479}
480
482{
483 return fFermiBreakUpType;
484}
485
486#endif
@ ePrecoInterface
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
G4int GetUploadZ() const
void SetFermiBreakUpType(G4FermiBreakUpType)
G4bool operator!=(const G4DeexPrecoParameters &right) const =delete
void SetMinExPerNucleounForMF(G4double)
G4bool GetDiscreteExcitationFlag() const
G4DeexPrecoParameters(const G4DeexPrecoParameters &right)=delete
G4double GetPrecoHighEnergy() const
G4double GetNuclearLevelWidth() const
G4DeexChannelType GetDeexChannelsType() const
std::ostream & StreamInfo(std::ostream &os) const
G4double GetMinExPerNucleounForMF() const
G4PreCompoundType GetPreCompoundType() const
friend std::ostream & operator<<(std::ostream &os, const G4DeexPrecoParameters &)
void SetMinEForMultiFrag(G4double)
G4bool GetInternalConversionFlag() const
G4bool operator==(const G4DeexPrecoParameters &right) const =delete
G4FermiBreakUpType GetFermiBreakUpType() const
void SetPreCompoundType(G4PreCompoundType)
void SetDeexChannelsType(G4DeexChannelType)