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 10.7.p2)


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