Some refactoring step 1 (scanconfig)
Main changes:
Bringing some ideas from the conceptual thought, but with minimal change in the code structure.
-
DataProcess
threads are moved inside each class, and removed fromscanConsole
.- Threads are simply callable by run() and join(). For
Fei4DataProcessor
, multiple threads are allocated, while forFei4Histogrammer
andFei4Analysis
a single thread is present. - The threads run with wait using
std::condition_variable
where it is a member of the inputClipBoard
. In this way, the upstream process can notify to the downstream about non-emptiness of theClipBoard
. Then e.g. wait(100ms) is not needed.
- Threads are simply callable by run() and join(). For
- Trying to make class
FrontEnd
lighter by removingFei4Histogrammer
andFei4Analysis
from the members. Instead these are administrated directly byscanConsole
-- will be suitable for less dependencies.
Confirmed the functionality for scan_config.json
and a few scans (digitalscan, analogscan, totscan). See attachment log.