* Enhancements for XFEL
* Enhancements for EIGER * Writer is more flexible and capable of handling DECTRIS data
This commit is contained in:
@@ -2,9 +2,12 @@
|
||||
|
||||
#include "ImageMetadata.h"
|
||||
|
||||
ImageMetadata::ImageMetadata(const DiffractionExperiment &experiment)
|
||||
: pulsed_source(experiment.IsPulsedSource()) {}
|
||||
|
||||
void ImageMetadata::Process(const DeviceOutput *output) {
|
||||
if (!first_module_loaded) {
|
||||
xfel_bunch_id = output->module_statistics.bunchid;
|
||||
xfel_pulse_id = output->module_statistics.pulse_id;
|
||||
jf_info = output->module_statistics.debug;
|
||||
storage_cell = (jf_info >> 8) & 0xF;
|
||||
xfel_event_code = (jf_info >> 16) & UINT8_MAX;
|
||||
@@ -12,7 +15,7 @@ void ImageMetadata::Process(const DeviceOutput *output) {
|
||||
exptime = output->module_statistics.exptime;
|
||||
first_module_loaded = true;
|
||||
} else {
|
||||
if (output->module_statistics.bunchid != xfel_bunch_id)
|
||||
if (pulsed_source && (output->module_statistics.pulse_id != xfel_pulse_id))
|
||||
metadata_consistent = false;
|
||||
}
|
||||
saturated_pixels += output->module_statistics.saturated_pixels;
|
||||
@@ -26,8 +29,10 @@ bool ImageMetadata::IsBunchIDConsistent() const {
|
||||
}
|
||||
|
||||
void ImageMetadata::Export(DataMessage &message, uint64_t packets_expected_per_image) const {
|
||||
message.xfel_bunch_id = xfel_event_code;
|
||||
message.xfel_event_code = xfel_event_code;
|
||||
if (pulsed_source) {
|
||||
message.xfel_pulse_id = static_cast<uint64_t>(xfel_pulse_id);
|
||||
message.xfel_event_code = xfel_event_code;
|
||||
}
|
||||
message.jf_info = jf_info;
|
||||
message.storage_cell = storage_cell;
|
||||
message.timestamp = timestamp;
|
||||
|
||||
Reference in New Issue
Block a user