Class DeferredScannableGroup

All Implemented Interfaces:
Device, Scannable, IScannableGroup, Configurable, Findable, gda.observable.IObservable, gda.observable.IObserver
Direct Known Subclasses:
DeferredAndTrajectoryScannableGroup

public class DeferredScannableGroup extends CoordinatedScannableGroup
Controls a collection of Motors so that they moved via the Epics deferred move mechanism.

WARNING: Extending CoordinatedScannableGroup, the individual axes will be wrapped in ICoordinatedElementScannables which will hide any methods which are not in the Scannable, ScannableMotion or ScannableMotionUnits interface.

  • Constructor Details

    • DeferredScannableGroup

      public DeferredScannableGroup()
  • Method Details

    • configure

      public void configure() throws FactoryException
      Description copied from class: ConfigurableBase
      Default implementation for classes that do not have to do any specific configuration.
      Classes that do their own configuration should *not* call this superclass function, as it may cause the object to appear configured before it really is.
      Specified by:
      configure in interface Configurable
      Overrides:
      configure in class ScannableGroup
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • asynchronousMoveTo

      public void asynchronousMoveTo(Object position) throws DeviceException
      asynchronousMoveTo implemented following recommendations to check whether all moves have called back.
      Specified by:
      asynchronousMoveTo in interface Scannable
      Overrides:
      asynchronousMoveTo in class CoordinatedScannableGroup
      Parameters:
      position - Position to move to should have an element for each input field.
      Throws:
      DeviceException
    • atCommandFailure

      public void atCommandFailure() throws DeviceException
      Description copied from class: ScannableBase
      Hook to be used by Scan and pos commands to inform the Scannable that an exception, such as a DeviceExcpetion, has occurred. However not called when the command is aborted using an InterruptionException. If a Scan is aborted then only Scannable.stop() will be called by the Scan or pos command.

      Useful for telling Scannables which hold state during a scan for example, to reset themselves. Used for example by CoordinatedMotionScannables. This hook should be used not in the same way as the stop hook. Default behaviour is to do nothing. Inheriting classes have the option to implement this if their specific behaviour requires it.

      Specified by:
      atCommandFailure in interface Scannable
      Overrides:
      atCommandFailure in class CoordinatedScannableGroup
      Throws:
      DeviceException
      See Also:
    • setDefer

      public void setDefer(boolean deferFlag) throws DeviceException
      Parameters:
      deferFlag -
      Throws:
      DeviceException
    • stop

      public void stop() throws DeviceException
      stop all axes and turn off defer flag
      Specified by:
      stop in interface Scannable
      Overrides:
      stop in class ScannableGroup
      Throws:
      DeviceException
      See Also:
    • getDeferredControlPoint

      public ControlPoint getDeferredControlPoint()
      Returns:
      control point
    • setDeferredControlPoint

      public void setDeferredControlPoint(ControlPoint deferredControlPoint)
      Parameters:
      deferredControlPoint -
    • getDeferredControlPointName

      public String getDeferredControlPointName()
      Returns:
      control point name
    • setDeferredControlPointName

      public void setDeferredControlPointName(String deferredControlPointName)
      Parameters:
      deferredControlPointName -