// Copyright (2019-2024) Paul Scherrer Institute #ifndef IMAGESUMMATION_H #define IMAGESUMMATION_H #include #include #include "Definitions.h" #include "DiffractionExperiment.h" class ModuleSummation { bool pixel_signed; uint32_t output_depth_bytes; uint32_t fpga_depth_bytes; std::unique_ptr output; bool first; bool empty; public: explicit ModuleSummation(bool pixel_signed, uint32_t fpga_depth_bytes = 2); explicit ModuleSummation(const DiffractionExperiment &experiment); void AddFPGAOutput(const DeviceOutput& input); void AddEmptyOutput(); [[nodiscard]] const DeviceOutput& GetOutput() const; [[nodiscard]] DeviceOutput& GetOutput(); [[nodiscard]] bool IsEmpty() const; }; #endif //IMAGESUMMATION_H