52   : 
G4UImessenger(), theParams(params), cmdDir(0), localCmdDir(false) {
 
   54   CreateDirectory(
"/process/had/cascade/",
"Bertini-esque cascade parameters");
 
   56   verboseCmd = CreateCommand<G4UIcmdWithAnInteger>(
"verbose",
 
   57             "Enable information messages");
 
   58   balanceCmd = CreateCommand<G4UIcmdWithABool>(
"checkBalance",
 
   59             "Enable internal conservation checking");
 
   60   reportCmd = CreateCommand<G4UIcmdWithoutParameter>(
"report",
 
   61             "Dump all non-default parameter settings");
 
   62   usePreCoCmd = CreateCommand<G4UIcmdWithABool>(
"usePreCompound",
 
   63             "Use PreCompoundModel for nuclear de-excitation");
 
   64   doCoalCmd = CreateCommand<G4UIcmdWithABool>(
"doCoalescence",
 
   65             "Apply final-state nucleon clustering");
 
   66   piNAbsCmd = CreateCommand<G4UIcmdWithADouble>(
"piNAbsorption",
 
   67             "Probability for pion absorption on single nucleon");
 
   68   historyCmd = CreateCommand<G4UIcmdWithABool>(
"showHistory",
 
   69                 "Collect and report full structure of cascade");
 
   70   use3BodyCmd = CreateCommand<G4UIcmdWithABool>(
"use3BodyMom",
 
   71             "Use three-body momentum parametrizations");
 
   72   usePSCmd = CreateCommand<G4UIcmdWithABool>(
"usePhaseSpace",
 
   73             "Use Kopylov N-body momentum generator");
 
   74   randomFileCmd = CreateCommand<G4UIcmdWithAString>(
"randomFile",
 
   75             "Save random-engine to file at each interaction");
 
   76   nucUseBestCmd = CreateCommand<G4UIcmdWithABool>(
"useBestNuclearModel",
 
   77             "Use all physical-units for nuclear structure");
 
   78   nucRad2parCmd = CreateCommand<G4UIcmdWithADouble>(
"useTwoParamNuclearRadius",
 
   79             "Use R = C1*cbrt(A) + C2/cbrt(A)");
 
   80   nucRadScaleCmd = CreateCommand<G4UIcmdWithADouble>(
"nuclearRadiusScale",
 
   81             "Set length scale for nuclear model");
 
   82   nucRadSmallCmd = CreateCommand<G4UIcmdWithADouble>(
"smallNucleusRadius",
 
   83             "Set radius of A<4 nuclei");
 
   84   nucRadAlphaCmd = CreateCommand<G4UIcmdWithADouble>(
"alphaRadiusScale",
 
   85             "Fraction of small-radius for He-4");
 
   86   nucRadTrailingCmd = CreateCommand<G4UIcmdWithADouble>(
"shadowningRadius",
 
   87             "Effective nucleon radius for trailing effect");
 
   88   nucFermiScaleCmd = CreateCommand<G4UIcmdWithADouble>(
"fermiScale",
 
   89             "Scale factor for fermi momentum");
 
   90   nucXsecScaleCmd = CreateCommand<G4UIcmdWithADouble>(
"crossSectionScale",
 
   91             "Scale fator for total cross-sections");
 
   92   nucGammaQDCmd = CreateCommand<G4UIcmdWithADouble>(
"gammaQuasiDeutScale",
 
   93             "Scale factor for gamma-quasideutron cross-sections");
 
   94   coalDPmax2Cmd = CreateCommand<G4UIcmdWithADouble>(
"cluster2DPmax",
 
   95             "Maximum momentum for p-n clusters");
 
   96   coalDPmax3Cmd = CreateCommand<G4UIcmdWithADouble>(
"cluster3DPmax",
 
   97             "Maximum momentum for ppn/pnn clusters");
 
   98   coalDPmax4Cmd = CreateCommand<G4UIcmdWithADouble>(
"cluster4DPmax",
 
   99             "Maximum momentum for alpha clusters");
 
  112   delete randomFileCmd;
 
  113   delete nucUseBestCmd;
 
  114   delete nucRad2parCmd;
 
  115   delete nucRadScaleCmd;
 
  116   delete nucRadSmallCmd;
 
  117   delete nucRadAlphaCmd;
 
  118   delete nucRadTrailingCmd;
 
  119   delete nucFermiScaleCmd;
 
  120   delete nucXsecScaleCmd;
 
  121   delete nucGammaQDCmd;
 
  122   delete coalDPmax2Cmd;
 
  123   delete coalDPmax3Cmd;
 
  124   delete coalDPmax4Cmd;
 
  125   if (localCmdDir) 
delete cmdDir;
 
  138   if (fullPath(0) != 
'/') fullPath.
prepend(
"/");
 
  139   if (fullPath(fullPath.length()-1) != 
'/') fullPath.
append(
"/");
 
  143   if (foundPath) cmdDir = 
dynamic_cast<G4UIdirectory*
>(foundPath);
 
  156   if (cmd == reportCmd) theParams->DumpConfig(
G4cout);
 
  158   if (cmd == verboseCmd) 
 
  159     theParams->G4CASCADE_VERBOSE = strdup(arg.c_str());
 
  161   if (cmd == balanceCmd) 
 
  162     theParams->G4CASCADE_CHECK_ECONS = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  164   if (cmd == usePreCoCmd) 
 
  165     theParams->G4CASCADE_USE_PRECOMPOUND = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  167   if (cmd == doCoalCmd) 
 
  168     theParams->G4CASCADE_DO_COALESCENCE = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  170   if (cmd == piNAbsCmd) 
 
  171     theParams->G4CASCADE_PIN_ABSORPTION = strdup(arg.c_str());
 
  173   if (cmd == historyCmd) 
 
  174     theParams->G4CASCADE_SHOW_HISTORY = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  176   if (cmd == use3BodyCmd)
 
  177     theParams->G4CASCADE_USE_3BODYMOM = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  180     theParams->G4CASCADE_USE_PHASESPACE = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  182   if (cmd == randomFileCmd)
 
  183     theParams->G4CASCADE_RANDOM_FILE = arg.empty() ? 0 : strdup(arg.c_str());
 
  185   if (cmd == nucUseBestCmd)
 
  186     theParams->G4NUCMODEL_USE_BEST = 
StoB(arg) ? strdup(arg.c_str()) : 0;
 
  188   if (cmd == nucRad2parCmd)
 
  189     theParams->G4NUCMODEL_RAD_2PAR = strdup(arg.c_str());
 
  191   if (cmd == nucRadScaleCmd)
 
  192     theParams->G4NUCMODEL_RAD_SCALE = strdup(arg.c_str());
 
  194   if (cmd == nucRadSmallCmd)
 
  195     theParams->G4NUCMODEL_RAD_SMALL = strdup(arg.c_str());
 
  197   if (cmd == nucRadAlphaCmd)
 
  198     theParams->G4NUCMODEL_RAD_ALPHA = strdup(arg.c_str());
 
  200   if (cmd == nucRadTrailingCmd)
 
  201     theParams->G4NUCMODEL_RAD_TRAILING = strdup(arg.c_str());
 
  203   if (cmd == nucFermiScaleCmd)
 
  204     theParams->G4NUCMODEL_FERMI_SCALE = strdup(arg.c_str());
 
  206   if (cmd == nucXsecScaleCmd)
 
  207     theParams->G4NUCMODEL_XSEC_SCALE = strdup(arg.c_str());
 
  209   if (cmd == nucGammaQDCmd)
 
  210     theParams->G4NUCMODEL_GAMMAQD = strdup(arg.c_str());
 
  212   if (cmd == coalDPmax2Cmd)
 
  213     theParams->DPMAX_2CLUSTER = strdup(arg.c_str());
 
  215   if (cmd == coalDPmax3Cmd)
 
  216     theParams->DPMAX_3CLUSTER = strdup(arg.c_str());
 
  218   if (cmd == coalDPmax4Cmd)
 
  219     theParams->DPMAX_4CLUSTER = strdup(arg.c_str());
 
  221   theParams->Initialize();  
 
G4UIcommand * FindPath(const char *commandPath) const 
 
virtual ~G4CascadeParamMessenger()
 
static G4UImanager * GetUIpointer()
 
G4String & prepend(const char *)
 
G4GLOB_DLL std::ostream G4cout
 
void SetGuidance(const char *aGuidance)
 
virtual void SetNewValue(G4UIcommand *command, G4String newValue)
 
G4UIcommandTree * GetTree() const 
 
G4String & append(const G4String &)
 
G4CascadeParamMessenger(G4CascadeParameters *params)
 
void CreateDirectory(const char *path, const char *desc)