// Copyright (2019-2023) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_RADIALINTEGRATIONMAPPING_H #define JUNGFRAUJOCH_RADIALINTEGRATIONMAPPING_H #include #include "../common/DiffractionExperiment.h" class RadialIntegrationMapping { const double low_q, high_q, q_spacing; std::vector bin_to_q; std::vector solid_angle_corr; std::vector pixel_to_bin; uint16_t max_bin_number; public: RadialIntegrationMapping(const DiffractionExperiment& experiment, const uint8_t *one_byte_mask = nullptr); [[nodiscard]] uint16_t GetBinNumber() const; [[nodiscard]] const std::vector &GetPixelToBinMapping() const; [[nodiscard]] std::vector GetPixelToBinMappingSplitTo4() const; [[nodiscard]] const std::vector &GetBinToQ() const; [[nodiscard]] const std::vector &GetSolidAngleCorr() const; [[nodiscard]] double QToBin(double q) const; }; #endif //JUNGFRAUJOCH_RADIALINTEGRATIONMAPPING_H