3 #include <util/threadpool/TaskDropper.h>
4 #include <scanner/detector/PulseTask.h>
5 #include <noise/RandomnessGenerator.h>
6 #include <noise/NoiseSource.h>
36 std::vector<std::vector<double>>&,
58 std::vector<std::vector<double>>&,
Pulse task interface.
Definition: PulseTask.h:13
Interface for thread pools supporting pulse tasks.
Definition: PulseThreadPoolInterface.h:18
virtual void run_pulse_task(TaskDropper< PulseTask, PulseThreadPoolInterface, std::vector< std::vector< double >> &, RandomnessGenerator< double > &, RandomnessGenerator< double > &, NoiseSource< double > & > &dropper)=0
Compute a chunk of pulse tasks in parallel, blocking fashion.
virtual void join()=0
Block until pending parallel executions have finished.
virtual bool try_run_pulse_task(TaskDropper< PulseTask, PulseThreadPoolInterface, std::vector< std::vector< double >> &, RandomnessGenerator< double > &, RandomnessGenerator< double > &, NoiseSource< double > & > &dropper)=0
Compute a chunk of pulse tasks in parallel, non-blocking fashion.
Class which handles tasks dropping. It is, executing and then removing each task when dropping.
Definition: TaskDropper.h:22