// Copyright (2019-2024) Paul Scherrer Institute #ifndef JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H #define JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H #include "HDF5DataFilePlugin.h" class HDF5DataFilePluginMX : public HDF5DataFilePlugin { size_t max_spots; // spots std::unique_ptr data_set_spot_x = nullptr; std::unique_ptr data_set_spot_y = nullptr; std::unique_ptr data_set_spot_int = nullptr; std::unique_ptr data_set_spot_indexed = nullptr; std::vector npeaks; std::vector strong_pixel_count; // indexing std::vector indexed; std::vector indexed_lattice; public: explicit HDF5DataFilePluginMX(size_t max_spots); void OpenFile(HDF5File &data_file, const DataMessage& msg) override; void Write(const DataMessage& msg) override; void WriteFinal(HDF5File &data_file) override; }; #endif //JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H