52 msDirectory->
SetGuidance(
"Material scanner commands.");
56 scanCmd->
SetGuidance(
"Scanning range should be defined with");
58 "/control/matScan/theta and /control/matSca/phi commands.");
61 thetaCmd =
new G4UIcommand(
"/control/matScan/theta",
this);
64 "Usage : /control/matScan/theta [nbin] [thetaMin] [thetaSpan] [unit]");
67 " theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.");
82 phiCmd =
new G4UIcommand(
"/control/matScan/phi",
this);
85 "Usage : /control/matScan/phi [nbin] [phiMin] [phiSpan] [unit]");
88 " phi --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : 180 "
89 "deg. / -Y axis : 270 deg.");
104 singleCmd =
new G4UIcommand(
"/control/matScan/singleMeasure",
this);
105 singleCmd->
SetGuidance(
"Measure thickness for one particular direction.");
108 " theta --- +Z axis : +90 deg. / X-Y plane : 0 deg. / -Z axis : -90 deg.");
110 " phi --- +X axis : 0 deg. / +Y axis : 90 deg. / -X axis : "
111 "180 deg. / -Y axis : 270 deg.");
125 "Measure thickness for one direction defined by a unit vector.");
130 eyePosCmd->
SetGuidance(
"Define the eye position.");
135 regSenseCmd =
new G4UIcmdWithABool(
"/control/matScan/regionSensitive",
this);
136 regSenseCmd->
SetGuidance(
"Set region sensitivity.");
137 regSenseCmd->
SetGuidance(
"This command is automatically set to TRUE");
138 regSenseCmd->
SetGuidance(
" if /control/matScan/region command is issued.");
143 regionCmd->
SetGuidance(
"Define region name to be scanned.");
145 "/control/matScan/regionSensitive command is automatically");
146 regionCmd->
SetGuidance(
"set to TRUE with this command.");
169 if(command == thetaCmd)
179 else if(command == phiCmd)
187 else if(command == eyePosCmd)
192 else if(command == regSenseCmd)
197 else if(command == regionCmd)
207 if(command == scanCmd)
211 else if(command == thetaCmd)
218 thetaMin *= thetaCmd->
ValueOf(unit);
219 thetaSpan *= thetaCmd->
ValueOf(unit);
224 else if(command == phiCmd)
231 phiMin *= phiCmd->
ValueOf(unit);
232 phiSpan *= phiCmd->
ValueOf(unit);
237 else if(command == eyePosCmd)
241 else if(command == regSenseCmd)
245 else if(command == regionCmd)
250 else if(command == singleCmd || command == single2Cmd)
261 if(command == singleCmd)
264 theta =
StoD(next());
267 theta *= singleCmd->
ValueOf(unit);
268 phi *= singleCmd->
ValueOf(unit);
270 else if(command == single2Cmd)
273 theta = 90. * deg - v.
theta();
CLHEP::Hep3Vector G4ThreeVector
virtual ~G4MatScanMessenger()
virtual G4String GetCurrentValue(G4UIcommand *command)
G4MatScanMessenger(G4MaterialScanner *p1)
virtual void SetNewValue(G4UIcommand *command, G4String newValue)
G4bool GetRegionSensitive() const
void SetThetaSpan(G4double val)
G4bool SetRegionName(const G4String &val)
G4double GetThetaMin() const
void SetRegionSensitive(G4bool val=true)
void SetThetaMin(G4double val)
G4double GetThetaSpan() const
void SetPhiMin(G4double val)
void SetEyePosition(const G4ThreeVector &val)
void SetPhiSpan(G4double val)
G4ThreeVector GetEyePosition() const
G4double GetPhiMin() const
const G4String & GetRegionName() const
G4double GetPhiSpan() const
void SetNTheta(G4int val)
void SetDefaultUnit(const char *defUnit)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const G4ThreeVector &defVal)
static G4ThreeVector GetNew3VectorValue(const char *paramString)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
static G4bool GetNewBoolValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4bool defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const char *defVal)
static G4String CategoryOf(const char *unitName)
static G4double ValueOf(const char *unitName)
static G4String ConvertToString(G4bool boolVal)
void SetParameter(G4UIparameter *const newParameter)
void SetGuidance(const char *aGuidance)
static G4String UnitsList(const char *unitCategory)
void AvailableForStates(G4ApplicationState s1)
G4double StoD(const G4String &s)
G4int StoI(const G4String &s)
void SetDefaultValue(const char *theDefaultValue)
void SetParameterRange(const char *theRange)
void SetParameterCandidates(const char *theString)