26ba019752270e6925ca2f1be2b0839f6e191563
Write direct_beam_x/direct_beam_y, in pixels, into /entry/instrument/detector/detectorSpecific - snake_case and unsuffixed like the rest of that Dectris-style group, with a units attribute like the beam_center_x it must be read against. Computed inside Metrology from the very locals that produce the beam_center_x/y and rot1/2/3 written a few lines away - refined when the offline analysis refined them, the StartMessage values otherwise - and from the same start.detector_distance the translation vector uses. The file therefore cannot disagree with itself: one composed geometry feeds all of them. Provenance differs by producer (the broker's master states the user's geometry, a rugnux _process.h5 a measured one), the field does not. The test writes a real master in all three NXmx layouts at a non-zero tilt and reads the datasets back, and requires the tilt to have moved the point, so a writer that stored the PONI would fail it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
Jungfraujoch
Application to receive data from the PSI JUNGFRAU and EIGER detectors.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
75.4%
HTML
7.5%
C
6%
TypeScript
4.2%
Cuda
2.2%
Other
4.6%