Skip to content

Some refactoring step 1 (scanconfig)

Hideyuki Oide requested to merge feature/scanconfig_refactor1 into 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 from scanConsole.
    • Threads are simply callable by run() and join(). For Fei4DataProcessor, multiple threads are allocated, while for Fei4Histogrammer and Fei4Analysis a single thread is present.
    • The threads run with wait using std::condition_variable where it is a member of the input ClipBoard. In this way, the upstream process can notify to the downstream about non-emptiness of the ClipBoard. Then e.g. wait(100ms) is not needed.
  • Trying to make class FrontEnd lighter by removing Fei4Histogrammer and Fei4Analysis from the members. Instead these are administrated directly by scanConsole -- will be suitable for less dependencies.

Confirmed the functionality for scan_config.json and a few scans (digitalscan, analogscan, totscan). See attachment log.

log.txt

Merge request reports