31 lines
1.2 KiB
C++
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());
|
|
}
|
|
}
|