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.0.p1)


  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"                << 
 44 #include "G4UIcommand.hh"                          43 #include "G4UIcommand.hh"
 45 #include "G4UIparameter.hh"                        44 #include "G4UIparameter.hh"
 46 #include "G4UIcmdWithABool.hh"                     45 #include "G4UIcmdWithABool.hh"
 47 #include "G4UIcmdWithAnInteger.hh"                 46 #include "G4UIcmdWithAnInteger.hh"
 48 #include "G4UIcmdWithADouble.hh"                   47 #include "G4UIcmdWithADouble.hh"
 49 #include "G4UIcmdWithADoubleAndUnit.hh"            48 #include "G4UIcmdWithADoubleAndUnit.hh"
 50 #include "G4UIcmdWithAString.hh"                   49 #include "G4UIcmdWithAString.hh"
 51 #include "G4UIcmdWith3VectorAndUnit.hh"            50 #include "G4UIcmdWith3VectorAndUnit.hh"
 52 #include "G4UImanager.hh"                          51 #include "G4UImanager.hh"
 53 #include "G4EmLowEParameters.hh"                   52 #include "G4EmLowEParameters.hh"
                                                   >>  53 
 54 #include <sstream>                                 54 #include <sstream>
 55                                                    55 
 56 //....oooOO0OOooo........oooOO0OOooo........oo     56 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 57                                                    57 
 58 G4EmLowEParametersMessenger::G4EmLowEParameter     58 G4EmLowEParametersMessenger::G4EmLowEParametersMessenger(G4EmLowEParameters* ptr) 
 59   : theParameters(ptr)                             59   : theParameters(ptr)
 60 {                                                  60 {
 61   deCmd = new G4UIcmdWithABool("/process/em/fl     61   deCmd = new G4UIcmdWithABool("/process/em/fluo",this);
 62   deCmd->SetGuidance("Enable/disable atomic de     62   deCmd->SetGuidance("Enable/disable atomic deexcitation");
 63   deCmd->SetParameterName("fluoFlag",true);        63   deCmd->SetParameterName("fluoFlag",true);
 64   deCmd->SetDefaultValue(false);                   64   deCmd->SetDefaultValue(false);
 65   deCmd->AvailableForStates(G4State_PreInit,G4     65   deCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 66   deCmd->SetToBeBroadcasted(false);                66   deCmd->SetToBeBroadcasted(false);
 67                                                    67 
 68   dirFluoCmd = new G4UIcmdWithABool("/process/     68   dirFluoCmd = new G4UIcmdWithABool("/process/em/fluoBearden",this);
 69   dirFluoCmd->SetGuidance("Enable/disable usag     69   dirFluoCmd->SetGuidance("Enable/disable usage of Bearden fluorescence files");
 70   dirFluoCmd->SetParameterName("fluoBeardenFla     70   dirFluoCmd->SetParameterName("fluoBeardenFlag",true);
 71   dirFluoCmd->SetDefaultValue(false);              71   dirFluoCmd->SetDefaultValue(false);
 72   dirFluoCmd->AvailableForStates(G4State_PreIn <<  72   dirFluoCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 73   dirFluoCmd->SetToBeBroadcasted(false);           73   dirFluoCmd->SetToBeBroadcasted(false);
 74                                                    74 
 75   dirFluoCmd1 = new G4UIcmdWithABool("/process     75   dirFluoCmd1 = new G4UIcmdWithABool("/process/em/fluoANSTO",this);
 76   dirFluoCmd1->SetGuidance("Enable/disable usa     76   dirFluoCmd1->SetGuidance("Enable/disable usage of ANSTO fluorescence files");
 77   dirFluoCmd1->SetParameterName("fluoANSTOFlag     77   dirFluoCmd1->SetParameterName("fluoANSTOFlag",true);
 78   dirFluoCmd1->SetDefaultValue(false);             78   dirFluoCmd1->SetDefaultValue(false);
 79   dirFluoCmd1->AvailableForStates(G4State_PreI <<  79   dirFluoCmd1->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 80   dirFluoCmd1->SetToBeBroadcasted(false);          80   dirFluoCmd1->SetToBeBroadcasted(false);
 81                                                    81 
 82   auCmd = new G4UIcmdWithABool("/process/em/au     82   auCmd = new G4UIcmdWithABool("/process/em/auger",this);
 83   auCmd->SetGuidance("Enable/disable Auger ele     83   auCmd->SetGuidance("Enable/disable Auger electrons production");
 84   auCmd->SetParameterName("augerFlag",true);       84   auCmd->SetParameterName("augerFlag",true);
 85   auCmd->SetDefaultValue(false);                   85   auCmd->SetDefaultValue(false);
 86   auCmd->AvailableForStates(G4State_PreInit,G4     86   auCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 87   auCmd->SetToBeBroadcasted(false);                87   auCmd->SetToBeBroadcasted(false);
 88                                                    88 
 89   auCascadeCmd = new G4UIcmdWithABool("/proces     89   auCascadeCmd = new G4UIcmdWithABool("/process/em/augerCascade",this);
 90   auCascadeCmd->SetGuidance("Enable/disable si     90   auCascadeCmd->SetGuidance("Enable/disable simulation of cascade of Auger electrons");
 91   auCascadeCmd->SetParameterName("augerCascade     91   auCascadeCmd->SetParameterName("augerCascadeFlag",true);
 92   auCascadeCmd->SetDefaultValue(false);            92   auCascadeCmd->SetDefaultValue(false);
 93   auCascadeCmd->AvailableForStates(G4State_Pre     93   auCascadeCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
 94   auCascadeCmd->SetToBeBroadcasted(false);         94   auCascadeCmd->SetToBeBroadcasted(false);
 95                                                    95 
 96   pixeCmd = new G4UIcmdWithABool("/process/em/     96   pixeCmd = new G4UIcmdWithABool("/process/em/pixe",this);
 97   pixeCmd->SetGuidance("Enable/disable PIXE si     97   pixeCmd->SetGuidance("Enable/disable PIXE simulation");
 98   pixeCmd->SetParameterName("pixeFlag",true);      98   pixeCmd->SetParameterName("pixeFlag",true);
 99   pixeCmd->SetDefaultValue(false);                 99   pixeCmd->SetDefaultValue(false);
100   pixeCmd->AvailableForStates(G4State_PreInit,    100   pixeCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
101   pixeCmd->SetToBeBroadcasted(false);             101   pixeCmd->SetToBeBroadcasted(false);
102                                                   102 
103   dcutCmd = new G4UIcmdWithABool("/process/em/    103   dcutCmd = new G4UIcmdWithABool("/process/em/deexcitationIgnoreCut",this);
104   dcutCmd->SetGuidance("Enable/Disable usage o    104   dcutCmd->SetGuidance("Enable/Disable usage of cuts in de-excitation module");
105   dcutCmd->SetParameterName("deexcut",true);      105   dcutCmd->SetParameterName("deexcut",true);
106   dcutCmd->SetDefaultValue(false);                106   dcutCmd->SetDefaultValue(false);
107   dcutCmd->AvailableForStates(G4State_PreInit,    107   dcutCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
108   dcutCmd->SetToBeBroadcasted(false);             108   dcutCmd->SetToBeBroadcasted(false);
109                                                   109 
110   dnafCmd = new G4UIcmdWithABool("/process/dna    110   dnafCmd = new G4UIcmdWithABool("/process/dna/UseDNAFast",this);
111   dnafCmd->SetGuidance("Enable usage of fast s    111   dnafCmd->SetGuidance("Enable usage of fast sampling for DNA models");
112   dnafCmd->SetParameterName("dnaf",true);         112   dnafCmd->SetParameterName("dnaf",true);
113   dnafCmd->SetDefaultValue(false);                113   dnafCmd->SetDefaultValue(false);
114   dnafCmd->AvailableForStates(G4State_PreInit)    114   dnafCmd->AvailableForStates(G4State_PreInit);
115   dnafCmd->SetToBeBroadcasted(false);             115   dnafCmd->SetToBeBroadcasted(false);
116                                                   116 
117   dnasCmd = new G4UIcmdWithABool("/process/dna    117   dnasCmd = new G4UIcmdWithABool("/process/dna/UseDNAStationary",this);
118   dnasCmd->SetGuidance("Enable usage of Statio    118   dnasCmd->SetGuidance("Enable usage of Stationary option for DNA models");
119   dnasCmd->SetParameterName("dnas",true);         119   dnasCmd->SetParameterName("dnas",true);
120   dnasCmd->SetDefaultValue(false);                120   dnasCmd->SetDefaultValue(false);
121   dnasCmd->AvailableForStates(G4State_PreInit)    121   dnasCmd->AvailableForStates(G4State_PreInit);
122   dnasCmd->SetToBeBroadcasted(false);             122   dnasCmd->SetToBeBroadcasted(false);
123                                                   123 
124   dnamscCmd = new G4UIcmdWithABool("/process/d    124   dnamscCmd = new G4UIcmdWithABool("/process/dna/UseDNAElectronMsc",this);
125   dnamscCmd->SetGuidance("Enable usage of e- m    125   dnamscCmd->SetGuidance("Enable usage of e- msc for DNA");
126   dnamscCmd->SetParameterName("dnamsc",true);     126   dnamscCmd->SetParameterName("dnamsc",true);
127   dnamscCmd->SetDefaultValue(false);              127   dnamscCmd->SetDefaultValue(false);
128   dnamscCmd->AvailableForStates(G4State_PreIni    128   dnamscCmd->AvailableForStates(G4State_PreInit);
129   dnamscCmd->SetToBeBroadcasted(false);           129   dnamscCmd->SetToBeBroadcasted(false);
130                                                   130 
131   direFluoCmd = new G4UIcmdWithAString("/proce << 
132   direFluoCmd->SetGuidance("The name of PIXE c << 
133   direFluoCmd->SetParameterName("fluoDirectory << 
134   direFluoCmd->SetCandidates("Default Bearden  << 
135   direFluoCmd->AvailableForStates(G4State_PreI << 
136   direFluoCmd->SetToBeBroadcasted(false);      << 
137                                                << 
138   pixeXsCmd = new G4UIcmdWithAString("/process    131   pixeXsCmd = new G4UIcmdWithAString("/process/em/pixeXSmodel",this);
139   pixeXsCmd->SetGuidance("The name of PIXE cro    132   pixeXsCmd->SetGuidance("The name of PIXE cross section");
140   pixeXsCmd->SetParameterName("pixeXS",true);     133   pixeXsCmd->SetParameterName("pixeXS",true);
141   pixeXsCmd->SetCandidates("ECPSSR_Analytical     134   pixeXsCmd->SetCandidates("ECPSSR_Analytical Empirical ECPSSR_FormFactor ECPSSR_ANSTO");
142   pixeXsCmd->AvailableForStates(G4State_PreIni    135   pixeXsCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
143   pixeXsCmd->SetToBeBroadcasted(false);           136   pixeXsCmd->SetToBeBroadcasted(false);
144                                                   137 
145   pixeeXsCmd = new G4UIcmdWithAString("/proces    138   pixeeXsCmd = new G4UIcmdWithAString("/process/em/pixeElecXSmodel",this);
146   pixeeXsCmd->SetGuidance("The name of PIXE cr    139   pixeeXsCmd->SetGuidance("The name of PIXE cross section for electron");
147   pixeeXsCmd->SetParameterName("pixeEXS",true)    140   pixeeXsCmd->SetParameterName("pixeEXS",true);
148   pixeeXsCmd->SetCandidates("ECPSSR_Analytical    141   pixeeXsCmd->SetCandidates("ECPSSR_Analytical Empirical Livermore Penelope");
149   pixeeXsCmd->AvailableForStates(G4State_PreIn    142   pixeeXsCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
150   pixeeXsCmd->SetToBeBroadcasted(false);          143   pixeeXsCmd->SetToBeBroadcasted(false);
151                                                   144 
152   livCmd = new G4UIcmdWithAString("/process/em    145   livCmd = new G4UIcmdWithAString("/process/em/LivermoreData",this);
153   livCmd->SetGuidance("The name of Livermore d    146   livCmd->SetGuidance("The name of Livermore data directory");
154   livCmd->SetParameterName("livDir",true);        147   livCmd->SetParameterName("livDir",true);
155   livCmd->SetCandidates("livermore epics_2017"    148   livCmd->SetCandidates("livermore epics_2017");
156   livCmd->AvailableForStates(G4State_PreInit);    149   livCmd->AvailableForStates(G4State_PreInit);
157   livCmd->SetToBeBroadcasted(false);              150   livCmd->SetToBeBroadcasted(false);
158                                                   151 
159   dnaSolCmd = new G4UIcmdWithAString("/process    152   dnaSolCmd = new G4UIcmdWithAString("/process/dna/e-SolvationSubType",this);
160   dnaSolCmd->SetGuidance("The name of e- solva    153   dnaSolCmd->SetGuidance("The name of e- solvation DNA model");
161   dnaSolCmd->SetParameterName("dnaSol",true);     154   dnaSolCmd->SetParameterName("dnaSol",true);
162   dnaSolCmd->SetCandidates("Ritchie1994 Terris    155   dnaSolCmd->SetCandidates("Ritchie1994 Terrisol1990 Meesungnoen2002 Kreipl2009 Meesungnoen2002_amorphous");
163   dnaSolCmd->AvailableForStates(G4State_PreIni    156   dnaSolCmd->AvailableForStates(G4State_PreInit);
164   dnaSolCmd->SetToBeBroadcasted(false);           157   dnaSolCmd->SetToBeBroadcasted(false);
165                                                   158 
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/    159   meCmd = new G4UIcmdWithAString("/process/em/AddMicroElecRegion",this);
174   meCmd->SetGuidance("Activate MicroElec model    160   meCmd->SetGuidance("Activate MicroElec model in the G4Region");
175   meCmd->SetParameterName("MicroElec",true);      161   meCmd->SetParameterName("MicroElec",true);
176   meCmd->AvailableForStates(G4State_PreInit);     162   meCmd->AvailableForStates(G4State_PreInit);
177   meCmd->SetToBeBroadcasted(false);               163   meCmd->SetToBeBroadcasted(false);
178                                                   164 
179   dnaCmd = new G4UIcommand("/process/em/AddDNA    165   dnaCmd = new G4UIcommand("/process/em/AddDNARegion",this);
180   dnaCmd->SetGuidance("Activate DNA in a G4Reg    166   dnaCmd->SetGuidance("Activate DNA in a G4Region.");
181   dnaCmd->SetGuidance("  regName   : G4Region     167   dnaCmd->SetGuidance("  regName   : G4Region name");
182   dnaCmd->SetGuidance("  dnaType   : DNA_opt0,    168   dnaCmd->SetGuidance("  dnaType   : DNA_opt0, DNA_Opt2, DNA_Opt4, DNA_Opt4a, DNA_Opt6, DNA_Opt6a, DNA_Opt7");
183   dnaCmd->AvailableForStates(G4State_PreInit);    169   dnaCmd->AvailableForStates(G4State_PreInit);
184   dnaCmd->SetToBeBroadcasted(false);              170   dnaCmd->SetToBeBroadcasted(false);
185                                                   171 
186   auto regName = new G4UIparameter("regName",' << 172   G4UIparameter* regName = new G4UIparameter("regName",'s',false);
187   dnaCmd->SetParameter(regName);                  173   dnaCmd->SetParameter(regName);
188                                                   174 
189   auto type = new G4UIparameter("dnaType",'s', << 175   G4UIparameter* type = new G4UIparameter("dnaType",'s',false);
190   dnaCmd->SetParameter(type);                     176   dnaCmd->SetParameter(type);
191   type->SetParameterCandidates("DNA_Opt0 DNA_O    177   type->SetParameterCandidates("DNA_Opt0 DNA_Opt2 DNA_Opt4 DNA_Opt4a DNA_Opt6 DNA_Opt6a DNA_Opt7");
192                                                   178 
193   deexCmd = new G4UIcommand("/process/em/deexc    179   deexCmd = new G4UIcommand("/process/em/deexcitation",this);
194   deexCmd->SetGuidance("Set deexcitation flags    180   deexCmd->SetGuidance("Set deexcitation flags per G4Region.");
195   deexCmd->SetGuidance("  regName   : G4Region    181   deexCmd->SetGuidance("  regName   : G4Region name");
196   deexCmd->SetGuidance("  flagFluo  : Fluoresc    182   deexCmd->SetGuidance("  flagFluo  : Fluorescence");
197   deexCmd->SetGuidance("  flagAuger : Auger");    183   deexCmd->SetGuidance("  flagAuger : Auger");
198   deexCmd->SetGuidance("  flagPIXE  : PIXE");     184   deexCmd->SetGuidance("  flagPIXE  : PIXE");
199   deexCmd->AvailableForStates(G4State_PreInit,    185   deexCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle);
200   deexCmd->SetToBeBroadcasted(false);             186   deexCmd->SetToBeBroadcasted(false);
201                                                   187 
202   auto regNameD = new G4UIparameter("regName", << 188   G4UIparameter* regNameD = new G4UIparameter("regName",'s',false);
203   deexCmd->SetParameter(regNameD);                189   deexCmd->SetParameter(regNameD);
204                                                   190 
205   auto flagFluo = new G4UIparameter("flagFluo" << 191   G4UIparameter* flagFluo = new G4UIparameter("flagFluo",'s',false);
206   deexCmd->SetParameter(flagFluo);                192   deexCmd->SetParameter(flagFluo);
207                                                   193 
208   auto flagAuger = new G4UIparameter("flagAuge << 194   G4UIparameter* flagAuger = new G4UIparameter("flagAuger",'s',false);
209   deexCmd->SetParameter(flagAuger);               195   deexCmd->SetParameter(flagAuger);
210                                                   196 
211   auto flagPIXE = new G4UIparameter("flagPIXE" << 197   G4UIparameter* flagPIXE = new G4UIparameter("flagPIXE",'s',false);
212   deexCmd->SetParameter(flagPIXE);                198   deexCmd->SetParameter(flagPIXE);
213                                                   199 
214 }                                                 200 }
215                                                   201 
216 //....oooOO0OOooo........oooOO0OOooo........oo    202 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
217                                                   203 
218 G4EmLowEParametersMessenger::~G4EmLowEParamete    204 G4EmLowEParametersMessenger::~G4EmLowEParametersMessenger()
219 {                                                 205 {
220   delete deCmd;                                   206   delete deCmd;
221   delete dirFluoCmd;                              207   delete dirFluoCmd;
222   delete dirFluoCmd1;                             208   delete dirFluoCmd1;
223   delete auCmd;                                   209   delete auCmd;
224   delete auCascadeCmd;                            210   delete auCascadeCmd;
225   delete pixeCmd;                                 211   delete pixeCmd;
226   delete dcutCmd;                                 212   delete dcutCmd;
227   delete dnafCmd;                                 213   delete dnafCmd;
228   delete dnasCmd;                                 214   delete dnasCmd;
229   delete dnamscCmd;                               215   delete dnamscCmd;
230   delete pixeXsCmd;                               216   delete pixeXsCmd;
231   delete pixeeXsCmd;                              217   delete pixeeXsCmd;
232   delete livCmd;                                  218   delete livCmd;
233   delete dnaSolCmd;                               219   delete dnaSolCmd;
234   delete dnaChemModel;                         << 
235   delete direFluoCmd;                          << 
236   delete meCmd;                                   220   delete meCmd;
237   delete dnaCmd;                                  221   delete dnaCmd;
238   delete deexCmd;                                 222   delete deexCmd;
239 }                                                 223 }
240                                                   224 
241 //....oooOO0OOooo........oooOO0OOooo........oo    225 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
242                                                   226 
243 void G4EmLowEParametersMessenger::SetNewValue(    227 void G4EmLowEParametersMessenger::SetNewValue(G4UIcommand* command, 
244                                                   228                                               G4String newValue)
245 {                                                 229 {
246   G4bool physicsModified = false;                 230   G4bool physicsModified = false;
247   if (command == deCmd) {                         231   if (command == deCmd) {
248     theParameters->SetFluo(deCmd->GetNewBoolVa    232     theParameters->SetFluo(deCmd->GetNewBoolValue(newValue));
249     physicsModified = true;                       233     physicsModified = true;
250   } else if (command == dirFluoCmd) {             234   } else if (command == dirFluoCmd) {
251     theParameters->SetBeardenFluoDir(dirFluoCm    235     theParameters->SetBeardenFluoDir(dirFluoCmd->GetNewBoolValue(newValue));
252     physicsModified = true;                       236     physicsModified = true;
253   } else if (command == dirFluoCmd1) {            237   } else if (command == dirFluoCmd1) {
254     theParameters->SetANSTOFluoDir(dirFluoCmd1    238     theParameters->SetANSTOFluoDir(dirFluoCmd1->GetNewBoolValue(newValue));
255     physicsModified = true;                       239     physicsModified = true;
256   } else if (command == auCmd) {                  240   } else if (command == auCmd) {
257     theParameters->SetAuger(auCmd->GetNewBoolV    241     theParameters->SetAuger(auCmd->GetNewBoolValue(newValue));
258     physicsModified = true;                       242     physicsModified = true;
259   } else if (command == auCascadeCmd) {           243   } else if (command == auCascadeCmd) {
260     theParameters->SetAuger(auCascadeCmd->GetN    244     theParameters->SetAuger(auCascadeCmd->GetNewBoolValue(newValue));
261     physicsModified = true;                       245     physicsModified = true;
262   } else if (command == pixeCmd) {                246   } else if (command == pixeCmd) {
263     theParameters->SetPixe(pixeCmd->GetNewBool    247     theParameters->SetPixe(pixeCmd->GetNewBoolValue(newValue));
264     physicsModified = true;                       248     physicsModified = true;
265   } else if (command == dcutCmd) {                249   } else if (command == dcutCmd) {
266     theParameters->SetDeexcitationIgnoreCut(dc    250     theParameters->SetDeexcitationIgnoreCut(dcutCmd->GetNewBoolValue(newValue));
267     physicsModified = true;                       251     physicsModified = true;
268   } else if (command == dnafCmd) {                252   } else if (command == dnafCmd) {
269     theParameters->SetDNAFast(dnafCmd->GetNewB    253     theParameters->SetDNAFast(dnafCmd->GetNewBoolValue(newValue));
270   } else if (command == dnasCmd) {                254   } else if (command == dnasCmd) {
271     theParameters->SetDNAStationary(dnasCmd->G    255     theParameters->SetDNAStationary(dnasCmd->GetNewBoolValue(newValue));
272   } else if (command == dnamscCmd) {              256   } else if (command == dnamscCmd) {
273     theParameters->SetDNAElectronMsc(dnamscCmd    257     theParameters->SetDNAElectronMsc(dnamscCmd->GetNewBoolValue(newValue));
274   } else if (command == dnaSolCmd) {              258   } else if (command == dnaSolCmd) {
275     G4DNAModelSubType ttt = fDNAUnknownModel;     259     G4DNAModelSubType ttt = fDNAUnknownModel;
276     if(newValue == "Ritchie1994") {               260     if(newValue == "Ritchie1994") { 
277       ttt = fRitchie1994eSolvation;               261       ttt = fRitchie1994eSolvation; 
278     } else if(newValue == "Terrisol1990") {       262     } else if(newValue == "Terrisol1990") { 
279       ttt = fTerrisol1990eSolvation;              263       ttt = fTerrisol1990eSolvation; 
280     } else if (newValue == "Meesungnoen2002")     264     } else if (newValue == "Meesungnoen2002") { 
281       ttt = fMeesungnoen2002eSolvation;           265       ttt = fMeesungnoen2002eSolvation;
282     } else if (newValue == "Meesungnoen2002_am    266     } else if (newValue == "Meesungnoen2002_amorphous") {
283       ttt = fMeesungnoensolid2002eSolvation;      267       ttt = fMeesungnoensolid2002eSolvation;
284     } else if (newValue == "Kreipl2009") {        268     } else if (newValue == "Kreipl2009") {
285       ttt = fKreipl2009eSolvation;                269       ttt = fKreipl2009eSolvation;
286     }                                             270     }
287     theParameters->SetDNAeSolvationSubType(ttt    271     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) {         << 
299     G4EmFluoDirectory ttt = fluoDefault;       << 
300     if(newValue == "Bearden") { ttt = fluoBear << 
301     else if(newValue == "ANSTO") { ttt = fluoA << 
302     else if(newValue == "XDB_EADL") { ttt = fl << 
303     theParameters->SetFluoDirectory(ttt);      << 
304   } else if (command == pixeXsCmd) {              272   } else if (command == pixeXsCmd) {
305     theParameters->SetPIXECrossSectionModel(ne    273     theParameters->SetPIXECrossSectionModel(newValue);
306     physicsModified = true;                       274     physicsModified = true;
307   } else if (command == pixeeXsCmd) {             275   } else if (command == pixeeXsCmd) {
308     theParameters->SetPIXEElectronCrossSection    276     theParameters->SetPIXEElectronCrossSectionModel(newValue);
309     physicsModified = true;                       277     physicsModified = true;
310   } else if (command == livCmd) {                 278   } else if (command == livCmd) {
311     theParameters->SetLivermoreDataDir(newValu    279     theParameters->SetLivermoreDataDir(newValue);
312   } else if (command == meCmd) {                  280   } else if (command == meCmd) {
313     theParameters->AddMicroElec(newValue);        281     theParameters->AddMicroElec(newValue);
314   } else if (command == dnaCmd) {                 282   } else if (command == dnaCmd) {
315     G4String s1(""),s2("");                       283     G4String s1(""),s2("");
316     std::istringstream is(newValue);              284     std::istringstream is(newValue);
317     is >> s1 >> s2;                               285     is >> s1 >> s2;
318     theParameters->AddDNA(s1, s2);                286     theParameters->AddDNA(s1, s2);
319   } else if (command == deexCmd) {                287   } else if (command == deexCmd) {
320     G4String s1 (""), s2(""), s3(""), s4("");     288     G4String s1 (""), s2(""), s3(""), s4("");
321     G4bool b2(false), b3(false), b4(false);       289     G4bool b2(false), b3(false), b4(false);
322     std::istringstream is(newValue);              290     std::istringstream is(newValue);
323     is >> s1 >> s2 >> s3 >> s4;                   291     is >> s1 >> s2 >> s3 >> s4;
324     if(s2 == "true") { b2 = true; }               292     if(s2 == "true") { b2 = true; }
325     if(s3 == "true") { b3 = true; }               293     if(s3 == "true") { b3 = true; }
326     if(s4 == "true") { b4 = true; }               294     if(s4 == "true") { b4 = true; }
327     theParameters->SetDeexActiveRegion(s1,b2,b    295     theParameters->SetDeexActiveRegion(s1,b2,b3,b4);
328     physicsModified = true;                       296     physicsModified = true;
329   }                                               297   }
330                                                   298   
331   if(physicsModified) {                           299   if(physicsModified) {
332     G4UImanager::GetUIpointer()->ApplyCommand(    300     G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified");
333   }                                               301   }
334 }                                                 302 }
335                                                   303 
336 //....oooOO0OOooo........oooOO0OOooo........oo    304 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
337                                                   305