Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change coordinates to reflectometry coordinate system #14

Open
arm61 opened this issue Nov 16, 2021 · 4 comments
Open

Change coordinates to reflectometry coordinate system #14

arm61 opened this issue Nov 16, 2021 · 4 comments

Comments

@arm61
Copy link

arm61 commented Nov 16, 2021

Currently an internal (or maybe NeXus) standard is used for what is x, y, and z. This doesn't work for reflectometry where there is already an accepted standard that depends on the sample orientation (see https://orsopy.readthedocs.io/en/latest/orsopy.fileio.base.html#orsopy.fileio.base.ValueVector). The Amor code should be modified to adhere to this reflectometry standard.

@SimonHeybrock SimonHeybrock transferred this issue from scipp/ess Nov 9, 2023
@SimonHeybrock
Copy link
Member

@jokasimr Is this still relevant with the recent rewrite?

@jokasimr
Copy link
Contributor

jokasimr commented Jun 24, 2024

Yes it is still relevant. But I'm not sure if we want to do anything about it. It would make using the coordinate transformation code in scippneutron more complicated.

Essreflectometry uses a global coordinate system similar to the rest of the instrument workflows. That is, sample is origin, z is the 'beam direction' (this becomes fuzzy when it comes to instruments with focusing like amor and estia, but it's basically the vector from sample to the the detector, projected to the horizontal plane), y is up, and x is whatever is left.

@SimonHeybrock
Copy link
Member

SimonHeybrock commented Jun 24, 2024

Is there a way to avoid referring to x, y, z at all, e.g., by callings things up, sample_normal, etc.?

@jl-wynen
Copy link
Member

jl-wynen commented Jun 24, 2024

This can mask some differences. But there is a fundamental difference between reflectometry and the other techniques. Normally, we define

  • one vector along beam
  • one vector along gravity
  • one vector in terms of first three to make a right-handed orthogonal system

But in reflectometry it seems that people use

  • one vector along beam
  • one vector normal to the sample
  • one vector based on the other two
    In this setup, you don't get an orthogonal coordinate system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Triage
Development

No branches or pull requests

4 participants