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

Gravity correction #62

Closed
SimonHeybrock opened this issue Apr 26, 2021 · 15 comments
Closed

Gravity correction #62

SimonHeybrock opened this issue Apr 26, 2021 · 15 comments
Labels
enhancement New feature or request

Comments

@SimonHeybrock
Copy link
Member

In scipp/ess/pull/15 @arm61 added code for gravity corrections. Gravity corrections are generic and also used by other techniques, in particular SANS. Therefore it is a good condidate for inclusion in scippneutron.

Requirements:

Questions:

  • Is gravity correction for the primary flight-path required? If so, how?
  • Is a generic correction possible, or are there specifics to reflectometry, such as handing of finity beam/sample size?
  • In SANS beam is often perpendicular to \vec g, but not so in reflectometry? Does it even make sense to have a common implementation?
@SimonHeybrock SimonHeybrock added the enhancement New feature or request label Apr 26, 2021
@arm61
Copy link

arm61 commented Apr 26, 2021

Two comments for this:

  1. Do you want me to raise this at the IDS meeting today?
  2. If the IDSs think this is an important/worthwhile feature, I can probably work on putting together a document looking at the effect of gravity in the different scattering geometries. Would that be useful to inform implementation?

@SimonHeybrock
Copy link
Member Author

I think 2) could be valuable, so we can fully understand which aspects need to be corrected. Having a unified mechanism would be a big advantage imho.

@arm61
Copy link

arm61 commented Apr 26, 2021

I will add it to the agenda for the meeting today and speak to the others about the requirements.

@arm61
Copy link

arm61 commented Apr 26, 2021

It seems there is interest from at least myself and Wojtek for this to be general. I will try and put a document together looking at this this week.

@SimonHeybrock
Copy link
Member Author

@arm61 Could you write that document as a Jupyter notebook? This will makes things very easy if we get around to implement it, since we can just reuse (parts of) the notebook in the documentation.

@arm61
Copy link

arm61 commented Apr 28, 2021

Github won't let me upload a notebook, see Slack.

@SimonHeybrock
Copy link
Member Author

SimonHeybrock commented Apr 29, 2021

Thanks, I have placed it in a branch: https://github.com/scipp/scippneutron/blob/gravity-discussion/docs/user-guide/gravity.ipynb (including outputs for online viewing, should remove that branch later).

@arm61
Copy link

arm61 commented Apr 29, 2021

Cheers, my feeling is that a general detector correction which rebins the data to remove the effect of gravity should be possible. I could put this together in Python but doubt my C++ is up to the level necessary to do it properly.

@SimonHeybrock
Copy link
Member Author

Maybe I missed it in the notebook, but do we ever need to correct the (angle of the) incident beam for gravity? Or do slits and other components generally ensure that this is irrelevant?

@arm61
Copy link

arm61 commented Apr 29, 2021

I don't have this in the notebook yet as it is something I am not 100 % sure of myself. For the Amor code, the assumption is that everything on the detector is specular intensity and therefore $\theta_i = \theta_f$. However, there are some papers from the ILL (see Figure 7 in the attached) which suggest that gravity before the neutron is incident should be accounted for.
figaro-focus-point.pdf

@arm61
Copy link

arm61 commented Apr 29, 2021

I have just spoken to @ajj about this for SANS and it sounds like there is more complexity. He suggested looking at the Mantid procedures for this.

@OwenArnold
Copy link
Contributor

@arm61 @wpotrzebowski where are we with this? It seems like details are still being worked out regarding how this should work for SANS? Is there anything I can do to expedite this?

@SimonHeybrock
Copy link
Member Author

@jl-wynen Can we consider this fixed based on your recent additions?

@jl-wynen
Copy link
Member

I think this could have been closed earlier as this issue seems to be about figuring out whether and how to correct for gravity. We know this now.

But the code in ESSreflectometry is still separate from ESSsans and ScippNeutron. We can, and I think should, merge the implementations. I opened a new issue in ESSreflectometry to track this: scipp/essreflectometry#54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants