Skip to content

Feature/pulse analysis

Anadi Mishra requested to merge feature/pulse_analysis into develop

Context

Pulse Analysis is the secondary subsystem we need to integrate. The architecture used is very similar to PulseFinder and uses the Strategy pattern to encapsulate this functionality.

Summary

Added the IPulseAnalysisStrategy interface class and a sample implementation called PAS. The sample implementation is an attempt at extracting and refactoring the pulse analysis code from the old WaveformProcessor.cxx, but the idea is that adding new strategies would just consist of a few simple steps:

  1. Write a class that extends IPulseAnalysisStrategy and overrides the appropriate methods
  2. Register the class's name in RunManager::makePAS
  3. Set the runtime parameter in the JSON config file.

After the new strategy's code is written, changing strategies dynamically will just be a matter of changing the input file.

Merge request reports