Commit 2ee37f53 authored by Vacaliuc, Bogdan's avatar Vacaliuc, Bogdan
Browse files

10-mantid-algorithms-deep-dive: open the MRR black box



MagnetismReflectometryReduction is 859 LOC of Python (not C++), which
has practical consequences for the hackathon: it can be read,
patched, and debugged without a Mantid build.  This new doc walks its
PyExec flow, the 53 properties, the two Q-binning paths (constant-Q
vs TOF), process_data as the reusable primitive, and the resolution
model (slit-geometry-based).

It also covers the supporting MR Python algorithms (MRFilterCrossSections,
MRInspectData, MRGetTheta), the single C++ dependency (RefRoi), and the
"Mantid adjacent" SingleReadoutDeadTimeCorrection registered by three
packages simultaneously.

Surfaces concrete hackathon findings grounded in the Mantid source:

- MR Python algorithms have ZERO commits between Mantid 6.14 and HEAD,
  so the pin mismatch is a packaging decision, not a reduction-math
  decision.
- quicknxsv2 and mr_reduction pass different defaults for
  ErrorWeightedBackground, CropFirstAndLastPoints, RoundUpPixel,
  AcceptNullReflectivity, UseSANGLE - each scientifically meaningful.
- QuickNXS compat post-scaling is always applied in quicknxsv2,
  conditionally in mr_reduction.
- A canonical DataInfo already exists inside Mantid as
  MRInspectData.DataInfo; both consumer copies could potentially be
  replaced with a shim that reads the sample logs Mantid writes.

Co-Authored-By: default avatarClaude Opus 4.7 (1M context) <noreply@anthropic.com>
parent 698b6362
Loading
Loading
Loading
Loading
+848 −0

File added.

Preview size limit exceeded, changes collapsed.