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)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetRegionSensitive(G4bool val=true)
void SetParameter(G4UIparameter *const newParameter)
void SetPhiMin(G4double val)
CLHEP::Hep3Vector G4ThreeVector
void SetParameterRange(const char *theRange)
void SetParameterCandidates(const char *theString)
void SetPhiSpan(G4double val)
void SetDefaultUnit(const char *defUnit)
virtual ~G4MatScanMessenger()
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
G4bool SetRegionName(const G4String &val)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetDefaultValue(const char *theDefaultValue)
G4ThreeVector GetEyePosition() const
static G4String ConvertToString(G4bool boolVal)
void SetThetaMin(G4double val)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
G4double GetThetaMin() const
static G4bool GetNewBoolValue(const char *paramString)
virtual void SetNewValue(G4UIcommand *command, G4String newValue)
void SetDefaultValue(G4bool defVal)
G4MatScanMessenger(G4MaterialScanner *p1)
G4String GetRegionName() const
void SetEyePosition(const G4ThreeVector &val)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
static G4String UnitsList(const char *unitCategory)
void SetGuidance(const char *aGuidance)
void SetThetaSpan(G4double val)
void AvailableForStates(G4ApplicationState s1)
G4double GetPhiMin() const
void SetDefaultValue(G4ThreeVector defVal)
G4double GetPhiSpan() const
G4bool GetRegionSensitive() const
void SetDefaultValue(const char *defVal)
G4double StoD(G4String s)
static G4double ValueOf(const char *unitName)
static constexpr double deg
void SetNTheta(G4int val)
static G4String CategoryOf(const char *unitName)
virtual G4String GetCurrentValue(G4UIcommand *command)
G4double GetThetaSpan() const