34 #define INCLXX_IN_GEANT4_MODE 1
49 const G4String G4INCLXXInterfaceMessenger::theUIDirectory =
"/process/had/inclxx/";
52 theINCLXXInterfaceStore(anInterfaceStore)
56 theINCLXXDirectory->
SetGuidance(
"Parameters for the INCL++ model");
61 accurateNucleusCmd->
SetGuidance(
"Set which nucleus will be accurately described in nucleus-nucleus reactions.");
62 accurateNucleusCmd->
SetGuidance(
" projectile: accurate description of projectile-related quantities");
63 accurateNucleusCmd->
SetGuidance(
" target: accurate description of target-related quantities");
64 accurateNucleusCmd->
SetGuidance(
" Default: projectile");
72 maxClusterMassCmd->
SetGuidance(
"Set the maximum cluster mass.");
73 maxClusterMassCmd->
SetGuidance(
" The INCL++ cascade stage will produce clusters with mass up to the value of this parameter (included)");
74 maxClusterMassCmd->
SetGuidance(
" Allowed range: [2,12]");
77 maxClusterMassCmd->
SetRange(
"MaxClusterMass>=2 && MaxClusterMass<=12");
82 cascadeMinEnergyPerNucleonCmd->
SetGuidance(
"Set the minimum energy per nucleon at which cascade will be used.");
83 cascadeMinEnergyPerNucleonCmd->
SetGuidance(
" INCL++ will rely on PreCompound for reactions induced by projectiles slower than the given energy (per nucleon, where applicable)");
84 cascadeMinEnergyPerNucleonCmd->
SetParameterName(
"cascadeMinEnergyPerNucleon",
true);
86 cascadeMinEnergyPerNucleonCmd->
SetRange(
"cascadeMinEnergyPerNucleon>=0");
92 inclPhysicsCmd->
SetGuidance(
"Set a global configuration for INCL++.");
93 inclPhysicsCmd->
SetGuidance(
" default: default configuration, most recent options");
94 inclPhysicsCmd->
SetGuidance(
" incl42: try to mimick the behaviour from INCL4.2");
100 useAblaCmd =
new G4UIcommand((theUIDirectory +
"useAbla").
data(),
this);
101 useAblaCmd->
SetGuidance(
"Use ABLA V3 as de-excitation model after INCL++.");
106 delete theINCLXXDirectory;
107 delete accurateNucleusCmd;
108 delete maxClusterMassCmd;
109 delete cascadeMinEnergyPerNucleonCmd;
110 delete inclPhysicsCmd;
115 if(command==accurateNucleusCmd) {
117 if(newValues==
"projectile") {
119 }
else if(newValues==
"target") {
122 }
else if(command==maxClusterMassCmd) {
125 }
else if(command==cascadeMinEnergyPerNucleonCmd) {
128 }
else if(command==inclPhysicsCmd) {
130 }
else if(command==useAblaCmd) {
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4double defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void UseAblaDeExcitation()
Set ABLA V3 to be the de-excitation model to be used with INCL++.
~G4INCLXXInterfaceMessenger()
void SetUnitCategory(const char *unitCategory)
static G4double GetNewDoubleValue(const char *paramString)
const XML_Char const XML_Char * data
void SetAccurateProjectile(const G4bool b)
Setter for accurateProjectile.
Singleton class for configuring the INCL++ Geant4 interface.
void SetRange(const char *rs)
void SetGuidance(const char *aGuidance)
void SetCascadeMinEnergyPerNucleon(const G4double anEnergy)
Setter for cascadeMinEnergyPerNucleon.
void SetINCLPhysics(const G4String &option)
Set the INCL physics.
void AvailableForStates(G4ApplicationState s1)
G4INCLXXInterfaceMessenger(G4INCLXXInterfaceStore *anInterfaceStore)
void SetDefaultValue(const char *defVal)
Messenger class for the Geant4 INCL++ interface.
static constexpr double MeV
void SetDefaultValue(G4int defVal)
void SetMaxClusterMass(const G4int aMass)
Setter for the maximum cluster mass.
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetNewValue(G4UIcommand *command, G4String newValues)