Exemplo n.º 1
0
    def _output_focused_ws(self,
                           processed_spectra,
                           run_details,
                           output_mode=None):
        if not output_mode:
            output_mode = self._inst_settings.focus_mode

        attenuation_path = None
        if self._inst_settings.perform_atten:
            name_key = 'name'
            path_key = 'path'
            if isinstance(self._inst_settings.attenuation_files, str):
                self._inst_settings.attenuation_files = eval(
                    self._inst_settings.attenuation_files)
            atten_file_found = False
            for atten_file in self._inst_settings.attenuation_files:
                if any(required_key not in atten_file
                       for required_key in [name_key, path_key]):
                    logger.warning(
                        "A dictionary in attenuation_files has been ignored because "
                        f"it doesn't contain both {name_key} and {path_key} entries"
                    )
                elif atten_file[
                        name_key] == self._inst_settings.attenuation_file:
                    if atten_file_found:
                        raise RuntimeError(
                            f"Duplicate name {self._inst_settings.attenuation_file} found in attenuation_files"
                        )
                    attenuation_path = atten_file[path_key]
                    atten_file_found = True
            if attenuation_path is None:
                raise RuntimeError(
                    f"Unknown attenuation_file {self._inst_settings.attenuation_file} specified for attenuation"
                )

        output_spectra = \
            pearl_output.generate_and_save_focus_output(self, processed_spectra=processed_spectra,
                                                        run_details=run_details, focus_mode=output_mode,
                                                        attenuation_filepath=attenuation_path)

        group_name = "PEARL{0!s}_{1}{2}-Results-D-Grp"
        mode = "_long" if self._inst_settings.long_mode else ""
        group_name = group_name.format(run_details.output_run_string,
                                       self._inst_settings.tt_mode, mode)
        grouped_d_spacing = mantid.GroupWorkspaces(
            InputWorkspaces=output_spectra, OutputWorkspace=group_name)
        return grouped_d_spacing, None
Exemplo n.º 2
0
    def _output_focused_ws(self, processed_spectra, run_details, output_mode=None):
        if not output_mode:
            output_mode = self._inst_settings.focus_mode

        if self._inst_settings.perform_atten:
            attenuation_path = self._inst_settings.attenuation_file_path
        else:
            attenuation_path = None

        output_spectra = \
            pearl_output.generate_and_save_focus_output(self, processed_spectra=processed_spectra,
                                                        run_details=run_details, focus_mode=output_mode,
                                                        attenuation_filepath=attenuation_path)
        group_name = "PEARL" + str(run_details.output_run_string)
        group_name += '_' + self._inst_settings.tt_mode + "-Results-D-Grp"
        grouped_d_spacing = mantid.GroupWorkspaces(InputWorkspaces=output_spectra, OutputWorkspace=group_name)
        return grouped_d_spacing, None
Exemplo n.º 3
0
    def _output_focused_ws(self, processed_spectra, run_details, output_mode=None):
        if not output_mode:
            output_mode = self._inst_settings.focus_mode

        if self._inst_settings.perform_atten:
            attenuation_path = self._inst_settings.attenuation_file_path
        else:
            attenuation_path = None

        output_spectra = \
            pearl_output.generate_and_save_focus_output(self, processed_spectra=processed_spectra,
                                                        run_details=run_details, focus_mode=output_mode,
                                                        attenuation_filepath=attenuation_path)
        group_name = "PEARL" + str(run_details.output_run_string)
        group_name += '_' + self._inst_settings.tt_mode + "-Results-D-Grp"
        grouped_d_spacing = mantid.GroupWorkspaces(InputWorkspaces=output_spectra, OutputWorkspace=group_name)
        return grouped_d_spacing, None