Updated with develop branch and added pulseAnalysis
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:
- Write a class that extends
IPulseAnalysisStrategy
and overrides the appropriate methods - Register the class's name in
RunManager::makePAS
- 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. P.S: Updated version of feature/pulse_analysis