// Copyright (2019-2024) Paul Scherrer Institute #include "HDF5DataFilePluginJUNGFRAU.h" void HDF5DataFilePluginJUNGFRAU::OpenFile(HDF5File &in_data_file, const DataMessage &msg) {} void HDF5DataFilePluginJUNGFRAU::Write(const DataMessage &msg, uint64_t image_number) { if (!msg.jf_info.has_value() || !msg.receiver_aq_dev_delay.has_value() || !msg.storage_cell.has_value()) return; if (image_number >= jf_info.size()) { jf_info.resize(image_number + 1); storage_cell.resize(image_number + 1); receiver_aq_dev_delay.resize(image_number + 1); } receiver_aq_dev_delay[image_number] = msg.receiver_aq_dev_delay.value(); jf_info[image_number] = msg.jf_info.value(); storage_cell[image_number]= msg.storage_cell.value(); } void HDF5DataFilePluginJUNGFRAU::WriteFinal(HDF5File &data_file) { if (!jf_info.empty()) { HDF5Group group(data_file, "/entry/jungfrau"); group.NXClass("NXcollection"); group.SaveVector("info", jf_info); group.SaveVector("rcv_delay", receiver_aq_dev_delay); group.SaveVector("storage_cell", storage_cell); } }