Geant4 11.1.1
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 GetMinZForPreco() const;
95
96 inline G4int GetMinAForPreco() const;
97
98 inline G4int GetPrecoModelType() const;
99
100 inline G4int GetDeexModelType() const;
101
102 inline G4int GetTwoJMAX() const;
103
104 inline G4int GetUploadZ() const;
105
106 inline G4bool NeverGoBack() const;
107
108 inline G4bool UseSoftCutoff() const;
109
110 inline G4bool UseCEM() const;
111
112 inline G4bool UseGNASH() const;
113
114 inline G4bool UseHETC() const;
115
116 inline G4bool UseAngularGen() const;
117
118 inline G4bool PrecoDummy() const;
119
120 inline G4bool CorrelatedGamma() const;
121
122 inline G4bool GetInternalConversionFlag() const;
123
124 inline G4bool GetLevelDensityFlag() const;
125
126 inline G4bool GetDiscreteExcitationFlag() const;
127
128 inline G4bool StoreICLevelData() const;
129
130 inline G4bool IsomerProduction() const;
131
133
134 // Set methods
135
137
138 void SetR0(G4double);
139
141
143
145
147
149
151
153
155
157
159
161
163
165
167
168 void SetTwoJMAX(G4int);
169
170 void SetVerbose(G4int);
171
173
175
176 void SetUseCEM(G4bool);
177
178 void SetUseGNASH(G4bool);
179
180 void SetUseHETC(G4bool);
181
183
184 void SetPrecoDummy(G4bool);
185
187
189
190 // obsolete method (use previous)
192
194
196
198
200
202
204 const G4DeexPrecoParameters& operator=
205 (const G4DeexPrecoParameters &right) = delete;
206 G4bool operator==(const G4DeexPrecoParameters &right) const = delete;
207 G4bool operator!=(const G4DeexPrecoParameters &right) const = delete;
208
209private:
210
211 G4bool IsLocked() const;
212
213 G4DeexParametersMessenger* theMessenger;
214 G4StateManager* fStateManager;
215
216 // Level density parameter
217 G4double fLevelDensity;
218
219 // Nuclear radius r0
220 G4double fR0;
221
222 // Nuclear radius r0 for transitions
223 G4double fTransitionsR0;
224
225 // upper limit of level energy for Fermi Break-up model
226 G4double fFBUEnergyLimit;
227
228 // Fermi energy level
229 G4double fFermiEnergy;
230
231 // Excitation per nucleon limits
232 G4double fPrecoLowEnergy;
233 G4double fPrecoHighEnergy;
234
235 // Preco phenomenological factor
236 G4double fPhenoFactor;
237
238 // Excitation handler
239 G4double fMinExcitation;
240 G4double fMaxLifeTime;
241
242 // Multi-fragmentation model
243 G4double fMinExPerNucleounForMF;
244
245 // Cross section type
246 G4int fPrecoType;
247 G4int fDeexType;
248
249 G4int fTwoJMAX;
250
251 // Preco model
252 G4int fMinZForPreco;
253 G4int fMinAForPreco;
254
255 G4int fVerbose;
256
257 // Preco flags
258 G4bool fNeverGoBack;
259 G4bool fUseSoftCutoff;
260 G4bool fUseCEM;
261 G4bool fUseGNASH;
262 G4bool fUseHETC;
263 G4bool fUseAngularGen;
264 G4bool fPrecoDummy;
265
266 // Deex flags
267 G4bool fCorrelatedGamma;
268 G4bool fStoreAllLevels;
269 G4bool fInternalConversion;
270 G4bool fLD; // use simple level density model
271 G4bool fFD; // use transition to discrete level
272 G4bool fIsomerFlag; // enable isomere production
273
274 // type of a set of e-exitation channels
275 G4DeexChannelType fDeexChannelType;
276
277#ifdef G4MULTITHREADED
278 static G4Mutex deexPrecoMutex;
279#endif
280};
281
283{
284 return fLevelDensity;
285}
286
288{
289 return fR0;
290}
291
293{
294 return fTransitionsR0;
295}
296
298{
299 return fFBUEnergyLimit;
300}
301
303{
304 return fFermiEnergy;
305}
306
308{
309 return fPrecoLowEnergy;
310}
311
313{
314 return fPrecoHighEnergy;
315}
316
318{
319 return fPhenoFactor;
320}
321
323{
324 return fMinExcitation;
325}
326
328{
329 return fMaxLifeTime;
330}
331
333{
334 return fMinExPerNucleounForMF;
335}
336
338{
339 return fMinZForPreco;
340}
341
343{
344 return fMinAForPreco;
345}
346
348{
349 return fPrecoType;
350}
351
353{
354 return fDeexType;
355}
356
358{
359 return fTwoJMAX;
360}
361
363{
364 return fNeverGoBack;
365}
366
368{
369 return fUseSoftCutoff;
370}
371
373{
374 return fUseCEM;
375}
376
378{
379 return fUseGNASH;
380}
381
383{
384 return fUseHETC;
385}
386
388{
389 return fUseAngularGen;
390}
391
393{
394 return fPrecoDummy;
395}
396
398{
399 return fCorrelatedGamma;
400}
401
403{
404 return fStoreAllLevels;
405}
406
408{
409 return fInternalConversion;
410}
411
413{
414 return fLD;
415}
416
418{
419 return fFD;
420}
421
423{
424 return fIsomerFlag;
425}
426
428{
429 return fDeexChannelType;
430}
431
432#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)