Skip to content

AthenaMonitoringKernel: Refactor filling methods

Frank Winklmeier requested to merge fwinkl/athena:mon_perf2 into master

Introduce a generic HistogramFiller::fill method that can be used to fill a histogram of any dimension and from double/string valued monitored variables. Make use of this in the 1D/2D filler to reduce code duplication. Can be extended further to other fillers.

The code relies heavily on C++14/17 features (fold expressions, parameter pack expansion, if constexpr, ...) to perform as many compile-time optimizations as possible.

There are no functional changes (e.g. Run3DQTestingDriver.py histograms are identical before/after these changes).

cc @ponyisi @cburton @tbold

Merge request reports