Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.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 /examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc (Version 11.3.0) and /examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc (Version 11.2.1)


  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 //      GEANT 4 class implementation file          28 //      GEANT 4 class implementation file
 29 //      CERN Geneva Switzerland                    29 //      CERN Geneva Switzerland
 30 //                                                 30 //
 31 //                                                 31 //
 32 //      ------------ GammaRayTelDetectorMessen     32 //      ------------ GammaRayTelDetectorMessenger ------
 33 //           by F.Longo, R.Giannitrapani & G.S     33 //           by F.Longo, R.Giannitrapani & G.Santin (13 nov 2000)
 34 //                                                 34 //
 35 // *******************************************     35 // ************************************************************
 36                                                    36 
 37 #include "GammaRayTelDetectorConstruction.hh"      37 #include "GammaRayTelDetectorConstruction.hh"
 38 #include "GammaRayTelDetectorMessenger.hh"         38 #include "GammaRayTelDetectorMessenger.hh"
 39                                                    39 
 40 #include "G4UIcmdWithADoubleAndUnit.hh"            40 #include "G4UIcmdWithADoubleAndUnit.hh"
 41 #include "G4UIcmdWithAnInteger.hh"                 41 #include "G4UIcmdWithAnInteger.hh"
 42 #include "G4UIcmdWithAString.hh"                   42 #include "G4UIcmdWithAString.hh"
 43 #include "G4UIcmdWithoutParameter.hh"              43 #include "G4UIcmdWithoutParameter.hh"
 44 #include "G4UIdirectory.hh"                        44 #include "G4UIdirectory.hh"
 45                                                    45 
 46 //....oooOO0OOooo........oooOO0OOooo........oo     46 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
 47                                                    47 
 48 GammaRayTelDetectorMessenger::GammaRayTelDetec     48 GammaRayTelDetectorMessenger::GammaRayTelDetectorMessenger(GammaRayTelDetectorConstruction *GammaRayTelDet) : detector(GammaRayTelDet) {
 49   directory = new G4UIdirectory("/payload/");      49   directory = new G4UIdirectory("/payload/");
 50   directory->SetGuidance("GammaRayTel payload      50   directory->SetGuidance("GammaRayTel payload control.");
 51                                                    51 
 52   // converter material command                    52   // converter material command
 53                                                    53 
 54   converterMaterialCmd = new G4UIcmdWithAStrin     54   converterMaterialCmd = new G4UIcmdWithAString("/payload/setConvMat", this);
 55   converterMaterialCmd->SetGuidance("Select th     55   converterMaterialCmd->SetGuidance("Select the material of the converter.");
 56   converterMaterialCmd->SetParameterName("choi     56   converterMaterialCmd->SetParameterName("choice", false);
 57   converterMaterialCmd->AvailableForStates(G4S     57   converterMaterialCmd->AvailableForStates(G4State_Idle);
 58                                                    58 
 59   // converter thickness command                   59   // converter thickness command
 60                                                    60 
 61   converterThicknessCmd = new G4UIcmdWithADoub     61   converterThicknessCmd = new G4UIcmdWithADoubleAndUnit("/payload/setConvThick", this);
 62   converterThicknessCmd->SetGuidance("Set the      62   converterThicknessCmd->SetGuidance("Set the thickness of the converter.");
 63   converterThicknessCmd->SetParameterName("Siz     63   converterThicknessCmd->SetParameterName("Size", false);
 64   converterThicknessCmd->SetRange("Size>=0.");     64   converterThicknessCmd->SetRange("Size>=0.");
 65   converterThicknessCmd->SetUnitCategory("Leng     65   converterThicknessCmd->SetUnitCategory("Length");
 66   converterThicknessCmd->AvailableForStates(G4     66   converterThicknessCmd->AvailableForStates(G4State_Idle);
 67                                                    67 
 68   // tracker silicon thickness command             68   // tracker silicon thickness command
 69                                                    69 
 70   siliconThicknessCmd = new G4UIcmdWithADouble     70   siliconThicknessCmd = new G4UIcmdWithADoubleAndUnit("/payload/setSiThick", this);
 71   siliconThicknessCmd->SetGuidance("Set the th     71   siliconThicknessCmd->SetGuidance("Set the thickness of the silicon.");
 72   siliconThicknessCmd->SetParameterName("Size"     72   siliconThicknessCmd->SetParameterName("Size", false);
 73   siliconThicknessCmd->SetRange("Size>=0.");       73   siliconThicknessCmd->SetRange("Size>=0.");
 74   siliconThicknessCmd->SetUnitCategory("Length     74   siliconThicknessCmd->SetUnitCategory("Length");
 75   siliconThicknessCmd->AvailableForStates(G4St     75   siliconThicknessCmd->AvailableForStates(G4State_Idle);
 76                                                    76 
 77   // tracker silicon pitch command                 77   // tracker silicon pitch command
 78                                                    78 
 79   siliconPitchCmd = new G4UIcmdWithADoubleAndU     79   siliconPitchCmd = new G4UIcmdWithADoubleAndUnit("/payload/setSiPitch", this);
 80   siliconPitchCmd->SetGuidance("Set the pitch      80   siliconPitchCmd->SetGuidance("Set the pitch of silicon strips.");
 81   siliconPitchCmd->SetParameterName("Size", fa     81   siliconPitchCmd->SetParameterName("Size", false);
 82   siliconPitchCmd->SetRange("Size>=0.");           82   siliconPitchCmd->SetRange("Size>=0.");
 83   siliconPitchCmd->SetUnitCategory("Length");      83   siliconPitchCmd->SetUnitCategory("Length");
 84   siliconPitchCmd->AvailableForStates(G4State_     84   siliconPitchCmd->AvailableForStates(G4State_Idle);
 85                                                    85 
 86   // tracker silicon tile size command             86   // tracker silicon tile size command
 87                                                    87 
 88   siliconTileXYCmd = new G4UIcmdWithADoubleAnd     88   siliconTileXYCmd = new G4UIcmdWithADoubleAndUnit("/payload/setSiTileXY", this);
 89   siliconTileXYCmd->SetGuidance("Set XY dimens     89   siliconTileXYCmd->SetGuidance("Set XY dimensions of a silicon tile.");
 90   siliconTileXYCmd->SetParameterName("Size", f     90   siliconTileXYCmd->SetParameterName("Size", false);
 91   siliconTileXYCmd->SetRange("Size>=0.");          91   siliconTileXYCmd->SetRange("Size>=0.");
 92   siliconTileXYCmd->SetUnitCategory("Length");     92   siliconTileXYCmd->SetUnitCategory("Length");
 93   siliconTileXYCmd->AvailableForStates(G4State     93   siliconTileXYCmd->AvailableForStates(G4State_Idle);
 94                                                    94 
 95   // tracker number of silicon tiles               95   // tracker number of silicon tiles
 96                                                    96 
 97   numberOfSiTilesCmd = new G4UIcmdWithAnIntege     97   numberOfSiTilesCmd = new G4UIcmdWithAnInteger("/payload/setNbOfSiTiles", this);
 98   numberOfSiTilesCmd->SetGuidance("Set the num     98   numberOfSiTilesCmd->SetGuidance("Set the number of silicon tiles.");
 99   numberOfSiTilesCmd->SetParameterName("NbSiTi     99   numberOfSiTilesCmd->SetParameterName("NbSiTiles", false);
100   numberOfSiTilesCmd->SetRange("NbSiTiles>0 &&    100   numberOfSiTilesCmd->SetRange("NbSiTiles>0 && NbSiTiles<100");
101   numberOfSiTilesCmd->AvailableForStates(G4Sta    101   numberOfSiTilesCmd->AvailableForStates(G4State_Idle);
102                                                   102 
103   // tracker number of silicon layers             103   // tracker number of silicon layers
104                                                   104 
105   numberOfTKRLayersCmd = new G4UIcmdWithAnInte    105   numberOfTKRLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfTKRLayers", this);
106   numberOfTKRLayersCmd->SetGuidance("Set the n    106   numberOfTKRLayersCmd->SetGuidance("Set the number of TKR layers.");
107   numberOfTKRLayersCmd->SetParameterName("NbTK    107   numberOfTKRLayersCmd->SetParameterName("NbTKRLayers", false);
108   numberOfTKRLayersCmd->SetRange("NbTKRLayers>    108   numberOfTKRLayersCmd->SetRange("NbTKRLayers>0 && NbTKRLayers<30");
109   numberOfTKRLayersCmd->AvailableForStates(G4S    109   numberOfTKRLayersCmd->AvailableForStates(G4State_Idle);
110                                                   110 
111   // tracker layer distance                       111   // tracker layer distance
112                                                   112 
113   layerDistanceCmd = new G4UIcmdWithADoubleAnd    113   layerDistanceCmd = new G4UIcmdWithADoubleAndUnit("/payload/setLayerDistance", this);
114   layerDistanceCmd->SetGuidance("Set the dista    114   layerDistanceCmd->SetGuidance("Set the distance between two layers.");
115   layerDistanceCmd->SetParameterName("Size", f    115   layerDistanceCmd->SetParameterName("Size", false);
116   layerDistanceCmd->SetRange("Size>=0.");         116   layerDistanceCmd->SetRange("Size>=0.");
117   layerDistanceCmd->SetUnitCategory("Length");    117   layerDistanceCmd->SetUnitCategory("Length");
118   layerDistanceCmd->AvailableForStates(G4State    118   layerDistanceCmd->AvailableForStates(G4State_Idle);
119                                                   119 
120   // tracker views distance                       120   // tracker views distance
121                                                   121 
122   viewsDistanceCmd = new G4UIcmdWithADoubleAnd    122   viewsDistanceCmd = new G4UIcmdWithADoubleAndUnit("/payload/setViewsDistance", this);
123   viewsDistanceCmd->SetGuidance("Set the dista    123   viewsDistanceCmd->SetGuidance("Set the distance between X and Y views.");
124   viewsDistanceCmd->SetParameterName("Size", f    124   viewsDistanceCmd->SetParameterName("Size", false);
125   viewsDistanceCmd->SetRange("Size>=0.");         125   viewsDistanceCmd->SetRange("Size>=0.");
126   viewsDistanceCmd->SetUnitCategory("Length");    126   viewsDistanceCmd->SetUnitCategory("Length");
127   viewsDistanceCmd->AvailableForStates(G4State    127   viewsDistanceCmd->AvailableForStates(G4State_Idle);
128                                                   128 
129   // calorimeter detector thickness               129   // calorimeter detector thickness
130                                                   130 
131   calThicknessCmd = new G4UIcmdWithADoubleAndU    131   calThicknessCmd = new G4UIcmdWithADoubleAndUnit("/payload/setCALThick", this);
132   calThicknessCmd->SetGuidance("Set the thickn    132   calThicknessCmd->SetGuidance("Set the thickness of CAL detectors.");
133   calThicknessCmd->SetParameterName("Size", fa    133   calThicknessCmd->SetParameterName("Size", false);
134   calThicknessCmd->SetRange("Size>=0.");          134   calThicknessCmd->SetRange("Size>=0.");
135   calThicknessCmd->SetUnitCategory("Length");     135   calThicknessCmd->SetUnitCategory("Length");
136   calThicknessCmd->AvailableForStates(G4State_    136   calThicknessCmd->AvailableForStates(G4State_Idle);
137                                                   137 
138   // calorimeter, number of detectors             138   // calorimeter, number of detectors
139                                                   139 
140   numberOfCALBarsCmd = new G4UIcmdWithAnIntege    140   numberOfCALBarsCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALBars", this);
141   numberOfCALBarsCmd->SetGuidance("Set the num    141   numberOfCALBarsCmd->SetGuidance("Set the number of CsI bars.");
142   numberOfCALBarsCmd->SetParameterName("NbSiTi    142   numberOfCALBarsCmd->SetParameterName("NbSiTiles", false);
143   numberOfCALBarsCmd->SetRange("NbSiTiles>0 &&    143   numberOfCALBarsCmd->SetRange("NbSiTiles>0 && NbSiTiles<100");
144   numberOfCALBarsCmd->AvailableForStates(G4Sta    144   numberOfCALBarsCmd->AvailableForStates(G4State_Idle);
145                                                   145 
146   // calorimeter, number of layers                146   // calorimeter, number of layers
147                                                   147 
148   numberOfCALLayersCmd = new G4UIcmdWithAnInte    148   numberOfCALLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALLayers", this);
149   numberOfCALLayersCmd->SetGuidance("Set the n    149   numberOfCALLayersCmd->SetGuidance("Set the number of CAL layers.");
150   numberOfCALLayersCmd->SetParameterName("NbCA    150   numberOfCALLayersCmd->SetParameterName("NbCALLayers", false);
151   numberOfCALLayersCmd->SetRange("NbCALLayers>    151   numberOfCALLayersCmd->SetRange("NbCALLayers>0 && NbCALLayers<16");
152   numberOfCALLayersCmd->AvailableForStates(G4S    152   numberOfCALLayersCmd->AvailableForStates(G4State_Idle);
153                                                   153 
154   // anticoincidence detector thickness           154   // anticoincidence detector thickness
155                                                   155 
156   acdThicknessCmd = new G4UIcmdWithADoubleAndU    156   acdThicknessCmd = new G4UIcmdWithADoubleAndUnit("/payload/setACDThick", this);
157   acdThicknessCmd->SetGuidance("Set the thickn    157   acdThicknessCmd->SetGuidance("Set the thickness of ACD detectors");
158   acdThicknessCmd->SetParameterName("Size", fa    158   acdThicknessCmd->SetParameterName("Size", false);
159   acdThicknessCmd->SetRange("Size>=0.");          159   acdThicknessCmd->SetRange("Size>=0.");
160   acdThicknessCmd->SetUnitCategory("Length");     160   acdThicknessCmd->SetUnitCategory("Length");
161   acdThicknessCmd->AvailableForStates(G4State_    161   acdThicknessCmd->AvailableForStates(G4State_Idle);
162                                                   162 
163   // update payload geometry                      163   // update payload geometry
164                                                   164 
165   updateCmd = new G4UIcmdWithoutParameter("/pa    165   updateCmd = new G4UIcmdWithoutParameter("/payload/update", this);
166   updateCmd->SetGuidance("Update the geometry     166   updateCmd->SetGuidance("Update the geometry of the payload.");
167   updateCmd->SetGuidance("This command MUST be    167   updateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
168   updateCmd->SetGuidance("if you changed geome    168   updateCmd->SetGuidance("if you changed geometrical value(s).");
169   updateCmd->AvailableForStates(G4State_Idle);    169   updateCmd->AvailableForStates(G4State_Idle);
170                                                   170 
171   // magnetic field                               171   // magnetic field
172                                                   172 
173   magneticFieldCmd = new G4UIcmdWithADoubleAnd    173   magneticFieldCmd = new G4UIcmdWithADoubleAndUnit("/payload/setField", this);
174   magneticFieldCmd->SetGuidance("Define the ma    174   magneticFieldCmd->SetGuidance("Define the magnetic field.");
175   magneticFieldCmd->SetGuidance("Magnetic fiel    175   magneticFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
176   magneticFieldCmd->SetParameterName("Bz", fal    176   magneticFieldCmd->SetParameterName("Bz", false);
177   magneticFieldCmd->SetUnitCategory("Magnetic     177   magneticFieldCmd->SetUnitCategory("Magnetic flux density");
178   magneticFieldCmd->AvailableForStates(G4State    178   magneticFieldCmd->AvailableForStates(G4State_Idle);
179 }                                                 179 }
180                                                   180 
181 //....oooOO0OOooo........oooOO0OOooo........oo    181 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
182                                                   182 
183 GammaRayTelDetectorMessenger::~GammaRayTelDete    183 GammaRayTelDetectorMessenger::~GammaRayTelDetectorMessenger() {
184   delete converterMaterialCmd;                    184   delete converterMaterialCmd;
185   delete converterThicknessCmd;                   185   delete converterThicknessCmd;
186   delete numberOfSiTilesCmd;                      186   delete numberOfSiTilesCmd;
187   delete numberOfTKRLayersCmd;                    187   delete numberOfTKRLayersCmd;
188   delete siliconTileXYCmd;                        188   delete siliconTileXYCmd;
189   delete siliconPitchCmd;                         189   delete siliconPitchCmd;
190   delete siliconThicknessCmd;                     190   delete siliconThicknessCmd;
191   delete layerDistanceCmd;                        191   delete layerDistanceCmd;
192   delete viewsDistanceCmd;                        192   delete viewsDistanceCmd;
193   delete acdThicknessCmd;                         193   delete acdThicknessCmd;
194   delete numberOfCALLayersCmd;                    194   delete numberOfCALLayersCmd;
195   delete numberOfCALBarsCmd;                      195   delete numberOfCALBarsCmd;
196   delete calThicknessCmd;                         196   delete calThicknessCmd;
197   delete updateCmd;                               197   delete updateCmd;
198   delete magneticFieldCmd;                        198   delete magneticFieldCmd;
199   delete directory;                               199   delete directory;
200 }                                                 200 }
201                                                   201 
202 //....oooOO0OOooo........oooOO0OOooo........oo    202 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
203                                                   203 
204 void GammaRayTelDetectorMessenger::SetNewValue    204 void GammaRayTelDetectorMessenger::SetNewValue(G4UIcommand *command, G4String newValue) {
205   // converter                                    205   // converter
206                                                   206 
207   if (command == converterMaterialCmd) {          207   if (command == converterMaterialCmd) {
208     detector->SetConverterMaterial(newValue);     208     detector->SetConverterMaterial(newValue);
209   } else if (command == converterThicknessCmd)    209   } else if (command == converterThicknessCmd) {
210     detector->SetConverterThickness(converterT    210     detector->SetConverterThickness(converterThicknessCmd->GetNewDoubleValue(newValue));
211     } else                                        211     } else
212                                                   212 
213     // tracker (TKR)                              213     // tracker (TKR)
214                                                   214 
215     if (command == siliconTileXYCmd) {            215     if (command == siliconTileXYCmd) {
216     detector->SetTKRTileSizeXY(siliconTileXYCm    216     detector->SetTKRTileSizeXY(siliconTileXYCmd->GetNewDoubleValue(newValue));
217   } else if (command == siliconPitchCmd) {        217   } else if (command == siliconPitchCmd) {
218     detector->SetTKRSiliconPitch(siliconPitchC    218     detector->SetTKRSiliconPitch(siliconPitchCmd->GetNewDoubleValue(newValue));
219   } else if (command == siliconThicknessCmd) {    219   } else if (command == siliconThicknessCmd) {
220     detector->SetTKRSiliconThickness(siliconTh    220     detector->SetTKRSiliconThickness(siliconThicknessCmd->GetNewDoubleValue(newValue));
221   } else if (command == numberOfSiTilesCmd) {     221   } else if (command == numberOfSiTilesCmd) {
222     detector->SetNbOfTKRTiles(numberOfSiTilesC    222     detector->SetNbOfTKRTiles(numberOfSiTilesCmd->GetNewIntValue(newValue));
223   } else if (command == numberOfTKRLayersCmd)     223   } else if (command == numberOfTKRLayersCmd) {
224     detector->SetNbOfTKRLayers(numberOfTKRLaye    224     detector->SetNbOfTKRLayers(numberOfTKRLayersCmd->GetNewIntValue(newValue));
225   } else if (command == layerDistanceCmd) {       225   } else if (command == layerDistanceCmd) {
226     detector->SetTKRLayerDistance(layerDistanc    226     detector->SetTKRLayerDistance(layerDistanceCmd->GetNewDoubleValue(newValue));
227   } else if (command == viewsDistanceCmd) {       227   } else if (command == viewsDistanceCmd) {
228     detector->SetTKRViewsDistance(viewsDistanc    228     detector->SetTKRViewsDistance(viewsDistanceCmd->GetNewDoubleValue(newValue));
229   } else                                          229   } else
230                                                   230 
231   // calorimeter (CAL)                            231   // calorimeter (CAL)
232                                                   232 
233   if (command == numberOfCALLayersCmd) {          233   if (command == numberOfCALLayersCmd) {
234     detector->SetNbOfCALLayers(numberOfCALLaye    234     detector->SetNbOfCALLayers(numberOfCALLayersCmd->GetNewIntValue(newValue));
235   } else if (command == numberOfCALBarsCmd) {     235   } else if (command == numberOfCALBarsCmd) {
236     detector->SetNbOfCALBars(numberOfCALBarsCm    236     detector->SetNbOfCALBars(numberOfCALBarsCmd->GetNewIntValue(newValue));
237   } else if (command == calThicknessCmd) {        237   } else if (command == calThicknessCmd) {
238     detector->SetCALBarThickness(calThicknessC    238     detector->SetCALBarThickness(calThicknessCmd->GetNewDoubleValue(newValue));
239   } else                                          239   } else
240                                                   240 
241   // anticoincidence (ACD)                        241   // anticoincidence (ACD)
242                                                   242 
243   if (command == acdThicknessCmd) {               243   if (command == acdThicknessCmd) {
244     detector->SetACDThickness(acdThicknessCmd-    244     detector->SetACDThickness(acdThicknessCmd->GetNewDoubleValue(newValue));
245   } else if (command == updateCmd) {              245   } else if (command == updateCmd) {
246     detector->UpdateGeometry();                   246     detector->UpdateGeometry();
247   } else if (command == magneticFieldCmd) {       247   } else if (command == magneticFieldCmd) {
248     detector->SetMagField(magneticFieldCmd->Ge    248     detector->SetMagField(magneticFieldCmd->GetNewDoubleValue(newValue));
249   }                                               249   }
250 }                                                 250 }
251                                                   251