Geant4  10.02.p03
GammaRayTelDetectorMessenger Class Reference

#include <GammaRayTelDetectorMessenger.hh>

Inheritance diagram for GammaRayTelDetectorMessenger:
Collaboration diagram for GammaRayTelDetectorMessenger:

Public Member Functions

 GammaRayTelDetectorMessenger (GammaRayTelDetectorConstruction *)
 
 ~GammaRayTelDetectorMessenger ()
 
void SetNewValue (G4UIcommand *, G4String)
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Private Attributes

GammaRayTelDetectorConstructionGammaRayTelDetector
 
G4UIdirectoryGammaRayTeldetDir
 
G4UIcmdWithAStringConverterMaterCmd
 
G4UIcmdWithADoubleAndUnitConverterThickCmd
 
G4UIcmdWithADoubleAndUnitSiliconThickCmd
 
G4UIcmdWithADoubleAndUnitSiliconTileXYCmd
 
G4UIcmdWithAnIntegerNbSiTilesCmd
 
G4UIcmdWithADoubleAndUnitSiliconPitchCmd
 
G4UIcmdWithAnIntegerNbTKRLayersCmd
 
G4UIcmdWithADoubleAndUnitLayerDistanceCmd
 
G4UIcmdWithADoubleAndUnitViewsDistanceCmd
 
G4UIcmdWithADoubleAndUnitCALThickCmd
 
G4UIcmdWithAnIntegerNbCALBarsCmd
 
G4UIcmdWithAnIntegerNbCALLayersCmd
 
G4UIcmdWithADoubleAndUnitACDThickCmd
 
G4UIcmdWithADoubleAndUnitMagFieldCmd
 
G4UIcmdWithoutParameterUpdateCmd
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 56 of file GammaRayTelDetectorMessenger.hh.

Constructor & Destructor Documentation

◆ GammaRayTelDetectorMessenger()

GammaRayTelDetectorMessenger::GammaRayTelDetectorMessenger ( GammaRayTelDetectorConstruction GammaRayTelDet)

Definition at line 50 of file GammaRayTelDetectorMessenger.cc.

51  :GammaRayTelDetector(GammaRayTelDet)
52 
53 {
54  GammaRayTeldetDir = new G4UIdirectory("/payload/");
55  GammaRayTeldetDir->SetGuidance("GammaRayTel payload control.");
56 
57  // converter material command
58 
59  ConverterMaterCmd = new G4UIcmdWithAString("/payload/setConvMat",this);
60  ConverterMaterCmd->SetGuidance("Select Material of the Converter.");
61  ConverterMaterCmd->SetParameterName("choice",false);
63 
64  // converter thickness command
65 
67  ("/payload/setConvThick",this);
68  ConverterThickCmd->SetGuidance("Set Thickness of the Converter");
69  ConverterThickCmd->SetParameterName("Size",false);
70  ConverterThickCmd->SetRange("Size>=0.");
73 
74  // tracker silicon thickness command
75 
77  ("/payload/setSiThick",this);
78  SiliconThickCmd->SetGuidance("Set Thickness of the Silicon");
79  SiliconThickCmd->SetParameterName("Size",false);
80  SiliconThickCmd->SetRange("Size>=0.");
83 
84  // tracker silicon pitch command
85 
87  ("/payload/setSiPitch",this);
88  SiliconPitchCmd->SetGuidance("Set Pitch of the Silicon Strips");
89  SiliconPitchCmd->SetParameterName("Size",false);
90  SiliconPitchCmd->SetRange("Size>=0.");
93 
94  // tracker silicon tile size command
95 
97  ("/payload/setSiTileXY",this);
98  SiliconTileXYCmd->SetGuidance("Set XY dimensions of Si Tile");
99  SiliconTileXYCmd->SetParameterName("Size",false);
100  SiliconTileXYCmd->SetRange("Size>=0.");
101  SiliconTileXYCmd->SetUnitCategory("Length");
103 
104  // tracker number of silicon tiles
105 
106  NbSiTilesCmd = new G4UIcmdWithAnInteger("/payload/setNbOfSiTiles",this);
107  NbSiTilesCmd->SetGuidance("Set number of Si Tiles.");
108  NbSiTilesCmd->SetParameterName("NbSiTiles",false);
109  NbSiTilesCmd->SetRange("NbSiTiles>0 && NbSiTiles<100");
111 
112  // tracker number of silicon layers
113 
114  NbTKRLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfTKRLayers",this);
115  NbTKRLayersCmd->SetGuidance("Set number of TKR Layers.");
116  NbTKRLayersCmd->SetParameterName("NbTKRLayers",false);
117  NbTKRLayersCmd->SetRange("NbTKRLayers>0 && NbTKRLayers<30");
119 
120  // tracker layer distance
121 
123  ("/payload/setLayerDistance",this);
124  LayerDistanceCmd->SetGuidance("Set distance between two layers");
125  LayerDistanceCmd->SetParameterName("Size",false);
126  LayerDistanceCmd->SetRange("Size>=0.");
127  LayerDistanceCmd->SetUnitCategory("Length");
129 
130  // tracker views distance
131 
133  ("/payload/setViewsDistance",this);
134  ViewsDistanceCmd->SetGuidance("Set distance between X and Y views");
135  ViewsDistanceCmd->SetParameterName("Size",false);
136  ViewsDistanceCmd->SetRange("Size>=0.");
137  ViewsDistanceCmd->SetUnitCategory("Length");
139 
140  // calorimeter detector thickness
141 
143  ("/payload/setCALThick",this);
144  CALThickCmd->SetGuidance("Set thickness of CAL detectors");
145  CALThickCmd->SetParameterName("Size",false);
146  CALThickCmd->SetRange("Size>=0.");
147  CALThickCmd->SetUnitCategory("Length");
149 
150  // number calorimeter detectors
151 
152  NbCALBarsCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALBars",this);
153  NbCALBarsCmd->SetGuidance("Set number of CsI Bars.");
154  NbCALBarsCmd->SetParameterName("NbSiTiles",false);
155  NbCALBarsCmd->SetRange("NbSiTiles>0 && NbSiTiles<100");
157 
158  // number calorimeter layers
159 
160  NbCALLayersCmd = new G4UIcmdWithAnInteger("/payload/setNbOfCALLayers",this);
161  NbCALLayersCmd->SetGuidance("Set number of CAL Layers.");
162  NbCALLayersCmd->SetParameterName("NbCALLayers",false);
163  NbCALLayersCmd->SetRange("NbCALLayers>0 && NbCALLayers<16");
165 
166  // calorimeter detector thickness
167 
169  ("/payload/setACDThick",this);
170  ACDThickCmd->SetGuidance("Set thickness of ACD detectors");
171  ACDThickCmd->SetParameterName("Size",false);
172  ACDThickCmd->SetRange("Size>=0.");
173  ACDThickCmd->SetUnitCategory("Length");
175 
176  // update Payload
177 
178  UpdateCmd = new G4UIcmdWithoutParameter("/payload/update",this);
179  UpdateCmd->SetGuidance("Update payload geometry.");
180  UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
181  UpdateCmd->SetGuidance("if you changed geometrical value(s).");
183 
184  // magnetic field
185 
186  MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/payload/setField",this);
187  MagFieldCmd->SetGuidance("Define magnetic field.");
188  MagFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
189  MagFieldCmd->SetParameterName("Bz",false);
190  MagFieldCmd->SetUnitCategory("Magnetic flux density");
192 }
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithADoubleAndUnit * CALThickCmd
G4UIcmdWithADoubleAndUnit * ConverterThickCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithADoubleAndUnit * LayerDistanceCmd
G4UIcmdWithADoubleAndUnit * SiliconPitchCmd
GammaRayTelDetectorConstruction * GammaRayTelDetector
void SetUnitCategory(const char *unitCategory)
G4UIcmdWithADoubleAndUnit * SiliconThickCmd
G4UIcmdWithADoubleAndUnit * SiliconTileXYCmd
void SetRange(const char *rs)
Definition: G4UIcommand.hh:125
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
G4UIcmdWithADoubleAndUnit * ACDThickCmd
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:239
G4UIcmdWithADoubleAndUnit * MagFieldCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithADoubleAndUnit * ViewsDistanceCmd
Here is the call graph for this function:

◆ ~GammaRayTelDetectorMessenger()

GammaRayTelDetectorMessenger::~GammaRayTelDetectorMessenger ( )

Definition at line 196 of file GammaRayTelDetectorMessenger.cc.

197 {
198  delete ConverterMaterCmd; delete ConverterThickCmd;
199  delete NbSiTilesCmd; delete NbTKRLayersCmd;
200  delete SiliconTileXYCmd; delete SiliconPitchCmd;
201  delete SiliconThickCmd; delete LayerDistanceCmd;
202  delete ViewsDistanceCmd; delete ACDThickCmd;
203  delete NbCALLayersCmd; delete NbCALBarsCmd;
204  delete CALThickCmd; delete UpdateCmd;
205  delete MagFieldCmd; delete GammaRayTeldetDir;
206 }
G4UIcmdWithADoubleAndUnit * CALThickCmd
G4UIcmdWithADoubleAndUnit * ConverterThickCmd
G4UIcmdWithADoubleAndUnit * LayerDistanceCmd
G4UIcmdWithADoubleAndUnit * SiliconPitchCmd
G4UIcmdWithADoubleAndUnit * SiliconThickCmd
G4UIcmdWithADoubleAndUnit * SiliconTileXYCmd
G4UIcmdWithADoubleAndUnit * ACDThickCmd
G4UIcmdWithADoubleAndUnit * MagFieldCmd
G4UIcmdWithADoubleAndUnit * ViewsDistanceCmd

Member Function Documentation

◆ SetNewValue()

void GammaRayTelDetectorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 210 of file GammaRayTelDetectorMessenger.cc.

211 {
212 
213  // converter
214 
215  if( command == ConverterMaterCmd )
217 
218  if( command == ConverterThickCmd )
220 
221  // tracker
222 
223  if( command == SiliconTileXYCmd )
225 
226  if( command == SiliconPitchCmd )
228 
229  if( command == SiliconThickCmd )
231 
232  if( command == NbSiTilesCmd )
234 
235  if( command == NbTKRLayersCmd )
237 
238  if( command == LayerDistanceCmd )
240 
241  if( command == ViewsDistanceCmd )
243 
244  // calorimeter
245 
246  if( command == NbCALLayersCmd )
248 
249  if( command == NbCALBarsCmd )
251 
252  if( command == CALThickCmd )
254 
255  // anticoincidence
256 
257  if( command == ACDThickCmd )
259 
260  if( command == UpdateCmd )
262 
263  if( command == MagFieldCmd )
265 }
G4UIcmdWithADoubleAndUnit * CALThickCmd
G4UIcmdWithADoubleAndUnit * ConverterThickCmd
static G4int GetNewIntValue(const char *paramString)
G4UIcmdWithADoubleAndUnit * LayerDistanceCmd
G4UIcmdWithADoubleAndUnit * SiliconPitchCmd
GammaRayTelDetectorConstruction * GammaRayTelDetector
static G4double GetNewDoubleValue(const char *paramString)
G4UIcmdWithADoubleAndUnit * SiliconThickCmd
G4UIcmdWithADoubleAndUnit * SiliconTileXYCmd
G4UIcmdWithADoubleAndUnit * ACDThickCmd
G4UIcmdWithADoubleAndUnit * MagFieldCmd
G4UIcmdWithADoubleAndUnit * ViewsDistanceCmd
Here is the call graph for this function:

Member Data Documentation

◆ ACDThickCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::ACDThickCmd
private

Definition at line 95 of file GammaRayTelDetectorMessenger.hh.

◆ CALThickCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::CALThickCmd
private

Definition at line 89 of file GammaRayTelDetectorMessenger.hh.

◆ ConverterMaterCmd

G4UIcmdWithAString* GammaRayTelDetectorMessenger::ConverterMaterCmd
private

Definition at line 71 of file GammaRayTelDetectorMessenger.hh.

◆ ConverterThickCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::ConverterThickCmd
private

Definition at line 72 of file GammaRayTelDetectorMessenger.hh.

◆ GammaRayTeldetDir

G4UIdirectory* GammaRayTelDetectorMessenger::GammaRayTeldetDir
private

Definition at line 67 of file GammaRayTelDetectorMessenger.hh.

◆ GammaRayTelDetector

GammaRayTelDetectorConstruction* GammaRayTelDetectorMessenger::GammaRayTelDetector
private

Definition at line 65 of file GammaRayTelDetectorMessenger.hh.

◆ LayerDistanceCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::LayerDistanceCmd
private

Definition at line 84 of file GammaRayTelDetectorMessenger.hh.

◆ MagFieldCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::MagFieldCmd
private

Definition at line 99 of file GammaRayTelDetectorMessenger.hh.

◆ NbCALBarsCmd

G4UIcmdWithAnInteger* GammaRayTelDetectorMessenger::NbCALBarsCmd
private

Definition at line 90 of file GammaRayTelDetectorMessenger.hh.

◆ NbCALLayersCmd

G4UIcmdWithAnInteger* GammaRayTelDetectorMessenger::NbCALLayersCmd
private

Definition at line 91 of file GammaRayTelDetectorMessenger.hh.

◆ NbSiTilesCmd

G4UIcmdWithAnInteger* GammaRayTelDetectorMessenger::NbSiTilesCmd
private

Definition at line 78 of file GammaRayTelDetectorMessenger.hh.

◆ NbTKRLayersCmd

G4UIcmdWithAnInteger* GammaRayTelDetectorMessenger::NbTKRLayersCmd
private

Definition at line 83 of file GammaRayTelDetectorMessenger.hh.

◆ SiliconPitchCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::SiliconPitchCmd
private

Definition at line 79 of file GammaRayTelDetectorMessenger.hh.

◆ SiliconThickCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::SiliconThickCmd
private

Definition at line 76 of file GammaRayTelDetectorMessenger.hh.

◆ SiliconTileXYCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::SiliconTileXYCmd
private

Definition at line 77 of file GammaRayTelDetectorMessenger.hh.

◆ UpdateCmd

G4UIcmdWithoutParameter* GammaRayTelDetectorMessenger::UpdateCmd
private

Definition at line 100 of file GammaRayTelDetectorMessenger.hh.

◆ ViewsDistanceCmd

G4UIcmdWithADoubleAndUnit* GammaRayTelDetectorMessenger::ViewsDistanceCmd
private

Definition at line 85 of file GammaRayTelDetectorMessenger.hh.


The documentation for this class was generated from the following files: