Skip to content

[ESSSPECTROSCOPY] Drop the position offsets from the BIFROST providers - #703

Open
SimonHeybrock wants to merge 1 commit into
bragg-peak-monitor-nxmonitorfrom
bifrost-drop-position-offsets
Open

[ESSSPECTROSCOPY] Drop the position offsets from the BIFROST providers#703
SimonHeybrock wants to merge 1 commit into
bragg-peak-monitor-nxmonitorfrom
bifrost-drop-position-offsets

Conversation

@SimonHeybrock

Copy link
Copy Markdown
Member

DetectorPositionOffset and MonitorPositionOffset are dead knobs in the BIFROST providers: both default to a zero vector, and nothing in essspectroscopy or esslivedata ever sets one.

They are also the wrong shape for this instrument. Both are added after the transform, so they are lab-frame constants, while every component they apply to rides the rotating detector tank. The correction one would actually want — "this sits a few mm off along its own axis" — is local-frame and belongs in the transformation chain, which is already the handle used for the tank angle. A fixed lab vector instead translates the whole swept arc rigidly.

essreduce says much the same where compute_detector_position is defined: the offset is "mainly used for handling files from other facilities and it is not clear if it is needed for ESS data and should be kept at all".

compute_detector_position still requires the argument, so it is pinned to no_offset at that one call rather than threaded through four signatures. The monitor provider drops the term outright.

Stacked on #698.

Testing

Positions are unchanged: the BIFROST Bragg peak Q-map in scipp/esslivedata#1236 produces a bit-identical map over a multi-angle rotation scan.

DetectorPositionOffset and MonitorPositionOffset are dead knobs here:
they default to a zero vector and nothing in essspectroscopy or
esslivedata ever sets one.

They are also the wrong shape for BIFROST. Both are added after the
transform, so they are lab-frame constants, while every component they
apply to rides the rotating detector tank. A correction one would
actually want -- "this sits a few mm off along its own axis" -- is
local-frame and belongs in the transformation chain, which is already
the handle used for the tank angle. A fixed lab vector instead
translates the whole swept arc rigidly.

essreduce says as much at the definition of compute_detector_position:
the offset is "mainly used for handling files from other facilities and
it is not clear if it is needed for ESS data and should be kept at all".

compute_detector_position still requires the argument, so it is pinned
to no_offset at that one call. The monitor provider drops the term
outright. Positions are unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the essspectroscopy Issues for essspectroscopy. label Aug 14, 2026
@SimonHeybrock
SimonHeybrock requested a review from jl-wynen August 14, 2026 05:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

essspectroscopy Issues for essspectroscopy.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant