Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/iort_therapy/src/IORTPrimaryGeneratorMessenger.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/iort_therapy/src/IORTPrimaryGeneratorMessenger.cc (Version 11.3.0) and /examples/advanced/iort_therapy/src/IORTPrimaryGeneratorMessenger.cc (Version 8.1)


  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 // This is the *BASIC* version of IORT, a Gean    
 27 //                                                
 28 // Main Authors: G.Russo(a,b), C.Casarino*(c),    
 29 // Contributor Authors: S.Guatelli(e)             
 30 // Past Authors: G.Arnetta(c), S.E.Mazzaglia(d    
 31 //                                                
 32 //   (a) Fondazione Istituto San Raffaele G.Gi    
 33 //   (b) IBFM-CNR , Segrate (Milano), Italy       
 34 //   (c) LATO (Laboratorio di Tecnologie Oncol    
 35 //   (d) Laboratori Nazionali del Sud of the I    
 36 //   (e) University of Wollongong, Australia      
 37 //                                                
 38 //   *Corresponding author, email to carlo.cas    
 39 //////////////////////////////////////////////    
 40                                                   
 41 #include "IORTPrimaryGeneratorMessenger.hh"       
 42 #include "IORTPrimaryGeneratorAction.hh"          
 43 #include "G4UIdirectory.hh"                       
 44 #include "G4UIcmdWithADoubleAndUnit.hh"           
 45 #include "G4UIcmdWithADouble.hh"                  
 46                                                   
 47 IORTPrimaryGeneratorMessenger::IORTPrimaryGene    
 48                                              I    
 49 :IORTAction(IORTGun)                              
 50 {                                                 
 51   //                                              
 52   // Definition of the interactive commands to    
 53   // generation of primary particles              
 54   //                                              
 55  beamParametersDir = new G4UIdirectory("/beam/    
 56  beamParametersDir -> SetGuidance("set paramet    
 57                                                   
 58  EnergyDir = new G4UIdirectory("/beam/energy/"    
 59  EnergyDir -> SetGuidance ("set energy of beam    
 60                                                   
 61  particlePositionDir = new G4UIdirectory("/bea    
 62  particlePositionDir -> SetGuidance ("set posi    
 63                                                   
 64                                                   
 65                                                   
 66                                                   
 67  MomentumDir = new G4UIdirectory("/beam/moment    
 68  MomentumDir -> SetGuidance ("set momentum of     
 69                                                   
 70                                                   
 71  ThetaCmd = new G4UIcmdWithADoubleAndUnit("/be    
 72  ThetaCmd -> SetGuidance("set Theta");            
 73  ThetaCmd -> SetParameterName("Theta",false);     
 74  ThetaCmd -> SetDefaultUnit("deg");               
 75  ThetaCmd -> SetUnitCandidates("deg rad");        
 76  ThetaCmd -> AvailableForStates(G4State_PreIni    
 77                                                   
 78                                                   
 79 /*                                                
 80  sigmaMomentumYCmd = new G4UIcmdWithADouble("/    
 81  sigmaMomentumYCmd -> SetGuidance("set sigma m    
 82  sigmaMomentumYCmd -> SetParameterName("moment    
 83  sigmaMomentumYCmd -> AvailableForStates(G4Sta    
 84                                                   
 85  sigmaMomentumZCmd = new G4UIcmdWithADouble("/    
 86  sigmaMomentumZCmd -> SetGuidance("set sigma m    
 87  sigmaMomentumZCmd -> SetParameterName("moment    
 88  sigmaMomentumZCmd -> AvailableForStates(G4Sta    
 89  */                                               
 90  meanKineticEnergyCmd = new G4UIcmdWithADouble    
 91  meanKineticEnergyCmd -> SetGuidance("set mean    
 92  meanKineticEnergyCmd -> SetParameterName("Ene    
 93  meanKineticEnergyCmd -> SetDefaultUnit("MeV")    
 94  meanKineticEnergyCmd -> SetUnitCandidates("eV    
 95  meanKineticEnergyCmd -> AvailableForStates(G4    
 96                                                   
 97  sigmaEnergyCmd = new G4UIcmdWithADoubleAndUni    
 98  sigmaEnergyCmd -> SetGuidance("set sigma ener    
 99  sigmaEnergyCmd -> SetParameterName("Energy",f    
100  sigmaEnergyCmd -> SetDefaultUnit("keV");         
101  sigmaEnergyCmd -> SetUnitCandidates("eV keV M    
102  sigmaEnergyCmd -> AvailableForStates(G4State_    
103                                                   
104  XpositionCmd = new G4UIcmdWithADoubleAndUnit(    
105  XpositionCmd -> SetGuidance("set x coordinate    
106  XpositionCmd -> SetParameterName("position",f    
107  XpositionCmd -> SetDefaultUnit("mm");            
108  XpositionCmd -> SetUnitCandidates("mm cm m");    
109  XpositionCmd -> AvailableForStates(G4State_Pr    
110                                                   
111  YpositionCmd = new G4UIcmdWithADoubleAndUnit(    
112  YpositionCmd -> SetGuidance("set y coordinate    
113  YpositionCmd -> SetParameterName("position",f    
114  YpositionCmd -> SetDefaultUnit("mm");            
115  YpositionCmd -> SetUnitCandidates("mm cm m");    
116  YpositionCmd -> AvailableForStates(G4State_Pr    
117                                                   
118  sigmaYCmd = new G4UIcmdWithADoubleAndUnit("/b    
119  sigmaYCmd -> SetGuidance("set sigma y");         
120  sigmaYCmd -> SetParameterName("position",fals    
121  sigmaYCmd -> SetDefaultUnit("mm");               
122  sigmaYCmd -> SetUnitCandidates("mm cm m");       
123  sigmaYCmd -> AvailableForStates(G4State_PreIn    
124                                                   
125  ZpositionCmd = new G4UIcmdWithADoubleAndUnit(    
126  ZpositionCmd -> SetGuidance("set z coordinate    
127  ZpositionCmd -> SetParameterName("position",f    
128  ZpositionCmd -> SetDefaultUnit("mm");            
129  ZpositionCmd -> SetUnitCandidates("mm cm m");    
130  ZpositionCmd -> AvailableForStates(G4State_Pr    
131                                                   
132  sigmaZCmd = new G4UIcmdWithADoubleAndUnit("/b    
133  sigmaZCmd -> SetGuidance("set sigma z");         
134  sigmaZCmd -> SetParameterName("position",fals    
135  sigmaZCmd -> SetDefaultUnit("mm");               
136  sigmaZCmd -> SetUnitCandidates("mm cm m");       
137  sigmaZCmd -> AvailableForStates(G4State_PreIn    
138 }                                                 
139                                                   
140 IORTPrimaryGeneratorMessenger::~IORTPrimaryGen    
141 {                                                 
142   delete beamParametersDir;                       
143   delete EnergyDir;                               
144   delete meanKineticEnergyCmd;                    
145   delete sigmaEnergyCmd;                          
146   delete particlePositionDir;                     
147   delete MomentumDir;                             
148   delete XpositionCmd;                            
149   delete YpositionCmd;                            
150   delete ZpositionCmd;                            
151   delete sigmaYCmd;                               
152   delete sigmaZCmd;                               
153   delete ThetaCmd;                                
154 //  delete sigmaMomentumYCmd;                     
155 //  delete sigmaMomentumZCmd;                     
156 }                                                 
157                                                   
158 void IORTPrimaryGeneratorMessenger::SetNewValu    
159 {                                                 
160   if ( command == meanKineticEnergyCmd )          
161     { IORTAction -> SetmeanKineticEnergy(meanK    
162               -> GetNewDoubleValue(newValue));    
163   if ( command == sigmaEnergyCmd )                
164     { IORTAction -> SetsigmaEnergy(sigmaEnergy    
165               -> GetNewDoubleValue(newValue));    
166   if ( command == XpositionCmd )                  
167     { IORTAction -> SetXposition(XpositionCmd     
168             -> GetNewDoubleValue(newValue));}     
169                                                   
170   if ( command == YpositionCmd )                  
171     { IORTAction -> SetYposition(YpositionCmd     
172             -> GetNewDoubleValue(newValue));}     
173                                                   
174   if ( command == ZpositionCmd )                  
175     { IORTAction -> SetZposition(ZpositionCmd     
176             -> GetNewDoubleValue(newValue));}     
177                                                   
178   if ( command == sigmaYCmd )                     
179     { IORTAction -> SetsigmaY(sigmaYCmd           
180                -> GetNewDoubleValue(newValue))    
181                                                   
182   if ( command == sigmaZCmd )                     
183     { IORTAction -> SetsigmaZ(sigmaZCmd           
184                -> GetNewDoubleValue(newValue))    
185                                                   
186 if ( command == ThetaCmd )                        
187     { IORTAction -> SetTheta(ThetaCmd             
188                -> GetNewDoubleValue(newValue))    
189                                                   
190                                                   
191 /*                                                
192   if ( command == sigmaMomentumYCmd )             
193     { IORTAction -> SetsigmaMomentumY(sigmaMom    
194                  -> GetNewDoubleValue(newValue    
195                                                   
196   if ( command == sigmaMomentumZCmd )             
197     { IORTAction -> SetsigmaMomentumZ(sigmaMom    
198                  -> GetNewDoubleValue(newValue    
199 */                                                
200 }                                                 
201