Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/exoticphysics/channeling/ch2/src/DetectorConstructionMessenger.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/extended/exoticphysics/channeling/ch2/src/DetectorConstructionMessenger.cc (Version 11.3.0) and /examples/extended/exoticphysics/channeling/ch2/src/DetectorConstructionMessenger.cc (Version 11.1.3)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26 /// \file DetectorConstructionMessenger.cc        
 27 /// \brief Implementation of the DetectorConst    
 28 //                                                
 29 //                                                
 30 //                                                
 31 //....oooOO0OOooo........oooOO0OOooo........oo    
 32                                                   
 33 #include "DetectorConstructionMessenger.hh"       
 34 #include "DetectorConstruction.hh"                
 35                                                   
 36 #include "G4UIdirectory.hh"                       
 37 #include "G4UIcmdWithADoubleAndUnit.hh"           
 38 #include "G4UIcmdWithADouble.hh"                  
 39 #include "G4UIcmdWithAnInteger.hh"                
 40 #include "G4UIcmdWith3VectorAndUnit.hh"           
 41 #include "G4UIcmdWithABool.hh"                    
 42 #include "G4UIcmdWithAString.hh"                  
 43                                                   
 44 #include "G4RunManager.hh"                        
 45 #include "G4ios.hh"                               
 46                                                   
 47 //....oooOO0OOooo........oooOO0OOooo........oo    
 48                                                   
 49 DetectorConstructionMessenger::DetectorConstru    
 50 fDetector(det)                                    
 51 {                                                 
 52     fCmdDir = new G4UIdirectory("/crystal/");     
 53     fCmdDir->SetGuidance("crystal Control");      
 54                                                   
 55     fCrystalMaterialCmd = new G4UIcmdWithAStri    
 56     fCrystalMaterialCmd->SetGuidance("Set Crys    
 57     fCrystalMaterialCmd->SetParameterName("mat    
 58     fCrystalMaterialCmd->SetDefaultValue("G4_S    
 59                                                   
 60     fCrystalSizeCmd = new G4UIcmdWith3VectorAn    
 61     fCrystalSizeCmd->SetGuidance("Set Crystal     
 62     fCrystalSizeCmd->SetParameterName("dimCrX"    
 63     fCrystalSizeCmd->SetUnitCategory("Length")    
 64     fCrystalSizeCmd->AvailableForStates(G4Stat    
 65                                                   
 66     fCrystalLatticeCmd = new G4UIcmdWithAStrin    
 67     fCrystalLatticeCmd->                          
 68      SetGuidance("Set Crystal Lattice, use bra    
 69     fCrystalLatticeCmd->SetParameterName("latt    
 70     fCrystalLatticeCmd->SetDefaultValue("(111)    
 71                                                   
 72     fCrystalAngleXCmd = new G4UIcmdWithADouble    
 73     fCrystalAngleXCmd->SetGuidance("Set crysta    
 74     fCrystalAngleXCmd->SetUnitCategory("Angle"    
 75     fCrystalAngleXCmd->SetParameterName("angX"    
 76     fCrystalAngleXCmd->AvailableForStates(G4St    
 77                                                   
 78     fCrystalAngleYCmd = new G4UIcmdWithADouble    
 79     fCrystalAngleYCmd->SetGuidance("Set crysta    
 80     fCrystalAngleYCmd->SetUnitCategory("Angle"    
 81     fCrystalAngleYCmd->SetParameterName("angY"    
 82     fCrystalAngleYCmd->AvailableForStates(G4St    
 83                                                   
 84     fCrystalBendingAngleCmd =                     
 85             new G4UIcmdWithADoubleAndUnit("/cr    
 86     fCrystalBendingAngleCmd->SetGuidance("Set     
 87     fCrystalBendingAngleCmd->SetParameterName(    
 88     fCrystalBendingAngleCmd->SetUnitCategory("    
 89     fCrystalBendingAngleCmd->SetRange("bending    
 90     fCrystalBendingAngleCmd->AvailableForState    
 91                                                   
 92     fCrystallineUndulatorAmplitudeCmd =           
 93             new G4UIcmdWithADoubleAndUnit         
 94             ("/crystal/setCrystallineUndulator    
 95     fCrystallineUndulatorAmplitudeCmd->           
 96             SetGuidance("Set crystalline undul    
 97     fCrystallineUndulatorAmplitudeCmd->SetUnit    
 98     fCrystallineUndulatorAmplitudeCmd->           
 99             SetParameterName("CrystallineUndul    
100     fCrystallineUndulatorAmplitudeCmd->           
101             SetRange("CrystallineUndulatorAmpl    
102     fCrystallineUndulatorAmplitudeCmd->Availab    
103                                                   
104     fCrystallineUndulatorPeriodCmd =              
105             new G4UIcmdWithADoubleAndUnit("/cr    
106     fCrystallineUndulatorPeriodCmd->              
107             SetGuidance("Set crystalline undul    
108     fCrystallineUndulatorPeriodCmd->SetUnitCat    
109     fCrystallineUndulatorPeriodCmd->              
110             SetParameterName("CrystallineUndul    
111     fCrystallineUndulatorPeriodCmd->              
112             SetRange("CrystallineUndulatorPeri    
113     fCrystallineUndulatorPeriodCmd->AvailableF    
114                                                   
115     fCrystallineUndulatorPhaseCmd =               
116             new G4UIcmdWithADouble("/crystal/s    
117     fCrystallineUndulatorPhaseCmd->               
118             SetGuidance("Set crystalline undul    
119     fCrystallineUndulatorPhaseCmd->               
120             SetParameterName("CrystallineUndul    
121     fCrystallineUndulatorPhaseCmd->AvailableFo    
122                                                   
123     fDetectorSizeCmd = new G4UIcmdWith3VectorA    
124     fDetectorSizeCmd->SetGuidance("Set detecto    
125     fDetectorSizeCmd->SetParameterName("dimDet    
126     fDetectorSizeCmd->SetUnitCategory("Length"    
127     fDetectorSizeCmd->AvailableForStates(G4Sta    
128                                                   
129     fDetectorFrontPosZCmd =                       
130             new G4UIcmdWithADoubleAndUnit("/cr    
131     fDetectorFrontPosZCmd->SetGuidance("Set de    
132     fDetectorFrontPosZCmd->SetParameterName("f    
133     fDetectorFrontPosZCmd->SetUnitCategory("Le    
134     fDetectorFrontPosZCmd->AvailableForStates(    
135                                                   
136     fPotentialPathCmd = new G4UIcmdWithAString    
137     fPotentialPathCmd->                           
138             SetGuidance("Set the path where to    
139                         "for the G4ChannelingF    
140                         "if different from G4C    
141     fPotentialPathCmd->SetParameterName("chann    
142     fPotentialPathCmd->SetDefaultValue("");       
143                                                   
144     fChannelingModelCmd = new G4UIcmdWithABool    
145     fChannelingModelCmd->SetGuidance("Activate    
146     fChannelingModelCmd->SetParameterName("Cha    
147     fChannelingModelCmd->SetDefaultValue(false    
148                                                   
149     fRadModelCmd = new G4UIcmdWithABool("/crys    
150     fRadModelCmd->SetGuidance("Activate/deacti    
151     fRadModelCmd->SetParameterName("ActivateRa    
152     fRadModelCmd->SetDefaultValue(false);         
153                                                   
154     fMinPhotonEnergyCmd =                         
155             new G4UIcmdWithADoubleAndUnit("/cr    
156     fMinPhotonEnergyCmd->                         
157             SetGuidance("Set the low energy th    
158                         "the photons emitted i    
159     fMinPhotonEnergyCmd->SetParameterName("Min    
160     fMinPhotonEnergyCmd->SetUnitCategory("Ener    
161     fMinPhotonEnergyCmd->SetRange("MinPhotonEn    
162     fMinPhotonEnergyCmd->AvailableForStates(G4    
163                                                   
164     fSamplingPhotonsNumberCmd =                   
165             new G4UIcmdWithAnInteger("/crystal    
166     fSamplingPhotonsNumberCmd->                   
167             SetGuidance("Set SamplingPhotonsNu    
168     fSamplingPhotonsNumberCmd->SetParameterNam    
169     fSamplingPhotonsNumberCmd->SetRange("Sampl    
170     fSamplingPhotonsNumberCmd->AvailableForSta    
171                                                   
172     fNSmallTrajectoryStepsCmd =                   
173             new G4UIcmdWithAnInteger("/crystal    
174     fNSmallTrajectoryStepsCmd->                   
175             SetGuidance("Set NSmallTrajectoryS    
176     fNSmallTrajectoryStepsCmd->SetParameterNam    
177     fNSmallTrajectoryStepsCmd->SetRange("NSmal    
178     fNSmallTrajectoryStepsCmd->AvailableForSta    
179                                                   
180     fRadiationAngleFactorCmd =                    
181             new G4UIcmdWithADouble("/crystal/s    
182     fRadiationAngleFactorCmd->SetGuidance("Set    
183     fRadiationAngleFactorCmd->SetParameterName    
184     fRadiationAngleFactorCmd->SetRange("Radiat    
185     fRadiationAngleFactorCmd->AvailableForStat    
186                                                   
187     fMinPhotonEnergyAddStatCmd =                  
188     new G4UIcmdWithADoubleAndUnit("/crystal/Ad    
189     fMinPhotonEnergyAddStatCmd->                  
190             SetGuidance("Set the min energy in    
191                         "the sampling photon s    
192     fMinPhotonEnergyAddStatCmd->SetParameterNa    
193     fMinPhotonEnergyAddStatCmd->SetUnitCategor    
194     fMinPhotonEnergyAddStatCmd->SetRange("addS    
195     fMinPhotonEnergyAddStatCmd->AvailableForSt    
196                                                   
197     fMaxPhotonEnergyAddStatCmd =                  
198     new G4UIcmdWithADoubleAndUnit("/crystal/Ad    
199     fMaxPhotonEnergyAddStatCmd->                  
200             SetGuidance("Set the max energy in    
201                         "the sampling photon s    
202     fMaxPhotonEnergyAddStatCmd->SetParameterNa    
203     fMaxPhotonEnergyAddStatCmd->SetUnitCategor    
204     fMaxPhotonEnergyAddStatCmd->SetRange("addS    
205     fMaxPhotonEnergyAddStatCmd->AvailableForSt    
206                                                   
207     fTimesPhotonStatisticsCmd =                   
208     new G4UIcmdWithAnInteger("/crystal/AddPhot    
209                              this);               
210     fTimesPhotonStatisticsCmd->                   
211            SetGuidance("Set multiple of the sa    
212     fTimesPhotonStatisticsCmd->SetParameterNam    
213     fTimesPhotonStatisticsCmd->SetRange("times    
214     fTimesPhotonStatisticsCmd->AvailableForSta    
215                                                   
216     fParticleMinKinEnergyCmd =                    
217             new G4UIcmdWithADoubleAndUnit("/cr    
218     fParticleMinKinEnergyCmd->                    
219             SetGuidance("Set the low energy th    
220                         "to enter the G4Channe    
221     fParticleMinKinEnergyCmd->SetParameterName    
222     fParticleMinKinEnergyCmd->SetUnitCategory(    
223     fParticleMinKinEnergyCmd->SetRange("partLE    
224     fParticleMinKinEnergyCmd->AvailableForStat    
225                                                   
226     fProtonMinKinEnergyCmd =                      
227             new G4UIcmdWithADoubleAndUnit("/cr    
228     fProtonMinKinEnergyCmd->                      
229             SetGuidance("Set the low energy th    
230                         "to enter the G4Channe    
231     fProtonMinKinEnergyCmd->SetParameterName("    
232     fProtonMinKinEnergyCmd->SetUnitCategory("E    
233     fProtonMinKinEnergyCmd->SetRange("protonLE    
234     fProtonMinKinEnergyCmd->AvailableForStates    
235                                                   
236     fAntiprotonMinKinEnergyCmd =                  
237        new G4UIcmdWithADoubleAndUnit("/crystal    
238     fAntiprotonMinKinEnergyCmd->SetGuidance("S    
239                                             "     
240     fAntiprotonMinKinEnergyCmd->SetParameterNa    
241     fAntiprotonMinKinEnergyCmd->SetUnitCategor    
242     fAntiprotonMinKinEnergyCmd->SetRange("anti    
243     fAntiprotonMinKinEnergyCmd->AvailableForSt    
244                                                   
245     fPiPlusMinKinEnergyCmd =                      
246             new G4UIcmdWithADoubleAndUnit("/cr    
247     fPiPlusMinKinEnergyCmd->                      
248             SetGuidance("Set the low energy th    
249                         "to enter the G4Channe    
250     fPiPlusMinKinEnergyCmd->SetParameterName("    
251     fPiPlusMinKinEnergyCmd->SetUnitCategory("E    
252     fPiPlusMinKinEnergyCmd->SetRange("piPlusLE    
253     fPiPlusMinKinEnergyCmd->AvailableForStates    
254                                                   
255     fPiMinusMinKinEnergyCmd =                     
256             new G4UIcmdWithADoubleAndUnit("/cr    
257     fPiMinusMinKinEnergyCmd->SetGuidance("Set     
258                                          "to e    
259     fPiMinusMinKinEnergyCmd->SetParameterName(    
260     fPiMinusMinKinEnergyCmd->SetUnitCategory("    
261     fPiMinusMinKinEnergyCmd->SetRange("piMinus    
262     fPiMinusMinKinEnergyCmd->AvailableForState    
263                                                   
264     fPositronMinKinEnergyCmd =                    
265             new G4UIcmdWithADoubleAndUnit("/cr    
266     fPositronMinKinEnergyCmd->SetGuidance("Set    
267                                           "to     
268     fPositronMinKinEnergyCmd->SetParameterName    
269     fPositronMinKinEnergyCmd->SetUnitCategory(    
270     fPositronMinKinEnergyCmd->SetRange("ePlusL    
271     fPositronMinKinEnergyCmd->AvailableForStat    
272                                                   
273     fElectronMinKinEnergyCmd =                    
274             new G4UIcmdWithADoubleAndUnit("/cr    
275     fElectronMinKinEnergyCmd->SetGuidance("Set    
276                                           "to     
277     fElectronMinKinEnergyCmd->SetParameterName    
278     fElectronMinKinEnergyCmd->SetUnitCategory(    
279     fElectronMinKinEnergyCmd->SetRange("eMinus    
280     fElectronMinKinEnergyCmd->AvailableForStat    
281                                                   
282     fMuPlusMinKinEnergyCmd =                      
283             new G4UIcmdWithADoubleAndUnit("/cr    
284     fMuPlusMinKinEnergyCmd->SetGuidance("Set t    
285                                         "to en    
286     fMuPlusMinKinEnergyCmd->SetParameterName("    
287     fMuPlusMinKinEnergyCmd->SetUnitCategory("E    
288     fMuPlusMinKinEnergyCmd->SetRange("muPlusLE    
289     fMuPlusMinKinEnergyCmd->AvailableForStates    
290                                                   
291     fMuMinusMinKinEnergyCmd =                     
292             new G4UIcmdWithADoubleAndUnit("/cr    
293     fMuMinusMinKinEnergyCmd->SetGuidance("Set     
294                                          "to e    
295     fMuMinusMinKinEnergyCmd->SetParameterName(    
296     fMuMinusMinKinEnergyCmd->SetUnitCategory("    
297     fMuMinusMinKinEnergyCmd->SetRange("muMinus    
298     fMuMinusMinKinEnergyCmd->AvailableForState    
299                                                   
300     fLindhardAnglesCmd = new G4UIcmdWithADoubl    
301     fLindhardAnglesCmd->                          
302             SetGuidance("Set high angular thre    
303                         "the G4ChannelingFastS    
304     fLindhardAnglesCmd->SetParameterName("Lind    
305     fLindhardAnglesCmd->SetRange("LindhardAngl    
306     fLindhardAnglesCmd->AvailableForStates(G4S    
307                                                   
308     fLindhardAnglesProtonCmd =                    
309             new G4UIcmdWithADouble("/crystal/s    
310     fLindhardAnglesProtonCmd->                    
311             SetGuidance("Set high angular thre    
312                         "the G4ChannelingFastS    
313     fLindhardAnglesProtonCmd->SetParameterName    
314     fLindhardAnglesProtonCmd->SetRange("Lindha    
315     fLindhardAnglesProtonCmd->AvailableForStat    
316                                                   
317     fLindhardAnglesAntiprotonCmd =                
318             new G4UIcmdWithADouble("/crystal/s    
319     fLindhardAnglesAntiprotonCmd->                
320             SetGuidance("Set high angular thre    
321                         "the G4ChannelingFastS    
322     fLindhardAnglesAntiprotonCmd->SetParameter    
323     fLindhardAnglesAntiprotonCmd->SetRange("Li    
324     fLindhardAnglesAntiprotonCmd->AvailableFor    
325                                                   
326     fLindhardAnglesPiPlusCmd =                    
327             new G4UIcmdWithADouble("/crystal/s    
328     fLindhardAnglesPiPlusCmd->                    
329             SetGuidance("Set high angular thre    
330                         "the G4ChannelingFastS    
331     fLindhardAnglesPiPlusCmd->SetParameterName    
332     fLindhardAnglesPiPlusCmd->SetRange("Lindha    
333     fLindhardAnglesPiPlusCmd->AvailableForStat    
334                                                   
335     fLindhardAnglesPiMinusCmd =                   
336             new G4UIcmdWithADouble("/crystal/s    
337     fLindhardAnglesPiMinusCmd->                   
338             SetGuidance("Set high angular thre    
339                         "the G4ChannelingFastS    
340     fLindhardAnglesPiMinusCmd->SetParameterNam    
341     fLindhardAnglesPiMinusCmd->SetRange("Lindh    
342     fLindhardAnglesPiMinusCmd->AvailableForSta    
343                                                   
344     fLindhardAnglesPositronCmd =                  
345             new G4UIcmdWithADouble("/crystal/s    
346     fLindhardAnglesPositronCmd->                  
347             SetGuidance("Set high angular thre    
348                         "the G4ChannelingFastS    
349     fLindhardAnglesPositronCmd->SetParameterNa    
350     fLindhardAnglesPositronCmd->SetRange("Lind    
351     fLindhardAnglesPositronCmd->AvailableForSt    
352                                                   
353     fLindhardAnglesElectronCmd =                  
354             new G4UIcmdWithADouble("/crystal/s    
355     fLindhardAnglesElectronCmd->                  
356             SetGuidance("Set high angular thre    
357                         "the G4ChannelingFastS    
358     fLindhardAnglesElectronCmd->SetParameterNa    
359     fLindhardAnglesElectronCmd->SetRange("Lind    
360     fLindhardAnglesElectronCmd->AvailableForSt    
361                                                   
362     fLindhardAnglesMuPlusCmd =                    
363             new G4UIcmdWithADouble("/crystal/s    
364     fLindhardAnglesMuPlusCmd->                    
365             SetGuidance("Set high angular thre    
366                         "the G4ChannelingFastS    
367     fLindhardAnglesMuPlusCmd->SetParameterName    
368     fLindhardAnglesMuPlusCmd->SetRange("Lindha    
369     fLindhardAnglesMuPlusCmd->AvailableForStat    
370                                                   
371     fLindhardAnglesMuMinusCmd =                   
372             new G4UIcmdWithADouble("/crystal/s    
373     fLindhardAnglesMuMinusCmd->                   
374             SetGuidance("Set high angular thre    
375                         "the G4ChannelingFastS    
376     fLindhardAnglesMuMinusCmd->SetParameterNam    
377     fLindhardAnglesMuMinusCmd->SetRange("Lindh    
378     fLindhardAnglesMuMinusCmd->AvailableForSta    
379                                                   
380 }                                                 
381                                                   
382 //....oooOO0OOooo........oooOO0OOooo........oo    
383                                                   
384 DetectorConstructionMessenger::~DetectorConstr    
385 {                                                 
386     delete fCmdDir;                               
387     delete fCrystalMaterialCmd;                   
388     delete fCrystalSizeCmd;                       
389     delete fCrystalLatticeCmd;                    
390     delete fCrystalAngleXCmd;                     
391     delete fCrystalAngleYCmd;                     
392     delete fCrystalBendingAngleCmd;               
393     delete fRadModelCmd;                          
394     delete fChannelingModelCmd;                   
395                                                   
396     delete fCrystallineUndulatorAmplitudeCmd;     
397     delete fCrystallineUndulatorPeriodCmd;        
398     delete fCrystallineUndulatorPhaseCmd;         
399                                                   
400     delete fDetectorSizeCmd;                      
401     delete fDetectorFrontPosZCmd;                 
402                                                   
403     delete fPotentialPathCmd;                     
404                                                   
405     delete fMinPhotonEnergyCmd;                   
406     delete fSamplingPhotonsNumberCmd;             
407     delete fNSmallTrajectoryStepsCmd;             
408     delete fRadiationAngleFactorCmd;              
409     delete fMinPhotonEnergyAddStatCmd;            
410     delete fMaxPhotonEnergyAddStatCmd;            
411     delete fTimesPhotonStatisticsCmd;             
412                                                   
413     delete fParticleMinKinEnergyCmd;              
414     delete fProtonMinKinEnergyCmd;                
415     delete fAntiprotonMinKinEnergyCmd;            
416     delete fPiPlusMinKinEnergyCmd;                
417     delete fPiMinusMinKinEnergyCmd;               
418     delete fElectronMinKinEnergyCmd;              
419     delete fPositronMinKinEnergyCmd;              
420     delete fMuPlusMinKinEnergyCmd;                
421     delete fMuMinusMinKinEnergyCmd;               
422                                                   
423     delete fLindhardAnglesCmd;                    
424     delete fLindhardAnglesProtonCmd;              
425     delete fLindhardAnglesAntiprotonCmd;          
426     delete fLindhardAnglesPiPlusCmd;              
427     delete fLindhardAnglesPiMinusCmd;             
428     delete fLindhardAnglesElectronCmd;            
429     delete fLindhardAnglesPositronCmd;            
430     delete fLindhardAnglesMuPlusCmd;              
431     delete fLindhardAnglesMuMinusCmd;             
432 }                                                 
433                                                   
434 //....oooOO0OOooo........oooOO0OOooo........oo    
435                                                   
436 void DetectorConstructionMessenger::SetNewValu    
437 {                                                 
438     if (command == fCrystalMaterialCmd)           
439         {fDetector->SetCrystalMaterial(newValu    
440     if (command == fCrystalSizeCmd)               
441         {fDetector->SetCrystalSize(fCrystalSiz    
442     if (command == fCrystalLatticeCmd)            
443         {fDetector->SetCrystalLattice(newValue    
444     if (command == fCrystalAngleXCmd)             
445         {fDetector->SetCrystalAngleX(fCrystalA    
446     if (command == fCrystalAngleYCmd)             
447         {fDetector->SetCrystalAngleY(fCrystalA    
448     if (command == fCrystalBendingAngleCmd)       
449         {fDetector->SetCrystalBendingAngle(       
450                     fCrystalBendingAngleCmd->G    
451     if (command == fRadModelCmd)                  
452         {fDetector->SetRadiationModel(fRadMode    
453     if (command == fChannelingModelCmd)           
454         {fDetector->SetChannelingModel(fChanne    
455                                                   
456     if (command == fCrystallineUndulatorAmplit    
457         {fDetector->SetCrystallineUndulatorAmp    
458                 (fCrystallineUndulatorAmplitud    
459     if (command == fCrystallineUndulatorPeriod    
460         {fDetector->SetCrystallineUndulatorPer    
461                 (fCrystallineUndulatorPeriodCm    
462     if (command == fCrystallineUndulatorPhaseC    
463         {fDetector->SetCrystallineUndulatorPha    
464                 (fCrystallineUndulatorPhaseCmd    
465                                                   
466     if (command == fDetectorSizeCmd)              
467         {fDetector->SetDetectorSize(fDetectorS    
468     if (command == fDetectorFrontPosZCmd)         
469         {fDetector->SetDetectorFrontPositionZ(    
470                     fDetectorFrontPosZCmd->Get    
471                                                   
472     if (command == fPotentialPathCmd)             
473         {fDetector->SetPotentialPath(newValue)    
474                                                   
475     if (command == fMinPhotonEnergyCmd)           
476         {fDetector->SetMinPhotonEnergy(           
477                     fMinPhotonEnergyCmd->GetNe    
478     if (command == fSamplingPhotonsNumberCmd)     
479         {fDetector->SetSamplingPhotonsNumber(     
480                     fSamplingPhotonsNumberCmd-    
481     if (command == fNSmallTrajectoryStepsCmd)     
482         {fDetector->SetNSmallTrajectorySteps(     
483                     fNSmallTrajectoryStepsCmd-    
484     if (command == fRadiationAngleFactorCmd)      
485         {fDetector->SetRadiationAngleFactor(      
486                     fRadiationAngleFactorCmd->    
487                                                   
488     if (command == fMinPhotonEnergyAddStatCmd)    
489         {fDetector->SetMinPhotonEnergyAddStat(    
490                     fMinPhotonEnergyAddStatCmd    
491     if (command == fMaxPhotonEnergyAddStatCmd)    
492         {fDetector->SetMaxPhotonEnergyAddStat(    
493                     fMaxPhotonEnergyAddStatCmd    
494     if (command == fTimesPhotonStatisticsCmd)     
495         {fDetector->SetMultiplePhotonStatistic    
496                     fTimesPhotonStatisticsCmd-    
497                                                   
498     if (command == fParticleMinKinEnergyCmd)      
499         {fDetector->SetParticleMinKinEnergy(      
500                     fParticleMinKinEnergyCmd->    
501     if (command == fProtonMinKinEnergyCmd)        
502         {fDetector->SetProtonMinKinEnergy(        
503                     fProtonMinKinEnergyCmd->Ge    
504     if (command == fAntiprotonMinKinEnergyCmd)    
505         {fDetector->SetAntiprotonMinKinEnergy(    
506                     fAntiprotonMinKinEnergyCmd    
507     if (command == fPiPlusMinKinEnergyCmd)        
508         {fDetector->SetPiPlusMinKinEnergy(        
509                     fPiPlusMinKinEnergyCmd->Ge    
510     if (command == fPiMinusMinKinEnergyCmd)       
511         {fDetector->SetPiMinusMinKinEnergy(       
512                     fPiMinusMinKinEnergyCmd->G    
513     if (command == fElectronMinKinEnergyCmd)      
514         {fDetector->SetElectronMinKinEnergy(      
515                     fElectronMinKinEnergyCmd->    
516     if (command == fPositronMinKinEnergyCmd)      
517         {fDetector->SetPositronMinKinEnergy(      
518                     fPositronMinKinEnergyCmd->    
519     if (command == fMuPlusMinKinEnergyCmd)        
520         {fDetector->SetMuPlusMinKinEnergy(        
521                     fMuPlusMinKinEnergyCmd->Ge    
522     if (command == fMuMinusMinKinEnergyCmd)       
523         {fDetector->SetMuMinusMinKinEnergy(       
524                     fMuMinusMinKinEnergyCmd->G    
525                                                   
526     if (command == fLindhardAnglesCmd)            
527         {fDetector->SetLindhardAngles(            
528                     fLindhardAnglesCmd->GetNew    
529     if (command == fLindhardAnglesProtonCmd)      
530         {fDetector->SetLindhardAnglesProton(      
531                     fLindhardAnglesProtonCmd->    
532     if (command == fLindhardAnglesAntiprotonCm    
533         {fDetector->SetLindhardAnglesAntiproto    
534                     fLindhardAnglesAntiprotonC    
535     if (command == fLindhardAnglesPiPlusCmd)      
536         {fDetector->SetLindhardAnglesPiPlus(      
537                     fLindhardAnglesPiPlusCmd->    
538     if (command == fLindhardAnglesPiMinusCmd)     
539         {fDetector->SetLindhardAnglesPiMinus(     
540                     fLindhardAnglesPiMinusCmd-    
541     if (command == fLindhardAnglesElectronCmd)    
542         {fDetector->SetLindhardAnglesElectron(    
543                     fLindhardAnglesElectronCmd    
544     if (command == fLindhardAnglesPositronCmd)    
545         {fDetector->SetLindhardAnglesPositron(    
546                     fLindhardAnglesPositronCmd    
547     if (command == fLindhardAnglesMuPlusCmd)      
548         {fDetector->SetLindhardAnglesMuPlus(      
549                     fLindhardAnglesMuPlusCmd->    
550     if (command == fLindhardAnglesMuMinusCmd)     
551         {fDetector->SetLindhardAnglesMuMinus(     
552                     fLindhardAnglesMuMinusCmd-    
553 }                                                 
554                                                   
555 //....oooOO0OOooo........oooOO0OOooo........oo    
556