// Copyright (2019-2023) Paul Scherrer Institute #include "ADUHistogram.h" ADUHistogram::ADUHistogram() : histogram(ADU_HISTO_BIN_COUNT) { } void ADUHistogram::Add(const DeviceOutput &output) { std::unique_lock ul(m); for (int i = 0; i < ADU_HISTO_BIN_COUNT; i++) histogram[i] += output.adu_histogram[i]; } const std::vector &ADUHistogram::GetHistogram() const { return histogram; } Plot ADUHistogram::GetPlot() const { std::unique_lock ul(m); Plot ret; ret.x.resize(ADU_HISTO_BIN_COUNT); ret.y.resize(ADU_HISTO_BIN_COUNT); for (int i = 0; i < ADU_HISTO_BIN_COUNT; i++) { ret.x[i] = ADU_HISTO_BIN_WIDTH * i + ADU_HISTO_BIN_WIDTH / 2; ret.y[i] = histogram[i]; } return ret; }