Skip to content

Integrate Reader subsystem into RunManager

Andrei Muresan requested to merge feature/reader-integration into develop

Context

Per our architecture design, the Reader subsystem (owned by @jroiseaux) is responsible for exposing event data to the RunManager via an iterator.

Summary

vanwftk will now open a data file and iterate over its contents. Integrations with the other subsystems will add the actual data processing, but the code structure is in place for those integrations to be much more straightforward than this one.

This MR has a lot of changes to various files, but not everything is relevant to the core functionality as there was a lot of cleanup/reconfiguration needed to integrate our first major subsystem with RunManager.

  • The JSON config file's schema has changed and will likely continue to change, so there's not much point documenting the details here.
  • Event processing logic will live in RunManager::processEvents -- specifically inside the for loop
  • Future Reader implementations need to have a corresponding Factory class (refer to V1730Factory) that needs to be mapped to a device name in RunManager::makeEventIterator

How was this tested

Tested with various valid and invalid config files. Valid cases read the file successfully and invalid ones exit early with error messages printed to the console.

Merge request reports