Class Evaporator

java.lang.Object
gda.factory.FindableBase
gda.device.evaporator.Evaporator
All Implemented Interfaces:
Findable

public class Evaporator extends FindableBase
GDA user facing device to control a multi-pocket evaporator

This is independent of the underlying hardware and relies on an EvaporatorController to communicate with the device.

This class just needs a name (to be Findable) and a controller.

 <bean id="ebe" class="gda.device.evaporator.Evaporator">
     <property name="controller" ref="ebe_controller"/>
 </bean>
 
  • Constructor Details

    • Evaporator

      public Evaporator()
  • Method Details

    • enable

      public void enable() throws DeviceException
      Throws:
      DeviceException
    • disable

      public void disable() throws DeviceException
      Throws:
      DeviceException
    • isEnabled

      public boolean isEnabled() throws DeviceException
      Throws:
      DeviceException
    • remoteOn

      public void remoteOn() throws DeviceException
      Enable remote control of the device
      With remote disabled, the device is not accessible from GDA
      Throws:
      DeviceException
    • remoteOff

      public void remoteOff() throws DeviceException
      Disable remote control of the device
      Throws:
      DeviceException
      See Also:
    • isRemote

      public boolean isRemote() throws DeviceException
      Check if this device is controllable from GDA
      Throws:
      DeviceException
      See Also:
    • hvOn

      public void hvOn() throws DeviceException
      Switch high voltage on
      Throws:
      DeviceException
    • hvOff

      public void hvOff() throws DeviceException
      Switch high voltage off
      Throws:
      DeviceException
    • isHvEnabled

      public boolean isHvEnabled() throws DeviceException
      Check if high voltage is on or off
      Throws:
      DeviceException
    • getHighVoltage

      public double getHighVoltage() throws DeviceException
      Get voltage
      Throws:
      DeviceException
    • setHighVoltage

      public void setHighVoltage(double hv) throws DeviceException
      Set voltage
      Throws:
      DeviceException
    • getShutter

      public String getShutter() throws DeviceException
      Get the current shutter position
      Returns:
      the current shutter position name
      Throws:
      DeviceException - if the device is unreachable
    • setShutter

      public void setShutter(String pos) throws DeviceException
      Set the shutter position by name
      Parameters:
      pos - must be one of the valid shutter positions for this device
      Throws:
      DeviceException - if the device is unreachable
    • setShutter

      public void setShutter(int shutter) throws DeviceException
      Set the shutter position by index
      Parameters:
      shutter - The index of the required shutter position
      Throws:
      DeviceException - if the device is unreachable
    • clearError

      public void clearError() throws DeviceException
      Clear any error state of the device
      Throws:
      DeviceException
    • getShutterPositions

      public List<String> getShutterPositions() throws DeviceException
      Get a list of valid shutter positions.
      Returns:
      Unmodifiable list of valid shutter positions
      Throws:
      DeviceException - if the device is unreachable
    • getShutterPosition

      public String getShutterPosition() throws DeviceException
      Get the name of the current shutter position
      Returns:
      The current shutter position
      Throws:
      DeviceException - if the device is unreachable
    • getPocket

      public EvaporatorPocket getPocket(int pocket)
      Get a specific pocket from the evaporator. Pockets are 1-indexed.
      Parameters:
      pocket - 1-indexed pocket number
      Returns:
      EvaporatorPocket
    • __getitem__

      public EvaporatorPocket __getitem__(int pocket)
      Convenience method for access from Jython
      Allows direct access to pockets eg
      >>> ebe[1]
      is equivalent to
      >>> ebe.getPocket(1)
      This should not be used from Java
    • __getattr__

      public EvaporatorPocket __getattr__(String name)
      Convenience method for access from Jython
      Allows direct access to pockets eg
      >>> ebe.p1
      is equivalent to
      >>> ebe.getPocket(1)
      This should not be used from Java
    • setController

      public void setController(EvaporatorController controller)
    • toString

      public String toString()
      Overrides:
      toString in class Object