Interface ContinuouslyScannable

All Superinterfaces:
Configurable, Device, Findable, gda.observable.IObservable, Scannable, ScannableMotion, ScannableMotionUnits
All Known Subinterfaces:
SimulatedContinuouslyScannable
All Known Implementing Classes:
DummyContinuouslyScannable, QexafsScannable, QexafsTestingScannable, TurboXasScannable, ZebraQexafsScannable

public interface ContinuouslyScannable extends ScannableMotionUnits
This operates a device whose operation sends out trigger signals to HistogramDetectors to collect data.

Such Scannables will be used in ContinuousScans.

  • Method Details

    • setContinuousParameters

      void setContinuousParameters(ContinuousParameters parameters)
      Sets the parameters which define the continuous movement to use
      Parameters:
      parameters -
    • getContinuousParameters

      ContinuousParameters getContinuousParameters()
      Returns:
      ContinuousParameters
    • prepareForContinuousMove

      void prepareForContinuousMove() throws DeviceException
      Prepare hardware for the continuous move. This assumes that continuous parameters have been supplied.
      Throws:
      DeviceException
    • getNumberOfDataPoints

      int getNumberOfDataPoints()
      The actual hardware might not be able to return exactly the numbner of points requested. This method returns the actaul number the scan should expect.
      Returns:
      int - the number of data points which would be actually returned based on the given ContinuousParameters
    • performContinuousMove

      void performContinuousMove() throws DeviceException
      Perform the move based on the supplied continuous parameters.
      Throws:
      DeviceException
    • continuousMoveComplete

      void continuousMoveComplete() throws DeviceException
      Once move and data collection complete, reverts any hardware settings etc. set for the move.
      Throws:
      DeviceException
    • calculateEnergy

      double calculateEnergy(int frameIndex) throws DeviceException
      As this scannable controls the motion, it is responsible for knowing the energy at each frame
      Parameters:
      frameIndex -
      Returns:
      double energy in eV of the given frame
      Throws:
      DeviceException