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

Add check if sample details exists before applying absorption correction in diffraction script #36809

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 7 additions & 1 deletion scripts/Diffraction/isis_powder/abstract_inst.py
Expand Up @@ -198,7 +198,13 @@ def _apply_absorb_corrections(self, run_details, ws_to_correct):
:param ws_to_correct: A reference vanadium workspace to match the binning of or correct
:return: A workspace containing the corrections
"""
raise NotImplementedError("apply_absorb_corrections Not implemented for this instrument yet")
if self._sample_details is None:
raise ValueError(
"Absorption corrections cannot be run without sample details."
" Please set sample details using set_sample before running absorption corrections."
)

self._apply_absorb_corrections(run_details=run_details, ws_to_correct=input_workspace)

def _apply_paalmanpings_absorb_and_subtract_empty(self, workspace, summed_empty, sample_details, paalman_pings_events_per_point=None):
"""
Expand Down
5 changes: 0 additions & 5 deletions scripts/Diffraction/isis_powder/hrpd.py
Expand Up @@ -132,11 +132,6 @@ def _apply_absorb_corrections(self, run_details, ws_to_correct):
multiple_scattering=self._inst_settings.multiple_scattering,
msevents=self._inst_settings.mayers_mult_scat_events,
)
elif self._sample_details is None:
raise RuntimeError(
"Absorption corrections cannot be run without sample details."
" Please set sample details using set_sample before running absorption corrections."
)
elif self._sample_details.shape_type() == "slab":
return hrpd_algs.calculate_slab_absorb_corrections(ws_to_correct=ws_to_correct, sample_details_obj=self._sample_details)
else:
Expand Down
3 changes: 0 additions & 3 deletions scripts/Diffraction/isis_powder/osiris.py
Expand Up @@ -189,9 +189,6 @@ def _apply_absorb_corrections(self, run_details, ws_to_correct):
else:
events_per_point = 1000

if self._sample_details is None:
raise TypeError("To apply absorption correction you need to supply `sample_details` using `set_sample_details` method")

container_geometry = self._sample_details.generate_container_geometry()
container_material = self._sample_details.generate_container_material()
if container_geometry and container_material:
Expand Down