Files
Jungfraujoch/writer/HDF5DataFilePluginJUNGFRAU.cpp
2024-11-22 21:25:20 +01:00

31 lines
1.2 KiB
C++

// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#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;
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.vec());
group.SaveVector("storageCell", storage_cell.vec());
group.SaveVector("rcvDelay", receiver_aq_dev_delay.vec());
group.SaveVector("rcvFreeSendBuffers", receiver_free_buffers.vec());
}
}