// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #ifndef JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H #define JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H #include "HDF5DataFilePlugin.h" #include "../common/AutoIncrVector.h" class HDF5DataFilePluginMX : public HDF5DataFilePlugin { const size_t max_spots; // spots std::vector spot_x; std::vector spot_y; std::vector spot_int; std::vector spot_indexed; std::vector spot_ice_ring; std::vector spot_h; std::vector spot_k; std::vector spot_l; std::vector spot_dist_ewald; AutoIncrVector beam_corr_x; AutoIncrVector beam_corr_y; AutoIncrVector npeaks; AutoIncrVector strong_pixel_count; AutoIncrVector spot_count_total; AutoIncrVector spot_count_ice; AutoIncrVector spot_count_indexed; AutoIncrVector spot_count_low_res; // indexing AutoIncrVector indexed; std::vector indexed_lattice; // crystal AutoIncrVector profile_radius; AutoIncrVector b_factor; // bkg_estimate AutoIncrVector bkg_estimate; // resolution_estimation AutoIncrVector resolution_estimate; AutoIncrVector niggli_class; AutoIncrVector bravais_lattice; public: explicit HDF5DataFilePluginMX(const StartMessage& msg); void OpenFile(HDF5File &data_file, const DataMessage& msg) override; void Write(const DataMessage& msg, uint64_t image_number) override; void WriteFinal(HDF5File &data_file) override; }; #endif //JUNGFRAUJOCH_HDF5DATAFILEPLUGINMX_H