Interface IScanObject

All Known Subinterfaces:
IExplicitScanObject, IImplicitScanObject
All Known Implementing Classes:
ExplicitScanObject, ImplicitScanObject, ScanObject

public interface IScanObject
Interface for a ScanObject to reduce the incentive to split the gda.scan package across plugins just so you can get at the scannable member The ScanObject abstract class this replaces has been moved back to the main gda.scan package in uk.ac.gda.core.
  • Method Details

    • getType

    • getScannable

      Scannable getScannable()
      The Scannable that this IScanObject moves.
      Returns:
      the scananble
    • hasStart

      boolean hasStart()
      Returns:
      true if the object has a defined start position
    • hasStop

      boolean hasStop()
      Returns:
      true if the object has a defined stop position (i.e. defines an entire scan)
    • moveToStart

      IScanStepId moveToStart() throws Exception
      Move the scannable to the start position
      Throws:
      Exception
    • moveStep

      IScanStepId moveStep() throws Exception
      Move the scannable to its next position
      Throws:
      Exception
    • getNumberPoints

      int getNumberPoints()
      The number of points this object can move its scannable to.
      Returns:
      the size of the array of points
    • arePointsValid

      String arePointsValid() throws DeviceException
      Checks whether the points in this scan object are valid. Note that for IImplicitScanObjects, IImplicitScanObject.calculateScanPoints() must have been called first.
      Returns:
      null if all points in the array of points are valid for the scannable, or the toString() of the point which is unacceptable
      Throws:
      DeviceException