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 TypeMethodDescriptionvoidThrows exception if an exception occurred in the processing of the pipeline The main Scan thread can check this regularlyRetrieves the data writer from the pipeline.voidput(IScanDataPoint point) 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.voidshutdown(boolean waitForProcessingCompletion) Blocks while waiting for pipeline to empty, stops all threads and closes data writer.
-
Method Details
-
put
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
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
Throws exception if an exception occurred in the processing of the pipeline The main Scan thread can check this regularly- Throws:
Exception
-