Scope
|
#include <PipelineController_p.h>
Inherits scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Public Member Functions | |
Impl (std::array< SynchronizedQueue< ScopeMessage< SCOPE_DAQCHUNKPTR_T >>, SCOPE_NAREAS > *const _iqueues, SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T >> *const _squeue, SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T >> *const _dqueue, const parameters::Scope &_parameters) | |
~Impl () | |
void | StopOne (const uint32_t &_a) override |
void | OnlineParameterUpdate (const parameters::Area &_areaparameters) |
void | SetScannerVector (const uint32_t &_area, ScannerVectorFrameBasicPtr _sv) |
Public Member Functions inherited from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl | |
Impl (const parameters::Scope &_parameters) | |
virtual void | Start (const parameters::Scope &_params) |
virtual void | StopAll () |
virtual ControllerReturnStatus | WaitForOne (const uint32_t &_a, const int32_t &_wait_time) |
virtual ControllerReturnStatus | WaitForAll (const int32_t &_wait_time) |
Protected Member Functions | |
Impl (const Impl &i) | |
Impl | operator= (const Impl &i) |
ControllerReturnStatus | Run (StopCondition *const sc, const uint32_t &_area) |
Protected Attributes | |
std::array< SynchronizedQueue< ScopeMessage< SCOPE_DAQCHUNKPTR_T > >, SCOPE_NAREAS > *const | input_queues |
SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T > > *const | storage_queue |
SynchronizedQueue< ScopeMessage< SCOPE_MULTIIMAGEPTR_T > > *const | display_queue |
std::array< ScannerVectorFrameBasicPtr, SCOPE_NAREAS > | scannervecs |
std::array< std::mutex, SCOPE_NAREAS > | online_update_mutexe |
std::array< bool, SCOPE_NAREAS > | online_updates |
Protected Attributes inherited from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl | |
std::array< std::shared_future< ControllerReturnStatus >, N_ACTIVES > | futures |
std::array< StopCondition, N_ACTIVES > | stops |
parameters::Scope | parameters |
The implementation class of the PipelineController.
Every area runs in one thread.
Definition at line 17 of file PipelineController_p.h.
|
protected |
disable copy
|
inlineexplicit |
Connect queues and get scanner vectors and parameters.
Definition at line 180 of file PipelineController_p.h.
|
inlinevirtual |
It is important that this is virtual, only by this the correct destructor for the pimpl is called in derived classes (since we are using the one BaseControllerImpl* pointer to store also derived Impl class objects.
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 190 of file PipelineController_p.h.
|
inlineprotectedvirtual |
Main function for running pixel mapping.
It is executed asynchronously. For every area one Run function is executed (since PipelineController is derived from BaseController<SCOPE_NAREAS>).
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 48 of file PipelineController_p.h.
|
inlineoverridevirtual |
Request one async worker function to stop by settings its StopCondition to true.
[in] | _a | which async to stop |
Reimplemented from scope::BaseController< N_ACTIVES, STATIC_PIMPL >::Impl.
Definition at line 195 of file PipelineController_p.h.
|
inline |
Handles update of parameters during scanning.
Definition at line 204 of file PipelineController_p.h.
|
inline |
Sets the pointers to the scanner vector.
Only called on startup.
Definition at line 213 of file PipelineController_p.h.
|
protected |
input queue from the DaqController
Definition at line 22 of file PipelineController_p.h.
|
protected |
output queue to the StorageController
Definition at line 25 of file PipelineController_p.h.
|
protected |
output queue to the DisplayController
Definition at line 28 of file PipelineController_p.h.
|
protected |
array with the scanner vectors
Definition at line 31 of file PipelineController_p.h.
|
protected |
protection for online updates during live scanning
Definition at line 34 of file PipelineController_p.h.
|
protected |
trigger for online updates during live scanning
Definition at line 37 of file PipelineController_p.h.