Geant4 10.7.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#ifndef G4DeexPrecoParameters_h
36#define G4DeexPrecoParameters_h 1
37
38#include "globals.hh"
39#include "G4Threading.hh"
40
42{
47 fDummy
48};
49
50class G4StateManager;
52
54{
55public:
56
57 explicit G4DeexPrecoParameters();
58
60
61 void SetDefaults();
62
63 // printing
64 std::ostream& StreamInfo(std::ostream& os) const;
65 void Dump() const;
66 friend std::ostream& operator<< (std::ostream& os,
68
69 G4int GetVerbose() const;
70
71 // inline access methods
72 inline G4double GetLevelDensity() const;
73
74 inline G4double GetR0() const;
75
76 inline G4double GetTransitionsR0() const;
77
78 inline G4double GetFBUEnergyLimit() const;
79
80 inline G4double GetFermiEnergy() const;
81
82 inline G4double GetPrecoLowEnergy() const;
83
84 inline G4double GetPrecoHighEnergy() const;
85
86 inline G4double GetPhenoFactor() const;
87
88 inline G4double GetMinExcitation() const;
89
90 inline G4double GetMaxLifeTime() const;
91
93
94 inline G4int GetInternalConversionID() const;
95
96 inline G4int GetMinZForPreco() const;
97
98 inline G4int GetMinAForPreco() const;
99
100 inline G4int GetPrecoModelType() const;
101
102 inline G4int GetDeexModelType() const;
103
104 inline G4int GetTwoJMAX() const;
105
106 inline G4int GetUploadZ() const;
107
108 inline G4bool NeverGoBack() const;
109
110 inline G4bool UseSoftCutoff() const;
111
112 inline G4bool UseCEM() const;
113
114 inline G4bool UseGNASH() const;
115
116 inline G4bool UseHETC() const;
117
118 inline G4bool UseAngularGen() const;
119
120 inline G4bool PrecoDummy() const;
121
122 inline G4bool CorrelatedGamma() const;
123
124 inline G4bool GetInternalConversionFlag() const;
125
126 inline G4bool GetLevelDensityFlag() const;
127
128 inline G4bool GetDiscreteExcitationFlag() const;
129
130 inline G4bool StoreICLevelData() const;
131
132 inline G4bool IsomerProduction() const;
133
135
136 // Set methods
137
139
140 void SetR0(G4double);
141
143
145
147
149
151
153
155
157
159
161
163
165
167
169
170 void SetTwoJMAX(G4int);
171
172 void SetVerbose(G4int);
173
175
177
178 void SetUseCEM(G4bool);
179
180 void SetUseGNASH(G4bool);
181
182 void SetUseHETC(G4bool);
183
185
186 void SetPrecoDummy(G4bool);
187
189
191
192 // obsolete method (use previous)
194
196
198
200
202
204
206 const G4DeexPrecoParameters& operator=
207 (const G4DeexPrecoParameters &right) = delete;
208 G4bool operator==(const G4DeexPrecoParameters &right) const = delete;
209 G4bool operator!=(const G4DeexPrecoParameters &right) const = delete;
210
211private:
212
213 G4bool IsLocked() const;
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 fVerbose;
260
261 // Preco flags
262 G4bool fNeverGoBack;
263 G4bool fUseSoftCutoff;
264 G4bool fUseCEM;
265 G4bool fUseGNASH;
266 G4bool fUseHETC;
267 G4bool fUseAngularGen;
268 G4bool fPrecoDummy;
269
270 // Deex flags
271 G4bool fCorrelatedGamma;
272 G4bool fStoreAllLevels;
273 G4bool fInternalConversion;
274 G4bool fLD; // use simple level density model
275 G4bool fFD; // use transition to discrete level
276 G4bool fIsomerFlag; // enable isomere production
277 G4bool fLocalVerbose; // is user set verbose for this module
278
279 // type of a set of e-exitation channels
280 G4DeexChannelType fDeexChannelType;
281
282#ifdef G4MULTITHREADED
283 static G4Mutex deexPrecoMutex;
284#endif
285};
286
288{
289 return fLevelDensity;
290}
291
293{
294 return fR0;
295}
296
298{
299 return fTransitionsR0;
300}
301
303{
304 return fFBUEnergyLimit;
305}
306
308{
309 return fFermiEnergy;
310}
311
313{
314 return fPrecoLowEnergy;
315}
316
318{
319 return fPrecoHighEnergy;
320}
321
323{
324 return fPhenoFactor;
325}
326
328{
329 return fMinExcitation;
330}
331
333{
334 return fMaxLifeTime;
335}
336
338{
339 return fMinExPerNucleounForMF;
340}
341
343{
344 return fInternalConversionID;
345}
346
348{
349 return fMinZForPreco;
350}
351
353{
354 return fMinAForPreco;
355}
356
358{
359 return fPrecoType;
360}
361
363{
364 return fDeexType;
365}
366
368{
369 return fTwoJMAX;
370}
371
373{
374 return fNeverGoBack;
375}
376
378{
379 return fUseSoftCutoff;
380}
381
383{
384 return fUseCEM;
385}
386
388{
389 return fUseGNASH;
390}
391
393{
394 return fUseHETC;
395}
396
398{
399 return fUseAngularGen;
400}
401
403{
404 return fPrecoDummy;
405}
406
408{
409 return fCorrelatedGamma;
410}
411
413{
414 return fStoreAllLevels;
415}
416
418{
419 return fInternalConversion;
420}
421
423{
424 return fLD;
425}
426
428{
429 return fFD;
430}
431
433{
434 return fIsomerFlag;
435}
436
438{
439 return fDeexChannelType;
440}
441
442#endif
@ fEvaporation
std::mutex G4Mutex
Definition: G4Threading.hh:81
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
int G4int
Definition: G4Types.hh:85
G4int GetUploadZ() const
G4double GetLevelDensity() const
G4double GetPrecoLowEnergy() const
G4bool operator!=(const G4DeexPrecoParameters &right) const =delete
void SetMinExPerNucleounForMF(G4double)
G4bool GetDiscreteExcitationFlag() const
G4DeexPrecoParameters(const G4DeexPrecoParameters &right)=delete
G4double GetPrecoHighEnergy() const
G4double GetTransitionsR0() const
G4DeexChannelType GetDeexChannelsType() const
std::ostream & StreamInfo(std::ostream &os) const
G4double GetMinExPerNucleounForMF() const
G4double GetFBUEnergyLimit() const
G4double GetMinExcitation() const
void SetMinEForMultiFrag(G4double)
friend std::ostream & operator<<(std::ostream &os, const G4DeexPrecoParameters &)
G4bool GetInternalConversionFlag() const
G4bool operator==(const G4DeexPrecoParameters &right) const =delete
void SetDeexChannelsType(G4DeexChannelType)