Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/field/field03/src/F03DetectorMessenger.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/field/field03/src/F03DetectorMessenger.cc (Version 11.3.0) and /examples/extended/field/field03/src/F03DetectorMessenger.cc (Version 3.2)


  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 field/field03/src/F03DetectorMesseng    
 27 /// \brief Implementation of the F03DetectorMe    
 28 //                                                
 29 //                                                
 30 //                                                
 31 //                                                
 32 //....oooOO0OOooo........oooOO0OOooo........oo    
 33 //....oooOO0OOooo........oooOO0OOooo........oo    
 34                                                   
 35 #include "F03DetectorMessenger.hh"                
 36                                                   
 37 #include "F03DetectorConstruction.hh"             
 38                                                   
 39 #include "G4UIcmdWithADoubleAndUnit.hh"           
 40 #include "G4UIcmdWithAString.hh"                  
 41 #include "G4UIcmdWith3VectorAndUnit.hh"           
 42 #include "G4UIcmdWithoutParameter.hh"             
 43                                                   
 44 //....oooOO0OOooo........oooOO0OOooo........oo    
 45                                                   
 46 F03DetectorMessenger::F03DetectorMessenger(F03    
 47 {                                                 
 48   fDetDir = new G4UIdirectory("/calor/");         
 49   fDetDir->SetGuidance("F03 detector control."    
 50                                                   
 51   fAbsMaterCmd = new G4UIcmdWithAString("/calo    
 52   fAbsMaterCmd->SetGuidance("Select Material o    
 53   fAbsMaterCmd->SetParameterName("choice", tru    
 54   fAbsMaterCmd->SetDefaultValue("Lead");          
 55   fAbsMaterCmd->AvailableForStates(G4State_Idl    
 56   fAbsMaterCmd->SetToBeBroadcasted(false);        
 57                                                   
 58   fWorldMaterCmd = new G4UIcmdWithAString("/ca    
 59   fWorldMaterCmd->SetGuidance("Select Material    
 60   fWorldMaterCmd->SetParameterName("wchoice",     
 61   fWorldMaterCmd->SetDefaultValue("Air");         
 62   fWorldMaterCmd->AvailableForStates(G4State_I    
 63   fWorldMaterCmd->SetToBeBroadcasted(false);      
 64                                                   
 65   fAbsThickCmd = new G4UIcmdWithADoubleAndUnit    
 66   fAbsThickCmd->SetGuidance("Set Thickness of     
 67   fAbsThickCmd->SetParameterName("SizeZ", fals    
 68   fAbsThickCmd->SetDefaultUnit("mm");             
 69   fAbsThickCmd->SetRange("SizeZ>0.");             
 70   fAbsThickCmd->AvailableForStates(G4State_Idl    
 71   fAbsThickCmd->SetToBeBroadcasted(false);        
 72                                                   
 73   fAbsRadCmd = new G4UIcmdWithADoubleAndUnit("    
 74   fAbsRadCmd->SetGuidance("Set radius of the A    
 75   fAbsRadCmd->SetParameterName("SizeR", false,    
 76   fAbsRadCmd->SetDefaultUnit("mm");               
 77   fAbsRadCmd->SetRange("SizeR>0.");               
 78   fAbsRadCmd->AvailableForStates(G4State_Idle)    
 79   fAbsRadCmd->SetToBeBroadcasted(false);          
 80                                                   
 81   fAbsZposCmd = new G4UIcmdWithADoubleAndUnit(    
 82   fAbsZposCmd->SetGuidance("Set Z pos. of the     
 83   fAbsZposCmd->SetParameterName("Zpos", false,    
 84   fAbsZposCmd->SetDefaultUnit("mm");              
 85   fAbsZposCmd->AvailableForStates(G4State_Idle    
 86   fAbsZposCmd->SetToBeBroadcasted(false);         
 87                                                   
 88   fWorldZCmd = new G4UIcmdWithADoubleAndUnit("    
 89   fWorldZCmd->SetGuidance("Set Z size of the W    
 90   fWorldZCmd->SetParameterName("WSizeZ", false    
 91   fWorldZCmd->SetDefaultUnit("mm");               
 92   fWorldZCmd->SetRange("WSizeZ>0.");              
 93   fWorldZCmd->AvailableForStates(G4State_Idle)    
 94   fWorldZCmd->SetToBeBroadcasted(false);          
 95                                                   
 96   fWorldRCmd = new G4UIcmdWithADoubleAndUnit("    
 97   fWorldRCmd->SetGuidance("Set R size of the W    
 98   fWorldRCmd->SetParameterName("WSizeR", false    
 99   fWorldRCmd->SetDefaultUnit("mm");               
100   fWorldRCmd->SetRange("WSizeR>0.");              
101   fWorldRCmd->AvailableForStates(G4State_Idle)    
102   fWorldRCmd->SetToBeBroadcasted(false);          
103                                                   
104   // moved from FieldSetup (depends on the use    
105   fFieldDir = new G4UIdirectory("/field03/");     
106   fFieldDir->SetGuidance("F03 field control.")    
107                                                   
108   fMagFieldCmd = new G4UIcmdWith3VectorAndUnit    
109   fMagFieldCmd->SetGuidance("Define magnetic f    
110   fMagFieldCmd->SetParameterName("Bx", "By", "    
111   fMagFieldCmd->SetDefaultUnit("tesla");          
112   fMagFieldCmd->AvailableForStates(G4State_Idl    
113                                                   
114   fLocalMagFieldCmd = new G4UIcmdWith3VectorAn    
115   fLocalMagFieldCmd->SetGuidance("Define magne    
116   fLocalMagFieldCmd->SetParameterName("Bx", "B    
117   fLocalMagFieldCmd->SetDefaultUnit("tesla");     
118   fLocalMagFieldCmd->AvailableForStates(G4Stat    
119 }                                                 
120                                                   
121 //....oooOO0OOooo........oooOO0OOooo........oo    
122                                                   
123 F03DetectorMessenger::~F03DetectorMessenger()     
124 {                                                 
125   delete fAbsMaterCmd;                            
126   delete fAbsThickCmd;                            
127   delete fAbsRadCmd;                              
128   delete fAbsZposCmd;                             
129   delete fWorldMaterCmd;                          
130   delete fWorldZCmd;                              
131   delete fWorldRCmd;                              
132   delete fDetDir;                                 
133   delete fLocalMagFieldCmd;                       
134   delete fMagFieldCmd;                            
135   delete fFieldDir;                               
136 }                                                 
137                                                   
138 //....oooOO0OOooo........oooOO0OOooo........oo    
139                                                   
140 void F03DetectorMessenger::SetNewValue(G4UIcom    
141 {                                                 
142   if (command == fAbsMaterCmd) {                  
143     fDetector->SetAbsorberMaterial(newValue);     
144   }                                               
145                                                   
146   if (command == fWorldMaterCmd) {                
147     fDetector->SetWorldMaterial(newValue);        
148   }                                               
149                                                   
150   if (command == fAbsThickCmd) {                  
151     fDetector->SetAbsorberThickness(fAbsThickC    
152   }                                               
153                                                   
154   if (command == fAbsRadCmd) {                    
155     fDetector->SetAbsorberRadius(fAbsRadCmd->G    
156   }                                               
157                                                   
158   if (command == fAbsZposCmd) {                   
159     fDetector->SetAbsorberZpos(fAbsZposCmd->Ge    
160   }                                               
161                                                   
162   if (command == fWorldZCmd) {                    
163     fDetector->SetWorldSizeZ(fWorldZCmd->GetNe    
164   }                                               
165                                                   
166   if (command == fWorldRCmd) {                    
167     fDetector->SetWorldSizeR(fWorldRCmd->GetNe    
168   }                                               
169                                                   
170   if( command == fMagFieldCmd ) {                 
171     fDetector->SetFieldValue(fMagFieldCmd->Get    
172   }                                               
173                                                   
174   if( command == fLocalMagFieldCmd ) {            
175     fDetector->SetLocalFieldValue(fLocalMagFie    
176   }                                               
177 }                                                 
178                                                   
179 //....oooOO0OOooo........oooOO0OOooo........oo    
180