25ea9bf555ec67f6a907a6f9e685ebad7ef7a327
The rotation two-pass runs several first-pass indexing probes one after the other although some of them do not depend on each other: - The rotation-scale walk always indexes at the stored angles and then at the pass-1 fit; both are known before it starts. The probe at the fit now runs at the same time, on a copy of the run as it stands before either. Its answer is taken only if the probe at the stored angles left behind none of the state the next pass reads (the spot-finding settings a first-pass ladder rung adopts; each probe puts the experiment back itself) - otherwise it is run again in sequence, as before. - The geometry walk's indexing probe at the canonical pass's post-refined geometry depends on nothing that pass does after its post-refinement. It is now started there, on a copy, and runs beside the pass's scaling, merge and output; its evidence comes back through the first-pass memo (now a short list) and the walk's own probe takes it through the usual key check, so RUGNUX_VERIFY_FIRST_PASS_MEMO covers it too. It is started only for the passes whose post-refinement the walk probes with an indexing pass. The copies are plain copies of Rugnux: the cancel flag becomes a shared flag (so cancelling the run cancels them) and everything else was already copyable. Probe passes run on a copy get no observer. md5-identical output on two 16M sets; the walk's two probes take ~2.3 s together instead of ~3 s, and the last probe of the geometry walk is hidden behind the merge. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1G8gJVAy6gp1K5Dz3NE5C
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++
77.9%
HTML
6%
C
4.7%
TypeScript
3.4%
Cuda
3%
Other
4.9%