Files
Jungfraujoch/writer/HDF5DataFilePluginXFEL.cpp

32 lines
956 B
C++

// Copyright (2019-2024) Paul Scherrer Institute
#include "HDF5DataFilePluginXFEL.h"
void HDF5DataFilePluginXFEL::OpenFile(HDF5File &data_file, const DataMessage &msg) {}
void HDF5DataFilePluginXFEL::Write(const DataMessage &msg) {
if (!msg.xfel_pulse_id.has_value()
|| !msg.xfel_event_code.has_value())
return;
size_t image_number = msg.number;
if (image_number >= pulseid.size()) {
max_image_number = image_number;
pulseid.resize(image_number + 1);
event_code.resize(image_number + 1);
}
pulseid[image_number] = msg.xfel_pulse_id.value();
event_code[image_number] = msg.xfel_event_code.value();
}
void HDF5DataFilePluginXFEL::WriteFinal(HDF5File &data_file) {
if (!pulseid.empty()) {
HDF5Group group(data_file, "/entry/xfel");
group.NXClass("NXcollection");
group.SaveVector("pulseID", pulseid);
group.SaveVector("eventCode", event_code);
}
}