def attenuate_workspace(attenuation_file_path, ws_to_correct): original_units = ws_to_correct.getAxis(0).getUnit().unitID() wc_attenuated = mantid.PearlMCAbsorption(attenuation_file_path) wc_attenuated = mantid.ConvertToHistogram(InputWorkspace=wc_attenuated, OutputWorkspace=wc_attenuated) ws_to_correct = mantid.ConvertUnits(InputWorkspace=ws_to_correct, OutputWorkspace=ws_to_correct, Target=wc_attenuated.getAxis(0).getUnit().unitID()) wc_attenuated = mantid.RebinToWorkspace(WorkspaceToRebin=wc_attenuated, WorkspaceToMatch=ws_to_correct, OutputWorkspace=wc_attenuated) pearl_attenuated_ws = mantid.Divide(LHSWorkspace=ws_to_correct, RHSWorkspace=wc_attenuated) common.remove_intermediate_workspace(workspaces=wc_attenuated) pearl_attenuated_ws = mantid.ConvertUnits(InputWorkspace=pearl_attenuated_ws, OutputWorkspace=pearl_attenuated_ws, Target=original_units) return pearl_attenuated_ws
def _run_attenuate_workspace(self, input_workspace): if self._old_atten_file is None: # For old API support attenuation_path = self._attenuation_full_path else: attenuation_path = self._old_atten_file wc_attenuated = mantid.PearlMCAbsorption(attenuation_path) wc_attenuated = mantid.ConvertToHistogram(InputWorkspace=wc_attenuated, OutputWorkspace=wc_attenuated) wc_attenuated = mantid.RebinToWorkspace(WorkspaceToRebin=wc_attenuated, WorkspaceToMatch=input_workspace, OutputWorkspace=wc_attenuated) pearl_attenuated_ws = mantid.Divide(LHSWorkspace=input_workspace, RHSWorkspace=wc_attenuated) common.remove_intermediate_workspace(workspace_name=wc_attenuated) return pearl_attenuated_ws