43 ParticleHPDir =
new G4UIdirectory(
"/process/had/particle_hp/");
44 ParticleHPDir->
SetGuidance(
"UI commands of ParticleHP");
46 PhotoEvaCmd =
new G4UIcmdWithAString(
"/process/had/particle_hp/use_photo_evaporation",
this);
48 " Force the use of the Photon Evaporation model, instead of the neutron capture final state "
54 SkipMissingCmd =
new G4UIcmdWithAString(
"/process/had/particle_hp/skip_missing_isotopes",
this);
56 "Use only exact isotope data files, instead of allowing nearby isotope files to be used.");
58 "In this case if the exact file is not available, the cross section will be set to zero.");
66 "Switch off the Doppler broadening due to the thermal motion of the target nucleus.");
67 NeglectDopplerCmd->
SetGuidance(
"This option provides a significant CPU performance advantage.");
74 DoNotAdjustFSCmd->
SetGuidance(
"Disable to adjust final state for getting better conservation.");
79 ProduceFissionFragementCmd =
81 ProduceFissionFragementCmd->
SetGuidance(
"Enable to generate fission fragments.");
86 WendtFissionModelCmd =
88 WendtFissionModelCmd->
SetGuidance(
"Enable use of Wendt fission model.");
93 NRESP71Cmd =
new G4UIcmdWithAString(
"/process/had/particle_hp/use_NRESP71_model",
this);
94 NRESP71Cmd->
SetGuidance(
"Enable to use NRESP71 model for n on C reaction");
100 VerboseCmd->
SetGuidance(
"Set Verbose level of ParticleHP package");
103 VerboseCmd->
SetRange(
"verbose_level >=0");
106 UseDBRCCmd =
new G4UIcmdWithABool(
"/process/had/particle_hp/use_DBRC",
this);
107 UseDBRCCmd->
SetGuidance(
"Enable use of Doppler Broadening Rejection Correction algorithm.");
112 MaxEnergySVTCmd->
SetGuidance(
"Energy threshold under which the SVT method is applied.");
113 MaxEnergySVTCmd->
SetGuidance(
"The default is 400. kT.");
115 MaxEnergySVTCmd->
SetRange(
"MaxEnergySVT>=0.");
120 MinADBRCCmd->
SetGuidance(
"Atomic mass in neutron mass above which the DBRC is applied.");
123 MinADBRCCmd->
SetRange(
"MinASVT>=0.");
129 "Energy threshold under which the DBRC method is not applied and only the SVT is used.");
130 MinEnergyDBRCCmd->
SetGuidance(
"The default value is 0.1 eV.");
132 MinEnergyDBRCCmd->
SetRange(
"MinEnergyDBRC>0.");
138 MaxEnergyDBRCCmd->
SetGuidance(
"Energy threshold under which the DBRC method is applied.");
139 MaxEnergyDBRCCmd->
SetGuidance(
"The default value is 210. eV.");
141 MaxEnergyDBRCCmd->
SetRange(
"MaxEnergyDBRC>0.");
149 delete ParticleHPDir;
151 delete SkipMissingCmd;
152 delete NeglectDopplerCmd;
153 delete DoNotAdjustFSCmd;
154 delete ProduceFissionFragementCmd;
155 delete WendtFissionModelCmd;
159 delete MaxEnergySVTCmd;
161 delete MinEnergyDBRCCmd;
162 delete MaxEnergyDBRCCmd;
168 if (newValue ==
"true") bValue =
true;
170 if (command == PhotoEvaCmd) {
176 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER UseOnlyPhotoEvaporation TO "
177 << bValue <<
" ===" <<
G4endl;
180 G4cout <<
" -> Forced the use of the Photon Evaporation model (instead of the neutron "
181 "capture final state data)"
185 G4cout <<
" -> Go back to use the default neutron capture final state data !" <<
G4endl;
191 if (command == SkipMissingCmd) {
196 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER SkipMissingIsotopes TO "
197 << bValue <<
" ===" <<
G4endl;
201 <<
" -> Use only exact isotope data files, instead of allowing nearby isotope files "
203 <<
" if the exact file is not available, the cross section will be set to zero !"
207 G4cout <<
" -> Go back to the default, i.e. use nearby isotope files when the exact "
208 "isotope data files are not found !"
215 if (command == NeglectDopplerCmd) {
220 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER NeglectDoppler TO "
221 << bValue <<
" ===" <<
G4endl;
224 G4cout <<
" -> Switched off the Doppler broadening due to the thermal motion of the "
226 <<
" on-the-fly Doppler broadening will be neglected in the cross section "
228 <<
" capture, elastic, fission and inelastic reactions/scatterings of "
229 "neutrons below 20 MeV.\n"
230 <<
" This option provides a significant CPU performance advantage !" <<
G4endl;
234 <<
" -> Go back to the default, i.e. switch on the Doppler broadening on-the-fly !"
241 if (command == DoNotAdjustFSCmd) {
246 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER DoNotAdjustFinalState TO "
247 << bValue <<
" ===" <<
G4endl;
251 <<
" -> Disabled the adjustment of the final state for getting better conservation !"
255 G4cout <<
" -> Go back to the default, i.e. adjust the final state to get better "
263 if (command == ProduceFissionFragementCmd) {
269 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER ProduceFissionFragments TO "
270 << bValue <<
" ===" <<
G4endl;
273 G4cout <<
" -> Enabled the generation of fission fragments !" <<
G4endl;
276 G4cout <<
" -> Go back to the default, i.e. do not generate fission fragments !"
283 if (command == WendtFissionModelCmd) {
290 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER UseWendtFissionModel TO "
291 << bValue <<
" ===" <<
G4endl;
294 G4cout <<
" -> Enabled the use of Wendt fission model !" <<
G4endl;
297 G4cout <<
" -> Go back to the default, i.e. do not use the Wendt fission model !"
304 if (command == NRESP71Cmd) {
309 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER UseNRESP71Model TO "
310 << bValue <<
" ===" <<
G4endl;
313 G4cout <<
" -> Enabled the use of NRESP71 model for n on C reaction !" <<
G4endl;
316 G4cout <<
" -> Go back to the default, i.e. do not use the NRESP71 model !" <<
G4endl;
322 if (command == VerboseCmd) {
328 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER VerboseLevel TO "
329 << verboseLevel <<
" ===" <<
G4endl;
335 if (command == UseDBRCCmd) {
341 G4cout <<
G4endl <<
"=== G4ParticleHPMessenger CHANGED PARAMETER UseDBRC TO " << bValue
348 G4cout <<
" -> Do not use the DBRC algorithm!" <<
G4endl;
354 if (command == MaxEnergySVTCmd) {
361 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER for SVT algorithm ===" <<
G4endl;
368 if (command == MinADBRCCmd) {
375 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER for DBRC algorithm ===" <<
G4endl;
382 if (command == MinEnergyDBRCCmd) {
389 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER for DBRC algorithm ===" <<
G4endl;
396 if (command == MaxEnergyDBRCCmd) {
403 <<
"=== G4ParticleHPMessenger CHANGED PARAMETER for SVT algorithm ===" <<
G4endl;
G4GLOB_DLL std::ostream G4cout
static G4HadronicParameters * Instance()
void SetNeutronKineticEnergyThresholdForSVT(const G4double val)
void SetUseNRESP71Model(G4bool val)
G4bool GetUseDBRC() const
void SetMinADBRC(G4double val)
void SetNeglectDoppler(G4bool val)
G4bool GetProduceFissionFragments() const
void SetMinEnergyDBRC(G4double val)
G4bool GetUseOnlyPhotoEvaporation() const
void SetProduceFissionFragments(G4bool val)
void SetSkipMissingIsotopes(G4bool val)
G4int GetVerboseLevel() const
void SetDoNotAdjustFinalState(G4bool val)
G4bool GetUseWendtFissionModel() const
G4double GetMinEnergyDBRC() const
void SetVerboseLevel(G4int i)
G4double GetMinADBRC() const
G4bool GetUseNRESP71Model() const
G4bool GetSkipMissingIsotopes() const
void SetUseDBRC(G4bool val)
void SetUseWendtFissionModel(G4bool val)
G4bool GetNeglectDoppler() const
void SetMaxEnergyDBRC(G4double val)
void SetUseOnlyPhotoEvaporation(G4bool val)
G4double GetMaxEnergyDBRC() const
G4bool GetDoNotAdjustFinalState() const
void SetNewValue(G4UIcommand *, G4String) override
G4ParticleHPMessenger(G4ParticleHPManager *)
~G4ParticleHPMessenger() override
static G4bool GetNewBoolValue(const char *paramString)
void SetDefaultValue(G4bool defVal)
void SetDefaultValue(G4double defVal)
void SetUnitCategory(const char *unitCategory)
static G4double GetNewDoubleValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4double GetNewDoubleValue(const char *paramString)
void SetDefaultValue(G4double defVal)
void SetCandidates(const char *candidateList)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4int defVal)
void SetGuidance(const char *aGuidance)
static G4int ConvertToInt(const char *st)
void SetRange(const char *rs)
void AvailableForStates(G4ApplicationState s1)