// Copyright (2019-2023) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_RADIALINTEGRATIONMAPPINGFPGA_H #define JUNGFRAUJOCH_RADIALINTEGRATIONMAPPINGFPGA_H #include #include #include "../common/DiffractionExperiment.h" class RadialIntegrationMappingFPGA { 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: explicit RadialIntegrationMappingFPGA(const DiffractionExperiment& experiment, uint16_t data_stream); [[nodiscard]] uint16_t GetBinNumber() const; [[nodiscard]] const std::vector &GetPixelToBinMapping() const; [[nodiscard]] const std::vector &GetBinToQ() const; [[nodiscard]] const std::vector &GetSolidAngleCorr() const; [[nodiscard]] double QToBin(double q) const; }; #endif //JUNGFRAUJOCH_RADIALINTEGRATIONMAPPINGFPGA_H