57 G4MUTEXLOCK(&G4DeexPrecoParameters::deexPrecoMutex);
62 fLevelDensity = 0.075/CLHEP::MeV;
63 fR0 = 1.5*CLHEP::fermi;
64 fTransitionsR0 = 0.6*CLHEP::fermi;
65 fFBUEnergyLimit = 20.0*CLHEP::MeV;
66 fFermiEnergy = 35.0*CLHEP::MeV;
67 fPrecoLowEnergy = 0.1*CLHEP::MeV;
68 fPrecoHighEnergy = 30*CLHEP::MeV;
70 fMinExcitation = 10*CLHEP::eV;
71 fMaxLifeTime = 1*CLHEP::microsecond;
72 fMinExPerNucleounForMF = 200*CLHEP::GeV;
80 fUseSoftCutoff =
false;
84 fUseAngularGen =
false;
86 fCorrelatedGamma =
false;
87 fStoreAllLevels =
false;
88 fInternalConversion =
true;
92 fLocalVerbose =
false;
94 fInternalConversionID =
103 if(IsLocked() || val <= 0.0) {
return; }
104 fLevelDensity = val/CLHEP::MeV;
109 if(IsLocked() || val <= 0.0) {
return; }
115 if(IsLocked() || val <= 0.0) {
return; }
116 fTransitionsR0 = val;
121 if(IsLocked() || val <= 0.0) {
return; }
122 fFBUEnergyLimit = val;
127 if(IsLocked() || val <= 0.0) {
return; }
133 if(IsLocked() || val < 0.0) {
return; }
134 fPrecoLowEnergy = val;
139 if(IsLocked() || val < 0.0) {
return; }
140 fPrecoHighEnergy = val;
145 if(IsLocked() || val <= 0.0) {
return; }
151 if(IsLocked() || val < 0.0) {
return; }
152 fMinExcitation = val;
157 if(IsLocked() || val < 0.0) {
return; }
163 if(IsLocked() || val < 0.0) {
return; }
164 fMinExPerNucleounForMF = val;
169 if(IsLocked() || n < 2) {
return; }
175 if(IsLocked() || n < 0) {
return; }
181 if(IsLocked() || n < 0 || n > 3) {
return; }
187 if(IsLocked() || n < 0 || n > 3) {
return; }
193 if(IsLocked() || n < 0) {
return; }
199 if(IsLocked()) {
return; }
200 if( n != fVerbose ) { fLocalVerbose =
true; }
206 if(IsLocked()) {
return; }
212 if(IsLocked()) {
return; }
213 fUseSoftCutoff = val;
218 if(IsLocked()) {
return; }
224 if(IsLocked()) {
return; }
230 if(IsLocked()) {
return; }
236 if(IsLocked()) {
return; }
237 fUseAngularGen = val;
242 if(IsLocked()) {
return; }
244 fDeexChannelType =
fDummy;
249 if(IsLocked()) {
return; }
250 fCorrelatedGamma = val;
255 if(IsLocked()) {
return; }
256 fStoreAllLevels = val;
266 if(IsLocked()) {
return; }
267 fInternalConversion = val;
272 if(IsLocked()) {
return; }
278 if(IsLocked()) {
return; }
284 if(IsLocked()) {
return; }
290 if(IsLocked()) {
return; }
291 fDeexChannelType = val;
296 static const G4String namm[5] = {
"Evaporation",
"GEM",
"Evaporation+GEM",
"GEMVI",
"Dummy"};
297 static const G4int nmm[5] = {8, 68, 68, 31, 0};
298 size_t idx = (size_t)fDeexChannelType;
300 G4int prec = os.precision(5);
301 os <<
"=======================================================================" <<
"\n";
302 os <<
"====== Pre-compound/De-excitation Physics Parameters ========" <<
"\n";
303 os <<
"=======================================================================" <<
"\n";
304 os <<
"Type of pre-compound inverse x-section " << fPrecoType <<
"\n";
305 os <<
"Pre-compound model active " << (!fPrecoDummy) <<
"\n";
306 os <<
"Pre-compound excitation low energy (MeV) "
307 << fPrecoLowEnergy/CLHEP::MeV <<
"\n";
308 os <<
"Pre-compound excitation high energy (MeV) "
309 << fPrecoHighEnergy/CLHEP::MeV <<
"\n";
310 os <<
"Type of de-excitation inverse x-section " << fDeexType <<
"\n";
311 os <<
"Type of de-excitation factory " << namm[idx] <<
"\n";
312 os <<
"Number of de-excitation channels " << nmm[idx] <<
"\n";
313 os <<
"Min excitation energy (keV) "
314 << fMinExcitation/CLHEP::keV <<
"\n";
315 os <<
"Min energy per nucleon for multifragmentation (MeV) "
316 << fMinExPerNucleounForMF/CLHEP::MeV <<
"\n";
317 os <<
"Limit excitation energy for Fermi BreakUp (MeV) "
318 << fFBUEnergyLimit/CLHEP::MeV <<
"\n";
319 os <<
"Level density (1/MeV) "
320 << fLevelDensity*CLHEP::MeV <<
"\n";
321 os <<
"Use simple level density model " << fLD <<
"\n";
322 os <<
"Use discrete excitation energy of the residual " << fFD <<
"\n";
323 os <<
"Time limit for long lived isomeres (ns) "
324 << fMaxLifeTime/CLHEP::ns <<
"\n";
325 os <<
"Isomer production flag " << fIsomerFlag <<
"\n";
326 os <<
"Internal e- conversion flag "
327 << fInternalConversion <<
"\n";
328 os <<
"Store e- internal conversion data " << fStoreAllLevels <<
"\n";
329 os <<
"Electron internal conversion ID "
330 << fInternalConversionID <<
"\n";
331 os <<
"Correlated gamma emission flag " << fCorrelatedGamma <<
"\n";
332 os <<
"Max 2J for sampling of angular correlations " << fTwoJMAX <<
"\n";
333 os <<
"=======================================================================" <<
"\n";
341 return (fLocalVerbose && verb > 0) ? fVerbose : verb;
354G4bool G4DeexPrecoParameters::IsLocked()
const
std::ostream & operator<<(std::ostream &os, const G4DeexPrecoParameters &par)
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
G4GLOB_DLL std::ostream G4cout
void SetPrecoDummy(G4bool)
void SetIsomerProduction(G4bool)
void SetMinExPerNucleounForMF(G4double)
void SetCorrelatedGamma(G4bool)
void SetDeexModelType(G4int)
void SetLevelDensity(G4double)
void SetTransitionsR0(G4double)
void SetMaxLifeTime(G4double)
void SetStoreICLevelData(G4bool)
void SetMinAForPreco(G4int)
void SetNeverGoBack(G4bool)
void SetMinZForPreco(G4int)
std::ostream & StreamInfo(std::ostream &os) const
void SetPhenoFactor(G4double)
void SetPrecoLowEnergy(G4double)
void SetStoreAllLevels(G4bool)
void SetUseAngularGen(G4bool)
void SetPrecoModelType(G4int)
void SetFermiEnergy(G4double)
void SetUseSoftCutoff(G4bool)
void SetDiscreteExcitationFlag(G4bool)
void SetLevelDensityFlag(G4bool)
void SetMinExcitation(G4double)
void SetFBUEnergyLimit(G4double)
void SetInternalConversionFlag(G4bool)
void SetDeexChannelsType(G4DeexChannelType)
void SetPrecoHighEnergy(G4double)
static G4HadronicParameters * Instance()
G4int GetVerboseLevel() const
static G4int Register(const G4String &)
const G4ApplicationState & GetCurrentState() const
static G4StateManager * GetStateManager()