Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/utils/src/G4EmLowEParametersMessenger.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/electromagnetic/utils/src/G4EmLowEParametersMessenger.cc (Version 11.3.0) and /processes/electromagnetic/utils/src/G4EmLowEParametersMessenger.cc (Version 11.1.3)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 // -------------------------------------------     26 // -------------------------------------------------------------------
 27 //                                                 27 //
 28 // GEANT4 Class file                               28 // GEANT4 Class file
 29 //                                                 29 //
 30 // File name:     G4EmLowEParametersMessenger      30 // File name:     G4EmLowEParametersMessenger
 31 //                                                 31 //
 32 // Author:        Vladimir Ivanchenko              32 // Author:        Vladimir Ivanchenko 
 33 //                                                 33 //
 34 // Creation date: 07-05-2019                       34 // Creation date: 07-05-2019 
 35 //                                                 35 //
 36 // -------------------------------------------     36 // -------------------------------------------------------------------
 37 //                                                 37 //
 38                                                    38 
 39 //....oooOO0OOooo........oooOO0OOooo........oo     39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 40 //....oooOO0OOooo........oooOO0OOooo........oo     40 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 41                                                    41 
 42 #include "G4EmLowEParametersMessenger.hh"          42 #include "G4EmLowEParametersMessenger.hh"
 43 #include "G4EmFluoDirectory.hh"                    43 #include "G4EmFluoDirectory.hh"
 44 #include "G4UIcommand.hh"                          44 #include "G4UIcommand.hh"
 45 #include "G4UIparameter.hh"                        45 #include "G4UIparameter.hh"
 46 #include "G4UIcmdWithABool.hh"                     46 #include "G4UIcmdWithABool.hh"
 47 #include "G4UIcmdWithAnInteger.hh"                 47 #include "G4UIcmdWithAnInteger.hh"
 48 #include "G4UIcmdWithADouble.hh"                   48 #include "G4UIcmdWithADouble.hh"
 49 #include "G4UIcmdWithADoubleAndUnit.hh"            49 #include "G4UIcmdWithADoubleAndUnit.hh"
 50 #include "G4UIcmdWithAString.hh"                   50 #include "G4UIcmdWithAString.hh"
 51 #include "G4UIcmdWith3VectorAndUnit.hh"            51 #include "G4UIcmdWith3VectorAndUnit.hh"
 52 #include "G4UImanager.hh"                          52 #include "G4UImanager.hh"
 53 #include "G4EmLowEParameters.hh"                   53 #include "G4EmLowEParameters.hh"
                                                   >>  54 
 54 #include <sstream>                                 55 #include <sstream>
 55                                                    56 
 56 //....oooOO0OOooo........oooOO0OOooo........oo     57 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 57                                                    58 
 58 G4EmLowEParametersMessenger::G4EmLowEParameter     59 G4EmLowEParametersMessenger::G4EmLowEParametersMessenger(G4EmLowEParameters* ptr) 
 59   : theParameters(ptr)                             60   : theParameters(ptr)
 60 {                                                  61 {
 61   deCmd = new G4UIcmdWithABool("/process/em/fl     62   deCmd = new G4UIcmdWithABool("/process/em/fluo",this);
 62   deCmd->SetGuidance("Enable/disable atomic de     63   deCmd->SetGuidance("Enable/disable atomic deexcitation");
 63   deCmd->SetParameterName("fluoFlag",true);        64   deCmd->SetParameterName("fluoFlag",true);
 64   deCmd->SetDefaultValue(false);                   65   deCmd->SetDefaultValue(false);
 65   deCmd->AvailableForStates(G4State_PreInit,G4     66   deCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 66   deCmd->SetToBeBroadcasted(false);                67   deCmd->SetToBeBroadcasted(false);
 67                                                    68 
 68   dirFluoCmd = new G4UIcmdWithABool("/process/     69   dirFluoCmd = new G4UIcmdWithABool("/process/em/fluoBearden",this);
 69   dirFluoCmd->SetGuidance("Enable/disable usag     70   dirFluoCmd->SetGuidance("Enable/disable usage of Bearden fluorescence files");
 70   dirFluoCmd->SetParameterName("fluoBeardenFla     71   dirFluoCmd->SetParameterName("fluoBeardenFlag",true);
 71   dirFluoCmd->SetDefaultValue(false);              72   dirFluoCmd->SetDefaultValue(false);
 72   dirFluoCmd->AvailableForStates(G4State_PreIn     73   dirFluoCmd->AvailableForStates(G4State_PreInit,G4State_Init);
 73   dirFluoCmd->SetToBeBroadcasted(false);           74   dirFluoCmd->SetToBeBroadcasted(false);
 74                                                    75 
 75   dirFluoCmd1 = new G4UIcmdWithABool("/process     76   dirFluoCmd1 = new G4UIcmdWithABool("/process/em/fluoANSTO",this);
 76   dirFluoCmd1->SetGuidance("Enable/disable usa     77   dirFluoCmd1->SetGuidance("Enable/disable usage of ANSTO fluorescence files");
 77   dirFluoCmd1->SetParameterName("fluoANSTOFlag     78   dirFluoCmd1->SetParameterName("fluoANSTOFlag",true);
 78   dirFluoCmd1->SetDefaultValue(false);             79   dirFluoCmd1->SetDefaultValue(false);
 79   dirFluoCmd1->AvailableForStates(G4State_PreI     80   dirFluoCmd1->AvailableForStates(G4State_PreInit,G4State_Init);
 80   dirFluoCmd1->SetToBeBroadcasted(false);          81   dirFluoCmd1->SetToBeBroadcasted(false);
 81                                                    82 
 82   auCmd = new G4UIcmdWithABool("/process/em/au     83   auCmd = new G4UIcmdWithABool("/process/em/auger",this);
 83   auCmd->SetGuidance("Enable/disable Auger ele     84   auCmd->SetGuidance("Enable/disable Auger electrons production");
 84   auCmd->SetParameterName("augerFlag",true);       85   auCmd->SetParameterName("augerFlag",true);
 85   auCmd->SetDefaultValue(false);                   86   auCmd->SetDefaultValue(false);
 86   auCmd->AvailableForStates(G4State_PreInit,G4     87   auCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 87   auCmd->SetToBeBroadcasted(false);                88   auCmd->SetToBeBroadcasted(false);
 88                                                    89 
 89   auCascadeCmd = new G4UIcmdWithABool("/proces     90   auCascadeCmd = new G4UIcmdWithABool("/process/em/augerCascade",this);
 90   auCascadeCmd->SetGuidance("Enable/disable si     91   auCascadeCmd->SetGuidance("Enable/disable simulation of cascade of Auger electrons");
 91   auCascadeCmd->SetParameterName("augerCascade     92   auCascadeCmd->SetParameterName("augerCascadeFlag",true);
 92   auCascadeCmd->SetDefaultValue(false);            93   auCascadeCmd->SetDefaultValue(false);
 93   auCascadeCmd->AvailableForStates(G4State_Pre     94   auCascadeCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 94   auCascadeCmd->SetToBeBroadcasted(false);         95   auCascadeCmd->SetToBeBroadcasted(false);
 95                                                    96 
 96   pixeCmd = new G4UIcmdWithABool("/process/em/     97   pixeCmd = new G4UIcmdWithABool("/process/em/pixe",this);
 97   pixeCmd->SetGuidance("Enable/disable PIXE si     98   pixeCmd->SetGuidance("Enable/disable PIXE simulation");
 98   pixeCmd->SetParameterName("pixeFlag",true);      99   pixeCmd->SetParameterName("pixeFlag",true);
 99   pixeCmd->SetDefaultValue(false);                100   pixeCmd->SetDefaultValue(false);
100   pixeCmd->AvailableForStates(G4State_PreInit,    101   pixeCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
101   pixeCmd->SetToBeBroadcasted(false);             102   pixeCmd->SetToBeBroadcasted(false);
102                                                   103 
103   dcutCmd = new G4UIcmdWithABool("/process/em/    104   dcutCmd = new G4UIcmdWithABool("/process/em/deexcitationIgnoreCut",this);
104   dcutCmd->SetGuidance("Enable/Disable usage o    105   dcutCmd->SetGuidance("Enable/Disable usage of cuts in de-excitation module");
105   dcutCmd->SetParameterName("deexcut",true);      106   dcutCmd->SetParameterName("deexcut",true);
106   dcutCmd->SetDefaultValue(false);                107   dcutCmd->SetDefaultValue(false);
107   dcutCmd->AvailableForStates(G4State_PreInit,    108   dcutCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
108   dcutCmd->SetToBeBroadcasted(false);             109   dcutCmd->SetToBeBroadcasted(false);
109                                                   110 
110   dnafCmd = new G4UIcmdWithABool("/process/dna    111   dnafCmd = new G4UIcmdWithABool("/process/dna/UseDNAFast",this);
111   dnafCmd->SetGuidance("Enable usage of fast s    112   dnafCmd->SetGuidance("Enable usage of fast sampling for DNA models");
112   dnafCmd->SetParameterName("dnaf",true);         113   dnafCmd->SetParameterName("dnaf",true);
113   dnafCmd->SetDefaultValue(false);                114   dnafCmd->SetDefaultValue(false);
114   dnafCmd->AvailableForStates(G4State_PreInit)    115   dnafCmd->AvailableForStates(G4State_PreInit);
115   dnafCmd->SetToBeBroadcasted(false);             116   dnafCmd->SetToBeBroadcasted(false);
116                                                   117 
117   dnasCmd = new G4UIcmdWithABool("/process/dna    118   dnasCmd = new G4UIcmdWithABool("/process/dna/UseDNAStationary",this);
118   dnasCmd->SetGuidance("Enable usage of Statio    119   dnasCmd->SetGuidance("Enable usage of Stationary option for DNA models");
119   dnasCmd->SetParameterName("dnas",true);         120   dnasCmd->SetParameterName("dnas",true);
120   dnasCmd->SetDefaultValue(false);                121   dnasCmd->SetDefaultValue(false);
121   dnasCmd->AvailableForStates(G4State_PreInit)    122   dnasCmd->AvailableForStates(G4State_PreInit);
122   dnasCmd->SetToBeBroadcasted(false);             123   dnasCmd->SetToBeBroadcasted(false);
123                                                   124 
124   dnamscCmd = new G4UIcmdWithABool("/process/d    125   dnamscCmd = new G4UIcmdWithABool("/process/dna/UseDNAElectronMsc",this);
125   dnamscCmd->SetGuidance("Enable usage of e- m    126   dnamscCmd->SetGuidance("Enable usage of e- msc for DNA");
126   dnamscCmd->SetParameterName("dnamsc",true);     127   dnamscCmd->SetParameterName("dnamsc",true);
127   dnamscCmd->SetDefaultValue(false);              128   dnamscCmd->SetDefaultValue(false);
128   dnamscCmd->AvailableForStates(G4State_PreIni    129   dnamscCmd->AvailableForStates(G4State_PreInit);
129   dnamscCmd->SetToBeBroadcasted(false);           130   dnamscCmd->SetToBeBroadcasted(false);
130                                                   131 
131   direFluoCmd = new G4UIcmdWithAString("/proce    132   direFluoCmd = new G4UIcmdWithAString("/process/em/fluoDirectory",this);
132   direFluoCmd->SetGuidance("The name of PIXE c    133   direFluoCmd->SetGuidance("The name of PIXE cross section");
133   direFluoCmd->SetParameterName("fluoDirectory    134   direFluoCmd->SetParameterName("fluoDirectory",true);
134   direFluoCmd->SetCandidates("Default Bearden     135   direFluoCmd->SetCandidates("Default Bearden ANSTO XDB_EADL");
135   direFluoCmd->AvailableForStates(G4State_PreI    136   direFluoCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
136   direFluoCmd->SetToBeBroadcasted(false);         137   direFluoCmd->SetToBeBroadcasted(false);
137                                                   138 
138   pixeXsCmd = new G4UIcmdWithAString("/process    139   pixeXsCmd = new G4UIcmdWithAString("/process/em/pixeXSmodel",this);
139   pixeXsCmd->SetGuidance("The name of PIXE cro    140   pixeXsCmd->SetGuidance("The name of PIXE cross section");
140   pixeXsCmd->SetParameterName("pixeXS",true);     141   pixeXsCmd->SetParameterName("pixeXS",true);
141   pixeXsCmd->SetCandidates("ECPSSR_Analytical     142   pixeXsCmd->SetCandidates("ECPSSR_Analytical Empirical ECPSSR_FormFactor ECPSSR_ANSTO");
142   pixeXsCmd->AvailableForStates(G4State_PreIni    143   pixeXsCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
143   pixeXsCmd->SetToBeBroadcasted(false);           144   pixeXsCmd->SetToBeBroadcasted(false);
144                                                   145 
145   pixeeXsCmd = new G4UIcmdWithAString("/proces    146   pixeeXsCmd = new G4UIcmdWithAString("/process/em/pixeElecXSmodel",this);
146   pixeeXsCmd->SetGuidance("The name of PIXE cr    147   pixeeXsCmd->SetGuidance("The name of PIXE cross section for electron");
147   pixeeXsCmd->SetParameterName("pixeEXS",true)    148   pixeeXsCmd->SetParameterName("pixeEXS",true);
148   pixeeXsCmd->SetCandidates("ECPSSR_Analytical    149   pixeeXsCmd->SetCandidates("ECPSSR_Analytical Empirical Livermore Penelope");
149   pixeeXsCmd->AvailableForStates(G4State_PreIn    150   pixeeXsCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
150   pixeeXsCmd->SetToBeBroadcasted(false);          151   pixeeXsCmd->SetToBeBroadcasted(false);
151                                                   152 
152   livCmd = new G4UIcmdWithAString("/process/em    153   livCmd = new G4UIcmdWithAString("/process/em/LivermoreData",this);
153   livCmd->SetGuidance("The name of Livermore d    154   livCmd->SetGuidance("The name of Livermore data directory");
154   livCmd->SetParameterName("livDir",true);        155   livCmd->SetParameterName("livDir",true);
155   livCmd->SetCandidates("livermore epics_2017"    156   livCmd->SetCandidates("livermore epics_2017");
156   livCmd->AvailableForStates(G4State_PreInit);    157   livCmd->AvailableForStates(G4State_PreInit);
157   livCmd->SetToBeBroadcasted(false);              158   livCmd->SetToBeBroadcasted(false);
158                                                   159 
159   dnaSolCmd = new G4UIcmdWithAString("/process    160   dnaSolCmd = new G4UIcmdWithAString("/process/dna/e-SolvationSubType",this);
160   dnaSolCmd->SetGuidance("The name of e- solva    161   dnaSolCmd->SetGuidance("The name of e- solvation DNA model");
161   dnaSolCmd->SetParameterName("dnaSol",true);     162   dnaSolCmd->SetParameterName("dnaSol",true);
162   dnaSolCmd->SetCandidates("Ritchie1994 Terris    163   dnaSolCmd->SetCandidates("Ritchie1994 Terrisol1990 Meesungnoen2002 Kreipl2009 Meesungnoen2002_amorphous");
163   dnaSolCmd->AvailableForStates(G4State_PreIni    164   dnaSolCmd->AvailableForStates(G4State_PreInit);
164   dnaSolCmd->SetToBeBroadcasted(false);           165   dnaSolCmd->SetToBeBroadcasted(false);
165                                                   166 
166   dnaChemModel = new G4UIcmdWithAString("/proc << 
167   dnaChemModel->SetGuidance("The name of DNA c << 
168   dnaChemModel->SetParameterName("TimeStepMode << 
169   dnaChemModel->SetCandidates("SBS IRT IRT_syn << 
170   dnaChemModel->AvailableForStates(G4State_Pre << 
171   dnaChemModel->SetToBeBroadcasted(false);     << 
172                                                << 
173   meCmd = new G4UIcmdWithAString("/process/em/    167   meCmd = new G4UIcmdWithAString("/process/em/AddMicroElecRegion",this);
174   meCmd->SetGuidance("Activate MicroElec model    168   meCmd->SetGuidance("Activate MicroElec model in the G4Region");
175   meCmd->SetParameterName("MicroElec",true);      169   meCmd->SetParameterName("MicroElec",true);
176   meCmd->AvailableForStates(G4State_PreInit);     170   meCmd->AvailableForStates(G4State_PreInit);
177   meCmd->SetToBeBroadcasted(false);               171   meCmd->SetToBeBroadcasted(false);
178                                                   172 
179   dnaCmd = new G4UIcommand("/process/em/AddDNA    173   dnaCmd = new G4UIcommand("/process/em/AddDNARegion",this);
180   dnaCmd->SetGuidance("Activate DNA in a G4Reg    174   dnaCmd->SetGuidance("Activate DNA in a G4Region.");
181   dnaCmd->SetGuidance("  regName   : G4Region     175   dnaCmd->SetGuidance("  regName   : G4Region name");
182   dnaCmd->SetGuidance("  dnaType   : DNA_opt0,    176   dnaCmd->SetGuidance("  dnaType   : DNA_opt0, DNA_Opt2, DNA_Opt4, DNA_Opt4a, DNA_Opt6, DNA_Opt6a, DNA_Opt7");
183   dnaCmd->AvailableForStates(G4State_PreInit);    177   dnaCmd->AvailableForStates(G4State_PreInit);
184   dnaCmd->SetToBeBroadcasted(false);              178   dnaCmd->SetToBeBroadcasted(false);
185                                                   179 
186   auto regName = new G4UIparameter("regName",'    180   auto regName = new G4UIparameter("regName",'s',false);
187   dnaCmd->SetParameter(regName);                  181   dnaCmd->SetParameter(regName);
188                                                   182 
189   auto type = new G4UIparameter("dnaType",'s',    183   auto type = new G4UIparameter("dnaType",'s',false);
190   dnaCmd->SetParameter(type);                     184   dnaCmd->SetParameter(type);
191   type->SetParameterCandidates("DNA_Opt0 DNA_O    185   type->SetParameterCandidates("DNA_Opt0 DNA_Opt2 DNA_Opt4 DNA_Opt4a DNA_Opt6 DNA_Opt6a DNA_Opt7");
192                                                   186 
193   deexCmd = new G4UIcommand("/process/em/deexc    187   deexCmd = new G4UIcommand("/process/em/deexcitation",this);
194   deexCmd->SetGuidance("Set deexcitation flags    188   deexCmd->SetGuidance("Set deexcitation flags per G4Region.");
195   deexCmd->SetGuidance("  regName   : G4Region    189   deexCmd->SetGuidance("  regName   : G4Region name");
196   deexCmd->SetGuidance("  flagFluo  : Fluoresc    190   deexCmd->SetGuidance("  flagFluo  : Fluorescence");
197   deexCmd->SetGuidance("  flagAuger : Auger");    191   deexCmd->SetGuidance("  flagAuger : Auger");
198   deexCmd->SetGuidance("  flagPIXE  : PIXE");     192   deexCmd->SetGuidance("  flagPIXE  : PIXE");
199   deexCmd->AvailableForStates(G4State_PreInit,    193   deexCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
200   deexCmd->SetToBeBroadcasted(false);             194   deexCmd->SetToBeBroadcasted(false);
201                                                   195 
202   auto regNameD = new G4UIparameter("regName",    196   auto regNameD = new G4UIparameter("regName",'s',false);
203   deexCmd->SetParameter(regNameD);                197   deexCmd->SetParameter(regNameD);
204                                                   198 
205   auto flagFluo = new G4UIparameter("flagFluo"    199   auto flagFluo = new G4UIparameter("flagFluo",'s',false);
206   deexCmd->SetParameter(flagFluo);                200   deexCmd->SetParameter(flagFluo);
207                                                   201 
208   auto flagAuger = new G4UIparameter("flagAuge    202   auto flagAuger = new G4UIparameter("flagAuger",'s',false);
209   deexCmd->SetParameter(flagAuger);               203   deexCmd->SetParameter(flagAuger);
210                                                   204 
211   auto flagPIXE = new G4UIparameter("flagPIXE"    205   auto flagPIXE = new G4UIparameter("flagPIXE",'s',false);
212   deexCmd->SetParameter(flagPIXE);                206   deexCmd->SetParameter(flagPIXE);
213                                                   207 
214 }                                                 208 }
215                                                   209 
216 //....oooOO0OOooo........oooOO0OOooo........oo    210 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
217                                                   211 
218 G4EmLowEParametersMessenger::~G4EmLowEParamete    212 G4EmLowEParametersMessenger::~G4EmLowEParametersMessenger()
219 {                                                 213 {
220   delete deCmd;                                   214   delete deCmd;
221   delete dirFluoCmd;                              215   delete dirFluoCmd;
222   delete dirFluoCmd1;                             216   delete dirFluoCmd1;
223   delete auCmd;                                   217   delete auCmd;
224   delete auCascadeCmd;                            218   delete auCascadeCmd;
225   delete pixeCmd;                                 219   delete pixeCmd;
226   delete dcutCmd;                                 220   delete dcutCmd;
227   delete dnafCmd;                                 221   delete dnafCmd;
228   delete dnasCmd;                                 222   delete dnasCmd;
229   delete dnamscCmd;                               223   delete dnamscCmd;
230   delete pixeXsCmd;                               224   delete pixeXsCmd;
231   delete pixeeXsCmd;                              225   delete pixeeXsCmd;
232   delete livCmd;                                  226   delete livCmd;
233   delete dnaSolCmd;                               227   delete dnaSolCmd;
234   delete dnaChemModel;                         << 
235   delete direFluoCmd;                             228   delete direFluoCmd;
236   delete meCmd;                                   229   delete meCmd;
237   delete dnaCmd;                                  230   delete dnaCmd;
238   delete deexCmd;                                 231   delete deexCmd;
239 }                                                 232 }
240                                                   233 
241 //....oooOO0OOooo........oooOO0OOooo........oo    234 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
242                                                   235 
243 void G4EmLowEParametersMessenger::SetNewValue(    236 void G4EmLowEParametersMessenger::SetNewValue(G4UIcommand* command, 
244                                                   237                                               G4String newValue)
245 {                                                 238 {
246   G4bool physicsModified = false;                 239   G4bool physicsModified = false;
247   if (command == deCmd) {                         240   if (command == deCmd) {
248     theParameters->SetFluo(deCmd->GetNewBoolVa    241     theParameters->SetFluo(deCmd->GetNewBoolValue(newValue));
249     physicsModified = true;                       242     physicsModified = true;
250   } else if (command == dirFluoCmd) {             243   } else if (command == dirFluoCmd) {
251     theParameters->SetBeardenFluoDir(dirFluoCm    244     theParameters->SetBeardenFluoDir(dirFluoCmd->GetNewBoolValue(newValue));
252     physicsModified = true;                       245     physicsModified = true;
253   } else if (command == dirFluoCmd1) {            246   } else if (command == dirFluoCmd1) {
254     theParameters->SetANSTOFluoDir(dirFluoCmd1    247     theParameters->SetANSTOFluoDir(dirFluoCmd1->GetNewBoolValue(newValue));
255     physicsModified = true;                       248     physicsModified = true;
256   } else if (command == auCmd) {                  249   } else if (command == auCmd) {
257     theParameters->SetAuger(auCmd->GetNewBoolV    250     theParameters->SetAuger(auCmd->GetNewBoolValue(newValue));
258     physicsModified = true;                       251     physicsModified = true;
259   } else if (command == auCascadeCmd) {           252   } else if (command == auCascadeCmd) {
260     theParameters->SetAuger(auCascadeCmd->GetN    253     theParameters->SetAuger(auCascadeCmd->GetNewBoolValue(newValue));
261     physicsModified = true;                       254     physicsModified = true;
262   } else if (command == pixeCmd) {                255   } else if (command == pixeCmd) {
263     theParameters->SetPixe(pixeCmd->GetNewBool    256     theParameters->SetPixe(pixeCmd->GetNewBoolValue(newValue));
264     physicsModified = true;                       257     physicsModified = true;
265   } else if (command == dcutCmd) {                258   } else if (command == dcutCmd) {
266     theParameters->SetDeexcitationIgnoreCut(dc    259     theParameters->SetDeexcitationIgnoreCut(dcutCmd->GetNewBoolValue(newValue));
267     physicsModified = true;                       260     physicsModified = true;
268   } else if (command == dnafCmd) {                261   } else if (command == dnafCmd) {
269     theParameters->SetDNAFast(dnafCmd->GetNewB    262     theParameters->SetDNAFast(dnafCmd->GetNewBoolValue(newValue));
270   } else if (command == dnasCmd) {                263   } else if (command == dnasCmd) {
271     theParameters->SetDNAStationary(dnasCmd->G    264     theParameters->SetDNAStationary(dnasCmd->GetNewBoolValue(newValue));
272   } else if (command == dnamscCmd) {              265   } else if (command == dnamscCmd) {
273     theParameters->SetDNAElectronMsc(dnamscCmd    266     theParameters->SetDNAElectronMsc(dnamscCmd->GetNewBoolValue(newValue));
274   } else if (command == dnaSolCmd) {              267   } else if (command == dnaSolCmd) {
275     G4DNAModelSubType ttt = fDNAUnknownModel;     268     G4DNAModelSubType ttt = fDNAUnknownModel;
276     if(newValue == "Ritchie1994") {               269     if(newValue == "Ritchie1994") { 
277       ttt = fRitchie1994eSolvation;               270       ttt = fRitchie1994eSolvation; 
278     } else if(newValue == "Terrisol1990") {       271     } else if(newValue == "Terrisol1990") { 
279       ttt = fTerrisol1990eSolvation;              272       ttt = fTerrisol1990eSolvation; 
280     } else if (newValue == "Meesungnoen2002")     273     } else if (newValue == "Meesungnoen2002") { 
281       ttt = fMeesungnoen2002eSolvation;           274       ttt = fMeesungnoen2002eSolvation;
282     } else if (newValue == "Meesungnoen2002_am    275     } else if (newValue == "Meesungnoen2002_amorphous") {
283       ttt = fMeesungnoensolid2002eSolvation;      276       ttt = fMeesungnoensolid2002eSolvation;
284     } else if (newValue == "Kreipl2009") {        277     } else if (newValue == "Kreipl2009") {
285       ttt = fKreipl2009eSolvation;                278       ttt = fKreipl2009eSolvation;
286     }                                             279     }
287     theParameters->SetDNAeSolvationSubType(ttt    280     theParameters->SetDNAeSolvationSubType(ttt);
288   } else if (command == dnaChemModel) {        << 
289     G4ChemTimeStepModel stepM = G4ChemTimeStep << 
290     if(newValue == "IRT") {                    << 
291       stepM = G4ChemTimeStepModel::IRT;        << 
292     } else if(newValue == "SBS") {             << 
293       stepM = G4ChemTimeStepModel::SBS;        << 
294     } else if (newValue == "IRT_syn") {        << 
295       stepM = G4ChemTimeStepModel::IRT_syn;    << 
296     }                                          << 
297     theParameters->SetChemTimeStepModel(stepM) << 
298   } else if (command == direFluoCmd) {            281   } else if (command == direFluoCmd) {
299     G4EmFluoDirectory ttt = fluoDefault;          282     G4EmFluoDirectory ttt = fluoDefault;
300     if(newValue == "Bearden") { ttt = fluoBear    283     if(newValue == "Bearden") { ttt = fluoBearden; }
301     else if(newValue == "ANSTO") { ttt = fluoA    284     else if(newValue == "ANSTO") { ttt = fluoANSTO; }
302     else if(newValue == "XDB_EADL") { ttt = fl    285     else if(newValue == "XDB_EADL") { ttt = fluoXDB_EADL; }
303     theParameters->SetFluoDirectory(ttt);         286     theParameters->SetFluoDirectory(ttt);
304   } else if (command == pixeXsCmd) {              287   } else if (command == pixeXsCmd) {
305     theParameters->SetPIXECrossSectionModel(ne    288     theParameters->SetPIXECrossSectionModel(newValue);
306     physicsModified = true;                       289     physicsModified = true;
307   } else if (command == pixeeXsCmd) {             290   } else if (command == pixeeXsCmd) {
308     theParameters->SetPIXEElectronCrossSection    291     theParameters->SetPIXEElectronCrossSectionModel(newValue);
309     physicsModified = true;                       292     physicsModified = true;
310   } else if (command == livCmd) {                 293   } else if (command == livCmd) {
311     theParameters->SetLivermoreDataDir(newValu    294     theParameters->SetLivermoreDataDir(newValue);
312   } else if (command == meCmd) {                  295   } else if (command == meCmd) {
313     theParameters->AddMicroElec(newValue);        296     theParameters->AddMicroElec(newValue);
314   } else if (command == dnaCmd) {                 297   } else if (command == dnaCmd) {
315     G4String s1(""),s2("");                       298     G4String s1(""),s2("");
316     std::istringstream is(newValue);              299     std::istringstream is(newValue);
317     is >> s1 >> s2;                               300     is >> s1 >> s2;
318     theParameters->AddDNA(s1, s2);                301     theParameters->AddDNA(s1, s2);
319   } else if (command == deexCmd) {                302   } else if (command == deexCmd) {
320     G4String s1 (""), s2(""), s3(""), s4("");     303     G4String s1 (""), s2(""), s3(""), s4("");
321     G4bool b2(false), b3(false), b4(false);       304     G4bool b2(false), b3(false), b4(false);
322     std::istringstream is(newValue);              305     std::istringstream is(newValue);
323     is >> s1 >> s2 >> s3 >> s4;                   306     is >> s1 >> s2 >> s3 >> s4;
324     if(s2 == "true") { b2 = true; }               307     if(s2 == "true") { b2 = true; }
325     if(s3 == "true") { b3 = true; }               308     if(s3 == "true") { b3 = true; }
326     if(s4 == "true") { b4 = true; }               309     if(s4 == "true") { b4 = true; }
327     theParameters->SetDeexActiveRegion(s1,b2,b    310     theParameters->SetDeexActiveRegion(s1,b2,b3,b4);
328     physicsModified = true;                       311     physicsModified = true;
329   }                                               312   }
330                                                   313   
331   if(physicsModified) {                           314   if(physicsModified) {
332     G4UImanager::GetUIpointer()->ApplyCommand(    315     G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified");
333   }                                               316   }
334 }                                                 317 }
335                                                   318 
336 //....oooOO0OOooo........oooOO0OOooo........oo    319 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
337                                                   320