Class GantryPositioner

All Implemented Interfaces:
Device, SamplePlateMover, Scannable, Configurable, Findable, gda.observable.IObservable

public class GantryPositioner extends SamplePlateMoverBase
  • Constructor Details

    • GantryPositioner

      public GantryPositioner()
  • Method Details

    • getGripperAngleScannable

      public Scannable getGripperAngleScannable()
    • setGripperAngleScannable

      public void setGripperAngleScannable(Scannable gripperAngle)
    • 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 SamplePlateMoverBase
      Throws:
      FactoryException - if there is an error in configuration e.g. required variable not set or cannot connect to device
    • setGripperPosition

      public void setGripperPosition(SamplePlateMoverBase.GripperState state, Object gripperPosition)
    • getPosition

      public Object getPosition() throws DeviceException
      Description copied from class: ScannableBase
      Returns the current position of the Scannable. Called by ConcurentScan at the end of the point. Reads an internal (hardware) position from rawGetPosition, converts this to an external (user) position and returns it.
      Specified by:
      getPosition in interface Scannable
      Overrides:
      getPosition in class ScannableBase
      Returns:
      Current position with an element for each input and extra field. null if their are no fields.
      Throws:
      DeviceException
    • loadPlate

      public void loadPlate(String c) throws DeviceException
      Description copied from interface: SamplePlateMover
      Pick up new sample plate
      Parameters:
      c -
      Throws:
      DeviceException
    • unloadPlate

      public void unloadPlate() throws DeviceException
      Description copied from interface: SamplePlateMover
      Unload the currently held sample plate
      Throws:
      DeviceException
    • moveToBeam

      public void moveToBeam() throws DeviceException
      Description copied from interface: SamplePlateMover
      Move sample plate to the in beam position
      Throws:
      DeviceException
    • moveToHorizontalPositionForPlate

      public void moveToHorizontalPositionForPlate(String plateName) throws DeviceException
      Move to horizontal position for named plate, after first moving to the 'safe' height.
      Parameters:
      plateName -
      Throws:
      DeviceException
    • moveToSafeHeight

      public void moveToSafeHeight() throws DeviceException
      Move to safe height, so that horizontal move can be made
      Throws:
      DeviceException
    • moveToLoadHeight

      public void moveToLoadHeight() throws DeviceException
      Move to vertical position for loading/unloading a plate
      Throws:
      DeviceException
    • rotateGripper

      public void rotateGripper(double angle) throws DeviceException
      Throws:
      DeviceException
    • openGripper

      public void openGripper() throws DeviceException
      Throws:
      DeviceException
    • closeGripper

      public void closeGripper() throws DeviceException
      Throws:
      DeviceException
    • logMessage

      protected void logMessage(String message)
    • logStatus

      protected void logStatus() throws DeviceException
      Throws:
      DeviceException
    • getMotorMove

      public GantryPositioner.MotorMove getMotorMove()
      The last motor move that took place - one of the values in GantryPositioner.MotorMove enum.
      Returns:
    • getCurrentGripperState

      public SamplePlateMoverBase.GripperState getCurrentGripperState()
    • isBusy

      public boolean isBusy() throws DeviceException
      Description copied from interface: Scannable
      Check if the Scannable is moving/operating.
      Specified by:
      isBusy in interface Scannable
      Overrides:
      isBusy in class SamplePlateMoverBase
      Returns:
      true - if operation carried out by moveTo has not completed yet
      Throws:
      DeviceException
    • getHorizScannable

      public Scannable getHorizScannable()
    • setHorizScannable

      public void setHorizScannable(Scannable horizScannable)
    • getVertScannable

      public Scannable getVertScannable()
    • setVertScannable

      public void setVertScannable(Scannable vertScannable)
    • getGripperScannable

      public Scannable getGripperScannable()
    • setGripperScannable

      public void setGripperScannable(Scannable gripper)
    • getPlatePositions

      public Map<String,Double> getPlatePositions()
      Returns:
      Map of all known plate positions currently (key = plate name, value = horizontal position).
    • getPlateNames

      public List<String> getPlateNames()
      Returns:
      List of names of all sample plates (i.e. 'positions' that can be moved to)
    • setPlatePositions

      public void setPlatePositions(Map<String,Object> samplePlatePositions)
    • setPlatePosition

      public void setPlatePosition(String plateName, Object position)
      Set the position of a plate (i.e. horizontal position where plate is located) Create Double from passed position Object - to deal with Integers, Doubles passed from Jython and avoid class cast exceptions.
      Parameters:
      plateName -
      position -
    • getPlatePosition

      public Double getPlatePosition(String samplePlateName)
      Get position of named plate
      Parameters:
      samplePlateName -
      Returns:
      Position of sample plate, or null if plate is not known
    • getLoadHeight

      public double getLoadHeight()
    • setLoadHeight

      public void setLoadHeight(double loadUnloadHeight)
    • getSafeHeight

      public double getSafeHeight()
    • setSafeHeight

      public void setSafeHeight(double safeHeight)
    • getBeamHorizontalPosition

      public double getBeamHorizontalPosition()
    • setBeamHorizontalPosition

      public void setBeamHorizontalPosition(double beamPosition)
    • getGripperBeamAngle

      public double getGripperBeamAngle()
    • setGripperBeamAngle

      public void setGripperBeamAngle(double gripperBeamAngle)
    • getGripperLoadAngle

      public double getGripperLoadAngle()
    • setGripperLoadAngle

      public void setGripperLoadAngle(double gripperLoadAngle)
    • getCurrentPlate

      public String getCurrentPlate()
      Returns:
      Name of the currently held plate
    • setCurrentPlate

      public void setCurrentPlate(String currentSamplePlate)
      Set the name of the currently held sample plate.
      Parameters:
      currentSamplePlate -
    • setVerifyMove

      public void setVerifyMove(boolean verifyMove)
    • isVerifyMove

      public boolean isVerifyMove()
    • getMoveTolerance

      public double getMoveTolerance()
    • setMoveTolerance

      public void setMoveTolerance(double moveTolerance)