Files
Jungfraujoch/writer/HDF5DataFilePluginJUNGFRAU.cpp

33 lines
1.1 KiB
C++

// 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);
}
}