The per-image XFEL identifiers Jungfraujoch records for a pulsed source
(/entry/xfel/pulseID, uint64, and /entry/xfel/eventCode, uint32) were not
carried through reprocessing: the reader did not read them and rugnux built
its per-image messages without them, so a _process.h5 lost the pulse ID of
every image. Merging a pump-probe run by pulse ID needs them next to the
integrated reflections.
- The HDF5 reader reads /entry/xfel/pulseID and eventCode from the master
(VDS, integrated, _process.h5) or, for a legacy master, from its data
files, and passes them on per image. Several inputs read as one keep them
where every input has them.
- rugnux copies them into the messages of the image pass that writes the
_process.h5, so /entry/xfel/{pulseID,eventCode}[i] there belongs to image
i of the file - the index of /entry/MX/...[i], /entry/reflections/image_<i>
and the source image /entry/detector/number[i] - including under -s/-e and
a stride.
- A pulsed-source start message now asks for the /entry/xfel datasets in the
VDS master: the flag was never set, so a broker master held them only in
its data files.
Test: Rugnux_ProcessFileKeepsXfelIds (a pulsed VDS input, images 1, 4, 7 of
ten processed; IDs checked in order in the _process.h5 and on read-back).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UqXYdL4qBGYRiSXSGXfCLu