Package gda.scan

Interface ScanDataPointPipeline

All Known Implementing Classes:
MultithreadedScanDataPointPipeline

public interface ScanDataPointPipeline
Populates ScanDataPoints with positions (from Scannables) and data (from Detectors) and then broadcasts them and writes them to a data writer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Throws exception if an exception occurred in the processing of the pipeline The main Scan thread can check this regularly
    Retrieves the data writer from the pipeline.
    void
    Calls any Callables found in scannablePositions or detectorData, and then broadcasts the point (as if it came from the scan itself) and adds it to a datawriter.
    void
    shutdown(boolean waitForProcessingCompletion)
    Blocks while waiting for pipeline to empty, stops all threads and closes data writer.
  • Method Details

    • put

      void put(IScanDataPoint point) throws DeviceException
      Calls any Callables found in scannablePositions or detectorData, and then broadcasts the point (as if it came from the scan itself) and adds it to a datawriter.
      Parameters:
      point - scannablePositions or detectorData may contain Callables
      Throws:
      DeviceException
    • getDataWriter

      DataWriter getDataWriter()
      Retrieves the data writer from the pipeline.
      Returns:
      data writer
    • shutdown

      void shutdown(boolean waitForProcessingCompletion) throws Exception
      Blocks while waiting for pipeline to empty, stops all threads and closes data writer. If the pipeline does not empty in the specified time then the callable tasks are cancelled.
      Throws:
      Exception
    • checkForException

      void checkForException() throws Exception
      Throws exception if an exception occurred in the processing of the pipeline The main Scan thread can check this regularly
      Throws:
      Exception