// 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; bool res_estimation = false; // 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::unique_ptr data_set_spot_npeaks = nullptr; std::unique_ptr data_set_strong_pixel_count = nullptr; // indexing std::unique_ptr data_set_indexed = nullptr; std::unique_ptr data_set_indexed_lattice = nullptr; // res. estimation std::unique_ptr data_set_resolution_estimation = nullptr; public: explicit HDF5DataFilePluginMX(size_t max_spots); void SetupSWMRFile(HDF5File &data_file, const DataMessage& msg) override; void OpenFile(HDF5File &data_file, const DataMessage& msg) override; void Write(const DataMessage& msg) override; void Flush() override; }; #endif //JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H