Ticket #10007 (closed: fixed)
Make Resolution Calculation More robust.
Reported by: | Owen Arnold | Owned by: | Harry Jeffery |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.3 |
Component: | Reflectometry | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #10161 | Tester: | Owen Arnold |
Description
John, the SURF instrument scientist is finding this routine unreliable.
This could possibly be done as a separate Algorithm, which would work nicely with the workflow algorithm approach we are currently using.
Change History
comment:4 Changed 6 years ago by Harry Jeffery
Add new algorithm: CalculateResolution.
This algoritm is to replace the calcRes function found in refl_gui.py. It is used to calculate the resolution (dq/q) for reflectometry, given the instrument and a value of theta.
Refs #10007.
Changeset: 958d8d7be81c31feaf25021c98739fce209dee8a
comment:5 Changed 6 years ago by Harry Jeffery
Add documentation for CalculateResolution.
Refs #10007.
Changeset: 81a8a9859492f9e3b2651707fcad56a4796a8479
comment:6 Changed 6 years ago by Harry Jeffery
Add unit test for CalculateResolution.
Refs #10007.
Changeset: 196165720279b4ad834c1859ec79d490e6dc8b4a
comment:7 Changed 6 years ago by Harry Jeffery
Replace calcRes with CalculateResolution.
Refs #10007.
Changeset: e2e92535501279d7b7ff0cd5752cc3a680d80fdc
comment:8 Changed 6 years ago by Harry Jeffery
Remove orphaned function from refl_gui.py
Refs #10007.
Changeset: ab968931fb6c256347421008f66f00d0fadec08c
comment:9 Changed 6 years ago by Harry Jeffery
- Status changed from inprogress to verify
- Resolution set to fixed
Testing
- Code inspection - https://github.com/mantidproject/mantid/compare/feature/10007_make_resolution_calculation_more_robust
- Test the reflectometry interface before and after the new algorithm, verify the behaviour is the same.
- Verify the new unit test is passing.
- Verify the usage example is passing.
- Review documentation.
comment:10 Changed 6 years ago by Owen Arnold
- Status changed from verify to verifying
- Tester set to Owen Arnold
comment:11 Changed 6 years ago by Owen Arnold
- Status changed from verifying to reopened
- Resolution fixed deleted
- Theta should be labelled 'two theta scattering angle' in the algorithm property description. There is a bit of confusion around this regarding the naming in the original user generated code, but we want to make sure that it's documented in the algorithm as this.
- Hard coded names 'slit1', 'slit2' 'vertical gap' etc are bad. These should be input property names (property with value string), which default to these current values.
- Should not assume instrument geometry (as was done in the refl_gui code). Use the reference frame to determine what you want and take dot products between reference frame axis and the positions of components to complete the calculations. See SpecularReflectionCalculateTheta.cpp.
- As a minor thing. Probably best to fetch the parameterized instrument once and pass the shared pointer about.
comment:13 Changed 6 years ago by Harry Jeffery
Parameterize strings in CalculateResolution.
Refs #10007.
Changeset: 5bc6180a7d69342c735a931c0513cf5410b32766
comment:14 Changed 6 years ago by Harry Jeffery
Rename theta to two theta for clarity.
Refs #10007.
Changeset: 247e3ddc9a7c9f960d67a9b50bc7be22a07069bb
comment:15 Changed 6 years ago by Harry Jeffery
comment:16 Changed 6 years ago by Harry Jeffery
Make CalculateResolution orientation agnostic.
Refs #10007.
Changeset: becb916dc06e1f7664b02cc48b19ec67b529989e
comment:17 Changed 6 years ago by Harry Jeffery
comment:18 Changed 6 years ago by Harry Jeffery
- Status changed from inprogress to verify
- Resolution set to fixed
comment:20 Changed 6 years ago by Owen Arnold
- Status changed from verify to closed
Merge remote-tracking branch 'origin/feature/10007_make_resolution_calculation_more_robust'
Full changeset: cd16a0dc651afa655a6ef156d184fc22f7be0b00
comment:21 Changed 6 years ago by Owen Arnold
refs #10007. Not quite wired up correctly.
Changeset: 7560909ce7217e5b3f35f88eaeb527d0ad3b80ff
comment:22 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 10849