56 if(!IsLocked()) { Initialise(); }
59void G4DeexPrecoParameters::Initialise()
63 fLevelDensity = 0.075/CLHEP::MeV;
64 fR0 = 1.5*CLHEP::fermi;
65 fTransitionsR0 = 0.6*CLHEP::fermi;
68 fPrecoLowEnergy = 0.1*CLHEP::MeV;
69 fPrecoHighEnergy = 15*CLHEP::MeV;
77 fUseSoftCutoff =
false;
81 fUseAngularGen =
true;
85 fMinExcitation = 10*CLHEP::eV;
86 fNuclearLevelWidth = 0.2*CLHEP::MeV;
87 fFBUEnergyLimit = 20.0*CLHEP::MeV;
88 fFermiEnergy = 35.0*CLHEP::MeV;
89 fMaxLifeTime = 1*CLHEP::nanosecond;
90 fMinExPerNucleounForMF = 200*CLHEP::GeV;
98 fCorrelatedGamma =
false;
99 fStoreAllLevels =
true;
100 fInternalConversion =
true;
108 if(IsLocked() || val <= 0.0) {
return; }
109 fLevelDensity = val/CLHEP::MeV;
114 if(IsLocked() || val <= 0.0) {
return; }
120 if(IsLocked() || val <= 0.0) {
return; }
121 fTransitionsR0 = val;
126 if(IsLocked() || val <= 0.0) {
return; }
127 fFBUEnergyLimit = val;
132 if(IsLocked() || val <= 0.0) {
return; }
138 if(IsLocked() || val < 0.0) {
return; }
139 fPrecoLowEnergy = val;
144 if(IsLocked() || val < 0.0) {
return; }
145 fPrecoHighEnergy = val;
150 if(IsLocked() || val <= 0.0) {
return; }
156 if(IsLocked() || val < 0.0) {
return; }
157 fMinExcitation = val;
162 if(IsLocked() || val < 0.0) {
return; }
163 fNuclearLevelWidth = val;
168 if(IsLocked() || val < 0.0) {
return; }
174 if(IsLocked() || val < 0.0) {
return; }
175 fMinExPerNucleounForMF = val;
180 if(IsLocked() || n < 2) {
return; }
186 if(IsLocked() || n < 0) {
return; }
192 if(IsLocked() || n < 0 || n > 3) {
return; }
198 if(IsLocked() || n < 0 || n > 3) {
return; }
204 if(IsLocked() || n < 0) {
return; }
210 if(IsLocked()) {
return; }
216 if(IsLocked()) {
return; }
222 if(IsLocked()) {
return; }
223 fUseSoftCutoff = val;
228 if(IsLocked()) {
return; }
234 if(IsLocked()) {
return; }
240 if(IsLocked()) {
return; }
246 if(IsLocked()) {
return; }
247 fUseAngularGen = val;
252 if(IsLocked()) {
return; }
254 fDeexChannelType =
fDummy;
259 if(IsLocked()) {
return; }
260 fCorrelatedGamma = val;
265 if(IsLocked()) {
return; }
266 fStoreAllLevels = val;
276 if(IsLocked()) {
return; }
277 fInternalConversion = val;
282 if(IsLocked()) {
return; }
288 if(IsLocked()) {
return; }
294 if(IsLocked()) {
return; }
300 if(IsLocked()) {
return; }
301 fDeexChannelType = val;
306 if(IsLocked()) {
return; }
307 fPreCompoundType = val;
312 if(IsLocked()) {
return; }
313 fFermiBreakUpType = val;
318 static const G4String namm[5] = {
"Evaporation",
"GEM",
"Evaporation+GEM",
"GEMVI",
"Dummy"};
319 static const G4int nmm[5] = {8, 68, 68, 83, 0};
320 static const G4String nfbu[3] = {
"ModelVI",
"ModelAN",
"Dummy"};
321 G4int idx = fDeexChannelType;
322 G4int jdx = fFermiBreakUpType;
324 G4long prec = os.precision(5);
325 os <<
"=======================================================================" <<
"\n";
326 os <<
"====== Geant4 Native Pre-compound Model Parameters ========" <<
"\n";
327 os <<
"=======================================================================" <<
"\n";
328 os <<
"Type of pre-compound model " << fPreCompoundType <<
"\n";
329 os <<
"Type of pre-compound inverse x-section " << fPrecoType <<
"\n";
330 os <<
"Pre-compound model active " << (!fPrecoDummy) <<
"\n";
331 os <<
"Pre-compound excitation low energy "
332 << fPrecoLowEnergy/CLHEP::MeV <<
" MeV \n";
333 os <<
"Pre-compound excitation high energy "
334 << fPrecoHighEnergy/CLHEP::MeV <<
" MeV \n";
335 os <<
"Angular generator for pre-compound model " << fUseAngularGen <<
"\n";
336 os <<
"Use NeverGoBack option for pre-compound model " << fNeverGoBack <<
"\n";
337 os <<
"Use SoftCutOff option for pre-compound model " << fUseSoftCutoff <<
"\n";
338 os <<
"Use CEM transitions for pre-compound model " << fUseCEM <<
"\n";
339 os <<
"Use GNASH transitions for pre-compound model " << fUseGNASH <<
"\n";
340 os <<
"Use HETC submodel for pre-compound model " << fUseHETC <<
"\n";
341 os <<
"=======================================================================" <<
"\n";
342 os <<
"====== Nuclear De-excitation Module Parameters ========" <<
"\n";
343 os <<
"=======================================================================" <<
"\n";
344 os <<
"Type of de-excitation inverse x-section " << fDeexType <<
"\n";
345 os <<
"Type of de-excitation factory " << namm[idx] <<
"\n";
346 os <<
"Number of de-excitation channels " << nmm[idx] <<
"\n";
347 os <<
"Type of Fermi BreakUp model " << nfbu[jdx] <<
"\n";
348 os <<
"Min excitation energy "
349 << fMinExcitation/CLHEP::keV <<
" keV \n";
350 os <<
"Min energy per nucleon for multifragmentation "
351 << fMinExPerNucleounForMF/CLHEP::MeV <<
" MeV\n";
352 os <<
"Level density (1/MeV) "
353 << fLevelDensity*CLHEP::MeV <<
"\n";
354 os <<
"Use simple level density model " << fLD <<
"\n";
355 os <<
"Use discrete excitation energy of the residual " << fFD <<
"\n";
356 os <<
"Time limit for long lived isomeres "
357 << fMaxLifeTime/CLHEP::ns <<
" ns \n";
358 os <<
"Isomer production flag " << fIsomerFlag <<
"\n";
359 os <<
"Internal e- conversion flag "
360 << fInternalConversion <<
"\n";
361 os <<
"Store e- internal conversion data " << fStoreAllLevels <<
"\n";
362 os <<
"Correlated gamma emission flag " << fCorrelatedGamma <<
"\n";
363 os <<
"Max 2J for sampling of angular correlations " << fTwoJMAX <<
"\n";
364 os <<
"=======================================================================" <<
G4endl;
372 return (verb > 0) ? std::max(fVerbose, verb) : verb;
388G4bool G4DeexPrecoParameters::IsLocked()
const
std::ostream & operator<<(std::ostream &os, const G4DeexPrecoParameters &par)
G4GLOB_DLL std::ostream G4cout
void SetPrecoDummy(G4bool)
void SetIsomerProduction(G4bool)
void SetFermiBreakUpType(G4FermiBreakUpType)
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 SetNuclearLevelWidth(G4double)
void SetPrecoModelType(G4int)
void SetFermiEnergy(G4double)
void SetUseSoftCutoff(G4bool)
void SetPreCompoundType(G4PreCompoundType)
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
const G4ApplicationState & GetCurrentState() const
static G4StateManager * GetStateManager()