// 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() || !msg.receiver_free_send_buf.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_free_buffers.resize(image_number + 1); } jf_info[image_number] = msg.jf_info.value(); storage_cell[image_number]= msg.storage_cell.value(); receiver_aq_dev_delay[image_number] = msg.receiver_aq_dev_delay.value(); receiver_free_buffers[image_number] = msg.receiver_free_send_buf.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("storageCell", storage_cell); group.SaveVector("rcvDelay", receiver_aq_dev_delay); group.SaveVector("rcvFreeSendBuffers", receiver_free_buffers); } }