Class ScannableMotor

All Implemented Interfaces:
INeXusInfoWriteable, ControllerRecord, Device, IScannableMotor, Scannable, ScannableMotion, ScannableMotionUnits, Configurable, Findable, gda.observable.IObservable
Direct Known Subclasses:
AirBearingScannableMotor, B18EnergyScannable, ControllerScannable, Crystal1PitchScannable, IdealBaseX, QexafsScannable, ScannableAttenuatorWedge, SmarGonScannableMotor, TrajectoryScannableMotor, TurboXasScannable, TweakableScannableMotor, ZebraScannableMotor, ZebraScannableMotorForQexafs

Adapter class for motor to work as scannables. This class uses units and has an offset/scaling factor for the motor position.

The returned position (user position) is calculated by:

userPosition = (motorPosition*scalingFactor) + offset

GDALimits are based on the userPosition, but must be in the same units as the motor.

  • Field Details

    • COPY_MOTOR_LIMITS_INTO_SCANNABLE_LIMITS

      public static final String COPY_MOTOR_LIMITS_INTO_SCANNABLE_LIMITS
      Name of java property which when set true causes the upper invalid input: '&' lower gda limits to be set from the motor limits if not already set. Due to the possibility the motor high limit can be associated with a gda low limit we cannot separate out the setting of the upper gda limit without also setting the lower gda limit and vice versa. If the motor lower and upper limits are not set they are taken to be -Double.MAX_VALUE and Double.MAX_VALUE respectively.
      See Also:
  • Constructor Details

    • ScannableMotor

      public ScannableMotor()
  • Method Details