Interface BufferedDetector

All Superinterfaces:
Configurable, Detector, Device, Findable, gda.observable.IObservable, Scannable
All Known Subinterfaces:
SimulatedBufferedDetector
All Known Implementing Classes:
BufferedEdeDetector, BufferedNXDetector, BufferedPandaDetector, BufferedScaler, BufferedScannablePositions, DataSocketDetector, DummyBufferedDetector, DummyXmapBufferedDetector, EpicsScanData, QexafsFFoverIO, QexafsGMSDOverI0, VortexQexafsFFIO, XmapBufferedDetector, Xspress2BufferedDetector, Xspress3BufferedDetector, Xspress3FFoverI0BufferedDetector, Xspress3QexafsDetector, Xspress4BufferedDetector

public interface BufferedDetector extends Detector
Interface for detectors who can hold a series of data points (frames) in memory which can be read out once a scan has finished. Such detectors are triggered by hardware and not by the GDA software. This mean the detector can be used in fast scans where the readout will be at a slower rate than the data collection.
  • Method Details

    • clearMemory

      void clearMemory() throws DeviceException
      Clears the detector memory
      Throws:
      DeviceException
    • setContinuousMode

      void setContinuousMode(boolean on) throws DeviceException
      When in slave mode the detector will be triggered by an external signal to collect each frame of data.
      Parameters:
      on -
      Throws:
      DeviceException
    • isContinuousMode

      boolean isContinuousMode() throws DeviceException
      Returns:
      true if the detector is ready to accept trigger pulses
      Throws:
      DeviceException
    • setContinuousParameters

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

      ContinuousParameters getContinuousParameters() throws DeviceException
      Returns:
      ContinuousParameters
      Throws:
      DeviceException
    • getNumberFrames

      int getNumberFrames() throws DeviceException
      Returns:
      number of frames of data in memory which have been collected
      Throws:
      DeviceException
    • readFrames

      Object[] readFrames(int startFrame, int finalFrame) throws DeviceException
      An array of the data from the detector. Each element is one frame of data. The first frame is 0.
      Parameters:
      startFrame -
      finalFrame -
      Returns:
      Object
      Throws:
      DeviceException
    • readAllFrames

      Object[] readAllFrames() throws DeviceException
      An array of the data from the detector. Each element is one frame of data.
      Returns:
      Object
      Throws:
      DeviceException
    • maximumReadFrames

      int maximumReadFrames() throws DeviceException
      As certain detectors may cause memory issues if too many frames are attempted to be read in one go, this is the maximum for this detector based on its current configuration (i.e. after setContinuousMode(True) has been called.

      The lowest value returned from any of the detectors in a continuous scan will be the limit set.

      If there is no limit then this method should return Integer.MAX_VALUE.

      Returns:
      int - the maximum number of frames which should be read at any one time from this detector
      Throws:
      DeviceException