Distributed feedback
Feedback is used to send information backwards in the data processing pipeline, so an earlier stage (the ScanEngine) reaches a certain point and waits for information on how to proceed (from the Analysis).
There are currently two feedback methods, global and pixel. GlobalFeedbackBase is used to provide a small bit of information to an earlier step (potentially a single boolean value to stop the scan). PixelFeedbackBase is used to provide a histogram for instance updates during tuning.
These can both be achieved using the ClipBoard mechanism. This is demonstrated in branch devel_Distributed, but it should be possible to use the same code for the local feedback case.