Geant4 11.2.2
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#ifndef G4DeexPrecoParameters_h
36#define G4DeexPrecoParameters_h 1
37
38#include "globals.hh"
39
48
49class G4StateManager;
51
53{
54public:
55
56 explicit G4DeexPrecoParameters();
57
59
60 void SetDefaults();
61
62 // printing
63 std::ostream& StreamInfo(std::ostream& os) const;
64 void Dump();
65 friend std::ostream& operator<< (std::ostream& os,
67
68 G4int GetVerbose() const;
69
70 // inline access methods
71 inline G4double GetLevelDensity() const;
72
73 inline G4double GetR0() const;
74
75 inline G4double GetTransitionsR0() const;
76
77 inline G4double GetFBUEnergyLimit() const;
78
79 inline G4double GetFermiEnergy() const;
80
81 inline G4double GetPrecoLowEnergy() const;
82
83 inline G4double GetPrecoHighEnergy() const;
84
85 inline G4double GetPhenoFactor() const;
86
87 inline G4double GetMinExcitation() const;
88
89 inline G4double GetMaxLifeTime() const;
90
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 G4bool NeverGoBack() const;
106
107 inline G4bool UseSoftCutoff() const;
108
109 inline G4bool UseCEM() const;
110
111 inline G4bool UseGNASH() const;
112
113 inline G4bool UseHETC() const;
114
115 inline G4bool UseAngularGen() const;
116
117 inline G4bool PrecoDummy() const;
118
119 inline G4bool CorrelatedGamma() const;
120
121 inline G4bool GetInternalConversionFlag() const;
122
123 inline G4bool GetLevelDensityFlag() const;
124
125 inline G4bool GetDiscreteExcitationFlag() const;
126
127 inline G4bool StoreICLevelData() const;
128
129 inline G4bool IsomerProduction() const;
130
132
133 // Set methods
134
136
137 void SetR0(G4double);
138
140
142
144
146
148
150
152
154
156
158
160
162
164
166
167 void SetTwoJMAX(G4int);
168
169 void SetVerbose(G4int);
170
172
174
175 void SetUseCEM(G4bool);
176
177 void SetUseGNASH(G4bool);
178
179 void SetUseHETC(G4bool);
180
182
183 void SetPrecoDummy(G4bool);
184
186
188
189 // obsolete method (use previous)
191
193
195
197
199
201
203 const G4DeexPrecoParameters& operator=
204 (const G4DeexPrecoParameters &right) = delete;
205 G4bool operator==(const G4DeexPrecoParameters &right) const = delete;
206 G4bool operator!=(const G4DeexPrecoParameters &right) const = delete;
207
208private:
209
210 void Initialise();
211
212 G4bool IsLocked() const;
213
214 G4DeexParametersMessenger* theMessenger;
215 G4StateManager* fStateManager;
216
217 // Level density parameter
218 G4double fLevelDensity;
219
220 // Nuclear radius r0
221 G4double fR0;
222
223 // Nuclear radius r0 for transitions
224 G4double fTransitionsR0;
225
226 // upper limit of level energy for Fermi Break-up model
227 G4double fFBUEnergyLimit;
228
229 // Fermi energy level
230 G4double fFermiEnergy;
231
232 // Excitation per nucleon limits
233 G4double fPrecoLowEnergy;
234 G4double fPrecoHighEnergy;
235
236 // Preco phenomenological factor
237 G4double fPhenoFactor = 1.0;
238
239 // Excitation handler
240 G4double fMinExcitation;
241 G4double fMaxLifeTime;
242
243 // Multi-fragmentation model
244 G4double fMinExPerNucleounForMF;
245
246 // Cross section type
247 G4int fPrecoType = 3;
248 G4int fDeexType = 3;
249
250 G4int fTwoJMAX = 10;
251
252 // Preco model
253 G4int fMinZForPreco = 3;
254 G4int fMinAForPreco = 5;
255
256 G4int fVerbose = 1;
257
258 // Preco flags
259 G4bool fNeverGoBack = false;
260 G4bool fUseSoftCutoff = false;
261 G4bool fUseCEM = true;
262 G4bool fUseGNASH = false;
263 G4bool fUseHETC = false;
264 G4bool fUseAngularGen = true;
265 G4bool fPrecoDummy = false;
266
267 // Deex flags
268 G4bool fCorrelatedGamma = false;
269 G4bool fStoreAllLevels = false;
270 G4bool fInternalConversion = true;
271 G4bool fLD = true; // use simple level density model
272 G4bool fFD = true; // use transition to discrete level
273 G4bool fIsomerFlag = true; // enable isomere production
274 G4bool fIsPrinted = false;
275
276 // type of a set of e-exitation channels
277 G4DeexChannelType fDeexChannelType = fCombined;
278};
279
281{
282 return fLevelDensity;
283}
284
286{
287 return fR0;
288}
289
291{
292 return fTransitionsR0;
293}
294
296{
297 return fFBUEnergyLimit;
298}
299
301{
302 return fFermiEnergy;
303}
304
306{
307 return fPrecoLowEnergy;
308}
309
311{
312 return fPrecoHighEnergy;
313}
314
316{
317 return fPhenoFactor;
318}
319
321{
322 return fMinExcitation;
323}
324
326{
327 return fMaxLifeTime;
328}
329
331{
332 return fMinExPerNucleounForMF;
333}
334
336{
337 return fMinZForPreco;
338}
339
341{
342 return fMinAForPreco;
343}
344
346{
347 return fPrecoType;
348}
349
351{
352 return fDeexType;
353}
354
356{
357 return fTwoJMAX;
358}
359
361{
362 return fNeverGoBack;
363}
364
366{
367 return fUseSoftCutoff;
368}
369
371{
372 return fUseCEM;
373}
374
376{
377 return fUseGNASH;
378}
379
381{
382 return fUseHETC;
383}
384
386{
387 return fUseAngularGen;
388}
389
391{
392 return fPrecoDummy;
393}
394
396{
397 return fCorrelatedGamma;
398}
399
401{
402 return fStoreAllLevels;
403}
404
406{
407 return fInternalConversion;
408}
409
411{
412 return fLD;
413}
414
416{
417 return fFD;
418}
419
421{
422 return fIsomerFlag;
423}
424
426{
427 return fDeexChannelType;
428}
429
430#endif
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
G4int GetUploadZ() const
G4bool operator!=(const G4DeexPrecoParameters &right) const =delete
void SetMinExPerNucleounForMF(G4double)
G4bool GetDiscreteExcitationFlag() const
G4DeexPrecoParameters(const G4DeexPrecoParameters &right)=delete
G4double GetPrecoHighEnergy() const
G4DeexChannelType GetDeexChannelsType() const
std::ostream & StreamInfo(std::ostream &os) const
G4double GetMinExPerNucleounForMF() const
friend std::ostream & operator<<(std::ostream &os, const G4DeexPrecoParameters &)
void SetMinEForMultiFrag(G4double)
G4bool GetInternalConversionFlag() const
G4bool operator==(const G4DeexPrecoParameters &right) const =delete
void SetDeexChannelsType(G4DeexChannelType)