// Copyright (2019-2023) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #ifndef JUNGFRAUJOCH_RADIALINTEGRATIONPROFILE_H #define JUNGFRAUJOCH_RADIALINTEGRATIONPROFILE_H #include #include #include #include "RadialIntegrationMapping.h" class RadialIntegrationProfile { mutable std::mutex m; std::vector sum; std::vector count; std::vector bin_to_q; std::vector corrections; public: explicit RadialIntegrationProfile(RadialIntegrationMapping &mapping, const DiffractionExperiment &experiment); void Add(const std::vector &sum, const std::vector &count); std::vector GetResult(bool solid_angle_correction) const; void GetPlot(JFJochProtoBuf::Plot &plot, bool solid_angle_correction) const; const std::vector &GetSolidAngleCorr() const; }; #endif //JUNGFRAUJOCH_RADIALINTEGRATIONPROFILE_H