Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/exoticphysics/saxs/src/SAXSDetectorConstructionMessenger.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/saxs/src/SAXSDetectorConstructionMessenger.cc (Version 11.3.0) and /examples/extended/exoticphysics/saxs/src/SAXSDetectorConstructionMessenger.cc (Version 10.1.p1)


  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 SAXSDetectorConstructionMessenger.cc    
 27 /// \brief Implementation of the SAXSDetectorC    
 28 //                                                
 29 //....oooOO0OOooo........oooOO0OOooo........oo    
 30                                                   
 31 #include "SAXSDetectorConstructionMessenger.hh    
 32                                                   
 33 #include "SAXSDetectorConstruction.hh"            
 34                                                   
 35 #include "G4RunManager.hh"                        
 36 #include "G4UIcmdWith3VectorAndUnit.hh"           
 37 #include "G4UIcmdWithABool.hh"                    
 38 #include "G4UIcmdWithADouble.hh"                  
 39 #include "G4UIcmdWithADoubleAndUnit.hh"           
 40 #include "G4UIcmdWithAString.hh"                  
 41 #include "G4UIcmdWithAnInteger.hh"                
 42 #include "G4UIdirectory.hh"                       
 43 #include "G4ios.hh"                               
 44                                                   
 45 //....oooOO0OOooo........oooOO0OOooo........oo    
 46                                                   
 47 SAXSDetectorConstructionMessenger::SAXSDetecto    
 48   SAXSDetectorConstruction* detconstr)            
 49   : G4UImessenger(), fDetector(detconstr)         
 50 {                                                 
 51   fCmdDir = new G4UIdirectory("/det/");           
 52   fCmdDir->SetGuidance("Detector Control");       
 53                                                   
 54   fSetCustomMatFFfilename = new G4UIcmdWithASt    
 55   fSetCustomMatFFfilename->SetGuidance("Set Cu    
 56   fSetCustomMatFFfilename->SetParameterName("m    
 57   fSetCustomMatFFfilename->AvailableForStates(    
 58                                                   
 59   fSetCustomMatDensityCmd = new G4UIcmdWithADo    
 60   fSetCustomMatDensityCmd->SetGuidance("Set de    
 61   fSetCustomMatDensityCmd->SetParameterName("c    
 62   fSetCustomMatDensityCmd->SetRange("cmden>0."    
 63   fSetCustomMatDensityCmd->AvailableForStates(    
 64                                                   
 65   fSetCustomMatHmassfractCmd = new G4UIcmdWith    
 66   fSetCustomMatHmassfractCmd->SetGuidance("Set    
 67   fSetCustomMatHmassfractCmd->SetParameterName    
 68   fSetCustomMatHmassfractCmd->SetRange("cmHmf>    
 69   fSetCustomMatHmassfractCmd->AvailableForStat    
 70                                                   
 71   fSetCustomMatCmassfractCmd = new G4UIcmdWith    
 72   fSetCustomMatCmassfractCmd->SetGuidance("Set    
 73   fSetCustomMatCmassfractCmd->SetParameterName    
 74   fSetCustomMatCmassfractCmd->SetRange("cmCmf>    
 75   fSetCustomMatCmassfractCmd->AvailableForStat    
 76                                                   
 77   fSetCustomMatNmassfractCmd = new G4UIcmdWith    
 78   fSetCustomMatNmassfractCmd->SetGuidance("Set    
 79   fSetCustomMatNmassfractCmd->SetParameterName    
 80   fSetCustomMatNmassfractCmd->SetRange("cmNmf>    
 81   fSetCustomMatNmassfractCmd->AvailableForStat    
 82                                                   
 83   fSetCustomMatOmassfractCmd = new G4UIcmdWith    
 84   fSetCustomMatOmassfractCmd->SetGuidance("Set    
 85   fSetCustomMatOmassfractCmd->SetParameterName    
 86   fSetCustomMatOmassfractCmd->SetRange("cmOmf>    
 87   fSetCustomMatOmassfractCmd->AvailableForStat    
 88                                                   
 89   fSetCustomMatNamassfractCmd = new G4UIcmdWit    
 90   fSetCustomMatNamassfractCmd->SetGuidance("Se    
 91   fSetCustomMatNamassfractCmd->SetParameterNam    
 92   fSetCustomMatNamassfractCmd->SetRange("cmNam    
 93   fSetCustomMatNamassfractCmd->AvailableForSta    
 94                                                   
 95   fSetCustomMatPmassfractCmd = new G4UIcmdWith    
 96   fSetCustomMatPmassfractCmd->SetGuidance("Set    
 97   fSetCustomMatPmassfractCmd->SetParameterName    
 98   fSetCustomMatPmassfractCmd->SetRange("cmPmf>    
 99   fSetCustomMatPmassfractCmd->AvailableForStat    
100                                                   
101   fSetCustomMatSmassfractCmd = new G4UIcmdWith    
102   fSetCustomMatSmassfractCmd->SetGuidance("Set    
103   fSetCustomMatSmassfractCmd->SetParameterName    
104   fSetCustomMatSmassfractCmd->SetRange("cmSmf>    
105   fSetCustomMatSmassfractCmd->AvailableForStat    
106                                                   
107   fSetCustomMatClmassfractCmd = new G4UIcmdWit    
108   fSetCustomMatClmassfractCmd->SetGuidance("Se    
109   fSetCustomMatClmassfractCmd->SetParameterNam    
110   fSetCustomMatClmassfractCmd->SetRange("cmClm    
111   fSetCustomMatClmassfractCmd->AvailableForSta    
112                                                   
113   fSetCustomMatKmassfractCmd = new G4UIcmdWith    
114   fSetCustomMatKmassfractCmd->SetGuidance("Set    
115   fSetCustomMatKmassfractCmd->SetParameterName    
116   fSetCustomMatKmassfractCmd->SetRange("cmKmf>    
117   fSetCustomMatKmassfractCmd->AvailableForStat    
118                                                   
119   fSetCustomMatCamassfractCmd = new G4UIcmdWit    
120   fSetCustomMatCamassfractCmd->SetGuidance("Se    
121   fSetCustomMatCamassfractCmd->SetParameterNam    
122   fSetCustomMatCamassfractCmd->SetRange("cmCam    
123   fSetCustomMatCamassfractCmd->AvailableForSta    
124                                                   
125   fPhantomMaterialCmd = new G4UIcmdWithAnInteg    
126   fPhantomMaterialCmd->SetGuidance("Set Phanto    
127   fPhantomMaterialCmd->SetParameterName("Phant    
128   fPhantomMaterialCmd->SetRange("PhantomMat>=1    
129   fPhantomMaterialCmd->AvailableForStates(G4St    
130                                                   
131   fPhantomDiameterCmd = new G4UIcmdWithADouble    
132   fPhantomDiameterCmd->SetGuidance("Set Phanto    
133   fPhantomDiameterCmd->SetParameterName("Phant    
134   fPhantomDiameterCmd->SetUnitCategory("Length    
135   fPhantomDiameterCmd->SetRange("PhantomDiamet    
136   fPhantomDiameterCmd->AvailableForStates(G4St    
137                                                   
138   fPhantomHeightCmd = new G4UIcmdWithADoubleAn    
139   fPhantomHeightCmd->SetGuidance("Set Phantom     
140   fPhantomHeightCmd->SetParameterName("Phantom    
141   fPhantomHeightCmd->SetUnitCategory("Length")    
142   fPhantomHeightCmd->SetRange("PhantomHeight>0    
143   fPhantomHeightCmd->AvailableForStates(G4Stat    
144                                                   
145   fPhantomZCmd = new G4UIcmdWithADoubleAndUnit    
146   fPhantomZCmd->SetGuidance("Set Phantom Z");     
147   fPhantomZCmd->SetParameterName("PhantomZ", f    
148   fPhantomZCmd->SetUnitCategory("Length");        
149   fPhantomZCmd->SetRange("PhantomZ>=0.");         
150   fPhantomZCmd->AvailableForStates(G4State_Pre    
151                                                   
152   fSetComp0Cmd = new G4UIcmdWithADouble("/det/    
153   fSetComp0Cmd->SetGuidance("Set Comp0 for med    
154   fSetComp0Cmd->SetParameterName("c0", false);    
155   fSetComp0Cmd->SetRange("c0>=0.");               
156   fSetComp0Cmd->AvailableForStates(G4State_Pre    
157                                                   
158   fSetComp1Cmd = new G4UIcmdWithADouble("/det/    
159   fSetComp1Cmd->SetGuidance("Set Comp1 for med    
160   fSetComp1Cmd->SetParameterName("c1", false);    
161   fSetComp1Cmd->SetRange("c1>=0.");               
162   fSetComp1Cmd->AvailableForStates(G4State_Pre    
163                                                   
164   fSetComp2Cmd = new G4UIcmdWithADouble("/det/    
165   fSetComp2Cmd->SetGuidance("Set Comp2 for med    
166   fSetComp2Cmd->SetParameterName("c2", false);    
167   fSetComp2Cmd->SetRange("c2>=0.");               
168   fSetComp2Cmd->AvailableForStates(G4State_Pre    
169                                                   
170   fSetComp3Cmd = new G4UIcmdWithADouble("/det/    
171   fSetComp3Cmd->SetGuidance("Set Comp3 for med    
172   fSetComp3Cmd->SetParameterName("c3", false);    
173   fSetComp3Cmd->SetRange("c3>=0.");               
174   fSetComp3Cmd->AvailableForStates(G4State_Pre    
175                                                   
176   fThetaSetupCmd = new G4UIcmdWithADouble("/de    
177   fThetaSetupCmd->SetGuidance("Set theta setup    
178   fThetaSetupCmd->SetParameterName("theta", fa    
179   fThetaSetupCmd->SetRange("theta>=0.");          
180   fThetaSetupCmd->AvailableForStates(G4State_P    
181                                                   
182   fSetSlitsCmd = new G4UIcmdWithABool("/det/se    
183   fSetSlitsCmd->SetGuidance("set Slits");         
184   fSetSlitsCmd->SetParameterName("fIWantSlits"    
185   fSetSlitsCmd->SetDefaultValue(false);           
186                                                   
187   fSlit1ThicknessCmd = new G4UIcmdWithADoubleA    
188   fSlit1ThicknessCmd->SetGuidance("Set Slit1 T    
189   fSlit1ThicknessCmd->SetParameterName("Slit1T    
190   fSlit1ThicknessCmd->SetUnitCategory("Length"    
191   fSlit1ThicknessCmd->SetRange("Slit1Thickness    
192   fSlit1ThicknessCmd->AvailableForStates(G4Sta    
193                                                   
194   fSlit2ThicknessCmd = new G4UIcmdWithADoubleA    
195   fSlit2ThicknessCmd->SetGuidance("Set Slit2 T    
196   fSlit2ThicknessCmd->SetParameterName("Slit2T    
197   fSlit2ThicknessCmd->SetUnitCategory("Length"    
198   fSlit2ThicknessCmd->SetRange("Slit2Thickness    
199   fSlit2ThicknessCmd->AvailableForStates(G4Sta    
200                                                   
201   fSlit3ThicknessCmd = new G4UIcmdWithADoubleA    
202   fSlit3ThicknessCmd->SetGuidance("Set Slit3 T    
203   fSlit3ThicknessCmd->SetParameterName("Slit3T    
204   fSlit3ThicknessCmd->SetUnitCategory("Length"    
205   fSlit3ThicknessCmd->SetRange("Slit3Thickness    
206   fSlit3ThicknessCmd->AvailableForStates(G4Sta    
207                                                   
208   fSlit4ThicknessCmd = new G4UIcmdWithADoubleA    
209   fSlit4ThicknessCmd->SetGuidance("Set Slit4 T    
210   fSlit4ThicknessCmd->SetParameterName("Slit4T    
211   fSlit4ThicknessCmd->SetUnitCategory("Length"    
212   fSlit4ThicknessCmd->SetRange("Slit4Thickness    
213   fSlit4ThicknessCmd->AvailableForStates(G4Sta    
214                                                   
215   fSlit1DistanceCmd = new G4UIcmdWithADoubleAn    
216   fSlit1DistanceCmd->SetGuidance("Set Slit1-to    
217   fSlit1DistanceCmd->SetParameterName("Slit1di    
218   fSlit1DistanceCmd->SetUnitCategory("Length")    
219   fSlit1DistanceCmd->SetRange("Slit1dist>0.");    
220   fSlit1DistanceCmd->AvailableForStates(G4Stat    
221                                                   
222   fSlit2DistanceCmd = new G4UIcmdWithADoubleAn    
223   fSlit2DistanceCmd->SetGuidance("Set Slit2-to    
224   fSlit2DistanceCmd->SetParameterName("Slit2di    
225   fSlit2DistanceCmd->SetUnitCategory("Length")    
226   fSlit2DistanceCmd->SetRange("Slit2dist>0.");    
227   fSlit2DistanceCmd->AvailableForStates(G4Stat    
228                                                   
229   fSlit3DistanceCmd = new G4UIcmdWithADoubleAn    
230   fSlit3DistanceCmd->SetGuidance("Set Slit3-to    
231   fSlit3DistanceCmd->SetParameterName("Slit3di    
232   fSlit3DistanceCmd->SetUnitCategory("Length")    
233   fSlit3DistanceCmd->SetRange("Slit3dist>0.");    
234   fSlit3DistanceCmd->AvailableForStates(G4Stat    
235                                                   
236   fSlit4DistanceCmd = new G4UIcmdWithADoubleAn    
237   fSlit4DistanceCmd->SetGuidance("Set Slit4-to    
238   fSlit4DistanceCmd->SetParameterName("Slit4di    
239   fSlit4DistanceCmd->SetUnitCategory("Length")    
240   fSlit4DistanceCmd->SetRange("Slit4dist>0.");    
241   fSlit4DistanceCmd->AvailableForStates(G4Stat    
242                                                   
243   fSlit1xApertureCmd = new G4UIcmdWithADoubleA    
244   fSlit1xApertureCmd->SetGuidance("Set Slit1 x    
245   fSlit1xApertureCmd->SetParameterName("Slit1x    
246   fSlit1xApertureCmd->SetUnitCategory("Length"    
247   fSlit1xApertureCmd->SetRange("Slit1xAp>0.");    
248   fSlit1xApertureCmd->AvailableForStates(G4Sta    
249                                                   
250   fSlit2xApertureCmd = new G4UIcmdWithADoubleA    
251   fSlit2xApertureCmd->SetGuidance("Set Slit2 x    
252   fSlit2xApertureCmd->SetParameterName("Slit2x    
253   fSlit2xApertureCmd->SetUnitCategory("Length"    
254   fSlit2xApertureCmd->SetRange("Slit2xAp>0.");    
255   fSlit2xApertureCmd->AvailableForStates(G4Sta    
256                                                   
257   fSlit3xApertureCmd = new G4UIcmdWithADoubleA    
258   fSlit3xApertureCmd->SetGuidance("Set Slit3 x    
259   fSlit3xApertureCmd->SetParameterName("Slit3x    
260   fSlit3xApertureCmd->SetUnitCategory("Length"    
261   fSlit3xApertureCmd->SetRange("Slit3xAp>0.");    
262   fSlit3xApertureCmd->AvailableForStates(G4Sta    
263                                                   
264   fSlit4xApertureCmd = new G4UIcmdWithADoubleA    
265   fSlit4xApertureCmd->SetGuidance("Set Slit4 x    
266   fSlit4xApertureCmd->SetParameterName("Slit4x    
267   fSlit4xApertureCmd->SetUnitCategory("Length"    
268   fSlit4xApertureCmd->SetRange("Slit4xAp>0.");    
269   fSlit4xApertureCmd->AvailableForStates(G4Sta    
270                                                   
271   fSlit1yApertureCmd = new G4UIcmdWithADoubleA    
272   fSlit1yApertureCmd->SetGuidance("Set Slit1 y    
273   fSlit1yApertureCmd->SetParameterName("Slit1y    
274   fSlit1yApertureCmd->SetUnitCategory("Length"    
275   fSlit1yApertureCmd->SetRange("Slit1yAp>0.");    
276   fSlit1yApertureCmd->AvailableForStates(G4Sta    
277                                                   
278   fSlit2yApertureCmd = new G4UIcmdWithADoubleA    
279   fSlit2yApertureCmd->SetGuidance("Set Slit2 y    
280   fSlit2yApertureCmd->SetParameterName("Slit2y    
281   fSlit2yApertureCmd->SetUnitCategory("Length"    
282   fSlit2yApertureCmd->SetRange("Slit2yAp>0.");    
283   fSlit2yApertureCmd->AvailableForStates(G4Sta    
284                                                   
285   fSlit3yApertureCmd = new G4UIcmdWithADoubleA    
286   fSlit3yApertureCmd->SetGuidance("Set Slit3 y    
287   fSlit3yApertureCmd->SetParameterName("Slit3y    
288   fSlit3yApertureCmd->SetUnitCategory("Length"    
289   fSlit3yApertureCmd->SetRange("Slit3yAp>0.");    
290   fSlit3yApertureCmd->AvailableForStates(G4Sta    
291                                                   
292   fSlit4yApertureCmd = new G4UIcmdWithADoubleA    
293   fSlit4yApertureCmd->SetGuidance("Set Slit4 y    
294   fSlit4yApertureCmd->SetParameterName("Slit4y    
295   fSlit4yApertureCmd->SetUnitCategory("Length"    
296   fSlit4yApertureCmd->SetRange("Slit4yAp>0.");    
297   fSlit4yApertureCmd->AvailableForStates(G4Sta    
298                                                   
299   fDetectorThicknessCmd = new G4UIcmdWithADoub    
300   fDetectorThicknessCmd->SetGuidance("Set Dete    
301   fDetectorThicknessCmd->SetParameterName("Det    
302   fDetectorThicknessCmd->SetUnitCategory("Leng    
303   fDetectorThicknessCmd->SetRange("DetectorThi    
304   fDetectorThicknessCmd->AvailableForStates(G4    
305                                                   
306   fDetectorSizeCmd = new G4UIcmdWithADoubleAnd    
307   fDetectorSizeCmd->SetGuidance("Set DetectorS    
308   fDetectorSizeCmd->SetParameterName("scrnsize    
309   fDetectorSizeCmd->SetUnitCategory("Length");    
310   fDetectorSizeCmd->SetRange("scrnsize>0.");      
311   fDetectorSizeCmd->AvailableForStates(G4State    
312                                                   
313   fDetectorDistanceCmd = new G4UIcmdWithADoubl    
314   fDetectorDistanceCmd->SetGuidance("Set Detec    
315   fDetectorDistanceCmd->SetParameterName("detD    
316   fDetectorDistanceCmd->SetUnitCategory("Lengt    
317   fDetectorDistanceCmd->SetRange("detDist>0.")    
318   fDetectorDistanceCmd->AvailableForStates(G4S    
319 }                                                 
320                                                   
321 //....oooOO0OOooo........oooOO0OOooo........oo    
322                                                   
323 SAXSDetectorConstructionMessenger::~SAXSDetect    
324 {                                                 
325   delete fCmdDir;                                 
326                                                   
327   delete fSetCustomMatFFfilename;                 
328   delete fSetCustomMatDensityCmd;                 
329   delete fSetCustomMatHmassfractCmd;              
330   delete fSetCustomMatCmassfractCmd;              
331   delete fSetCustomMatNmassfractCmd;              
332   delete fSetCustomMatOmassfractCmd;              
333   delete fSetCustomMatNamassfractCmd;             
334   delete fSetCustomMatPmassfractCmd;              
335   delete fSetCustomMatSmassfractCmd;              
336   delete fSetCustomMatClmassfractCmd;             
337   delete fSetCustomMatKmassfractCmd;              
338   delete fSetCustomMatCamassfractCmd;             
339                                                   
340   delete fPhantomMaterialCmd;                     
341   delete fPhantomDiameterCmd;                     
342   delete fPhantomHeightCmd;                       
343   delete fPhantomZCmd;                            
344                                                   
345   delete fSetComp0Cmd;                            
346   delete fSetComp1Cmd;                            
347   delete fSetComp2Cmd;                            
348   delete fSetComp3Cmd;                            
349                                                   
350   delete fThetaSetupCmd;                          
351                                                   
352   delete fSetSlitsCmd;                            
353   delete fSlit1ThicknessCmd;                      
354   delete fSlit2ThicknessCmd;                      
355   delete fSlit3ThicknessCmd;                      
356   delete fSlit4ThicknessCmd;                      
357   delete fSlit1DistanceCmd;                       
358   delete fSlit2DistanceCmd;                       
359   delete fSlit3DistanceCmd;                       
360   delete fSlit4DistanceCmd;                       
361   delete fSlit1xApertureCmd;                      
362   delete fSlit2xApertureCmd;                      
363   delete fSlit3xApertureCmd;                      
364   delete fSlit4xApertureCmd;                      
365   delete fSlit1yApertureCmd;                      
366   delete fSlit2yApertureCmd;                      
367   delete fSlit3yApertureCmd;                      
368   delete fSlit4yApertureCmd;                      
369                                                   
370   delete fDetectorThicknessCmd;                   
371   delete fDetectorSizeCmd;                        
372   delete fDetectorDistanceCmd;                    
373 }                                                 
374                                                   
375 //....oooOO0OOooo........oooOO0OOooo........oo    
376                                                   
377 void SAXSDetectorConstructionMessenger::SetNew    
378 {                                                 
379   if (command == fSetCustomMatFFfilename) fDet    
380                                                   
381   if (command == fSetCustomMatDensityCmd)         
382     fDetector->SetCustomMatDensity(fSetCustomM    
383                                                   
384   if (command == fSetCustomMatHmassfractCmd)      
385     fDetector->SetCustomMatHmassfract(fSetCust    
386                                                   
387   if (command == fSetCustomMatCmassfractCmd)      
388     fDetector->SetCustomMatCmassfract(fSetCust    
389   if (command == fSetCustomMatNmassfractCmd)      
390     fDetector->SetCustomMatNmassfract(fSetCust    
391   if (command == fSetCustomMatOmassfractCmd)      
392     fDetector->SetCustomMatOmassfract(fSetCust    
393   if (command == fSetCustomMatNamassfractCmd)     
394     fDetector->SetCustomMatNamassfract(fSetCus    
395   if (command == fSetCustomMatPmassfractCmd)      
396     fDetector->SetCustomMatPmassfract(fSetCust    
397   if (command == fSetCustomMatSmassfractCmd)      
398     fDetector->SetCustomMatSmassfract(fSetCust    
399   if (command == fSetCustomMatClmassfractCmd)     
400     fDetector->SetCustomMatClmassfract(fSetCus    
401   if (command == fSetCustomMatKmassfractCmd)      
402     fDetector->SetCustomMatKmassfract(fSetCust    
403   if (command == fSetCustomMatCamassfractCmd)     
404     fDetector->SetCustomMatCamassfract(fSetCus    
405                                                   
406   if (command == fPhantomMaterialCmd) {           
407     fDetector->SetPhantomMaterial(fPhantomMate    
408   }                                               
409   if (command == fPhantomDiameterCmd) {           
410     fDetector->SetPhantomDiameter(fPhantomDiam    
411   }                                               
412   if (command == fPhantomHeightCmd) {             
413     fDetector->SetPhantomHeight(fPhantomHeight    
414   }                                               
415   if (command == fPhantomZCmd) {                  
416     fDetector->SetPhantomZ(fPhantomZCmd->GetNe    
417   }                                               
418                                                   
419   if (command == fSetComp0Cmd) fDetector->SetC    
420   if (command == fSetComp1Cmd) fDetector->SetC    
421   if (command == fSetComp2Cmd) fDetector->SetC    
422   if (command == fSetComp3Cmd) fDetector->SetC    
423                                                   
424   if (command == fThetaSetupCmd)                  
425     fDetector->SetThetaSetup(fThetaSetupCmd->G    
426   if (command == fSetSlitsCmd) fDetector->SetS    
427   if (command == fSlit1ThicknessCmd)              
428     fDetector->SetSlit1Thickness(fSlit1Thickne    
429   if (command == fSlit2ThicknessCmd)              
430     fDetector->SetSlit2Thickness(fSlit2Thickne    
431   if (command == fSlit3ThicknessCmd)              
432     fDetector->SetSlit3Thickness(fSlit3Thickne    
433   if (command == fSlit4ThicknessCmd)              
434     fDetector->SetSlit4Thickness(fSlit4Thickne    
435   if (command == fSlit1DistanceCmd)               
436     fDetector->SetSlit1SampleDistance(fSlit1Di    
437   if (command == fSlit2DistanceCmd)               
438     fDetector->SetSlit2SampleDistance(fSlit2Di    
439   if (command == fSlit3DistanceCmd)               
440     fDetector->SetSlit3SampleDistance(fSlit3Di    
441   if (command == fSlit4DistanceCmd)               
442     fDetector->SetSlit4SampleDistance(fSlit4Di    
443   if (command == fSlit1xApertureCmd)              
444     fDetector->SetSlit1xAperture(fSlit1xApertu    
445   if (command == fSlit2xApertureCmd)              
446     fDetector->SetSlit2xAperture(fSlit2xApertu    
447   if (command == fSlit3xApertureCmd)              
448     fDetector->SetSlit3xAperture(fSlit3xApertu    
449   if (command == fSlit4xApertureCmd)              
450     fDetector->SetSlit4xAperture(fSlit4xApertu    
451   if (command == fSlit1yApertureCmd)              
452     fDetector->SetSlit1yAperture(fSlit1yApertu    
453   if (command == fSlit2yApertureCmd)              
454     fDetector->SetSlit2yAperture(fSlit2yApertu    
455   if (command == fSlit3yApertureCmd)              
456     fDetector->SetSlit3yAperture(fSlit3yApertu    
457   if (command == fSlit4yApertureCmd)              
458     fDetector->SetSlit4yAperture(fSlit4yApertu    
459   if (command == fDetectorThicknessCmd)           
460     fDetector->SetDetectorThickness(fDetectorT    
461   if (command == fDetectorSizeCmd)                
462     fDetector->SetDetectorSize(fDetectorSizeCm    
463   if (command == fDetectorDistanceCmd)            
464     fDetector->SetDetectorSampleDistance(fDete    
465 }                                                 
466                                                   
467 //....oooOO0OOooo........oooOO0OOooo........oo    
468