Interface ExperimentDriver

All Superinterfaces:
Findable
All Known Implementing Classes:
DummyExperimentDriver, ExperimentDriverBase, GdaScannableDriver

public interface ExperimentDriver extends Findable
The ExperimentDriver is any apparatus or mechanism that modifies the specimen over time. This can include a mechanical test rig, a furnace, a chemical delivery system, etc.

The ExperimentDriver will follow a user-specified profile which may be software- or hardware-driven (i.e. driven by GDA or by some external controller). This profile is generally the process referred to as the experiment, where as scans performed during this time are termed measurements.

Additionally, an ExperimentDriver will have a set of readouts which can be used to monitor progress and to trigger GDA/Malcolm measurements (see ISampleEnvironmentVariable). These readouts need not necessarily be part of the driven hardware, but more generally signals which are affected by the profile. As such, they may need to be calibrated and used as software limits and/or abort conditions.

  • Method Details

    • setModel

      void setModel(DriverModel model) throws DeviceException
      Throws:
      DeviceException
    • getModel

      DriverModel getModel()
    • getQuantityName

      String getQuantityName()
    • getQuantityUnits

      String getQuantityUnits()
    • getDriverSignals

      List<DriverSignal> getDriverSignals()
    • zero

      void zero()
      Calibrate
    • start

      void start()
      Allowed from
      invalid reference
      DriverState.IDLE
    • pause

      void pause()
      Allowed from
      invalid reference
      DriverState.RUNNING
    • resume

      void resume()
      Allowed from
      invalid reference
      DriverState.PAUSED
    • abort

      void abort()
      Allowed from
      invalid reference
      DriverState.RUNNING
      or
      invalid reference
      DriverState.PAUSED
    • getState

      DriverState getState()