52 msDirectory->
SetGuidance(
"Material scanner commands.");
56 scanCmd->
SetGuidance(
"Scanning range should be defined with");
57 scanCmd->
SetGuidance(
"/control/matScan/theta and /control/matSca/phi commands.");
60 thetaCmd =
new G4UIcommand(
"/control/matScan/theta",
this);
62 thetaCmd->
SetGuidance(
"Usage : /control/matScan/theta [nbin] [thetaMin] [thetaSpan] [unit]");
64 thetaCmd->
SetGuidance(
" theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.");
79 phiCmd =
new G4UIcommand(
"/control/matScan/phi",
this);
81 phiCmd->
SetGuidance(
"Usage : /control/matScan/phi [nbin] [phiMin] [phiSpan] [unit]");
83 phiCmd->
SetGuidance(
" phi --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : 180 deg. / -Y axis : 270 deg.");
98 singleCmd =
new G4UIcommand(
"/control/matScan/singleMeasure",
this);
99 singleCmd->
SetGuidance(
"Measure thickness for one particular direction.");
101 singleCmd->
SetGuidance(
" theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.");
102 singleCmd->
SetGuidance(
" phi --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : 180 deg. / -Y axis : 270 deg.");
114 single2Cmd->
SetGuidance(
"Measure thicknesss for one direction defined by a unit vector.");
118 eyePosCmd->
SetGuidance(
"Define the eye position.");
123 regSenseCmd =
new G4UIcmdWithABool(
"/control/matScan/regionSensitive",
this);
124 regSenseCmd->
SetGuidance(
"Set region sensitivity.");
125 regSenseCmd->
SetGuidance(
"This command is automatically set to TRUE");
126 regSenseCmd->
SetGuidance(
" if /control/matScan/region command is issued.");
131 regionCmd->
SetGuidance(
"Define region name to be scanned.");
132 regionCmd->
SetGuidance(
"/control/matScan/regionSensitive command is automatically");
133 regionCmd->
SetGuidance(
"set to TRUE with this command.");
154 if(command==thetaCmd)
162 else if(command==phiCmd)
170 else if(command==eyePosCmd)
172 else if(command==regSenseCmd)
174 else if(command==regionCmd)
182 { theScanner->
Scan(); }
183 else if(command==thetaCmd)
190 thetaMin *= thetaCmd->
ValueOf(unit);
191 thetaSpan *= thetaCmd->
ValueOf(unit);
196 else if(command==phiCmd)
203 phiMin *= phiCmd->
ValueOf(unit);
204 phiSpan *= phiCmd->
ValueOf(unit);
209 else if(command==eyePosCmd)
211 else if(command==regSenseCmd)
213 else if(command==regionCmd)
215 else if(command==singleCmd || command==single2Cmd)
226 if(command==singleCmd)
229 theta =
StoD(next());
232 theta *= singleCmd->
ValueOf(unit);
233 phi *= singleCmd->
ValueOf(unit);
235 else if(command==single2Cmd)