35 lines
1.1 KiB
C++
35 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) {
|
|
if (!msg.jf_info.has_value()
|
|
|| !msg.receiver_aq_dev_delay.has_value()
|
|
|| !msg.storage_cell.has_value())
|
|
return;
|
|
|
|
size_t image_number = msg.number;
|
|
|
|
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);
|
|
}
|
|
}
|