コード例 #1
0
    def test_get_fit_workspace_names_from_groups_and_runs_when_fit_to_raw_is_true(self):
        self.model.fit_to_raw = True
        self.model.context.data_context.instrument = "MUSR"

        self.model.context.group_pair_context.add_pair(MuonPair("long", "f", "b", 1.0))
        self.model.context.group_pair_context.add_pair(MuonPair("long2", "f", "b", 2.0))
        self.model.context.group_pair_context.add_pair(MuonBasePair("phase_Re_"))
        self.model.context.group_pair_context.add_pair(MuonBasePair("phase_Im_"))
        self.model.context.group_pair_context.add_pair(MuonBasePair("phase2_Re_"))
        self.model.context.group_pair_context.add_pair(MuonBasePair("phase2_Im_"))
        self.model.context.group_pair_context.add_pair_to_selected_pairs("long")
        self.model.context.group_pair_context.add_pair_to_selected_pairs("phase_Re_")
        self.model.context.group_pair_context.add_pair_to_selected_pairs("phase2_Im_")

        selection = ["long", "long2", "phase_Re_", "phase_Im_", "phase2_Re_", "phase2_Im_"]
        result = self.model.get_fit_workspace_names_from_groups_and_runs([1, 2, 3], selection)

        self.assertEqual(["MUSR1; Pair Asym; long; MA",
                          "MUSR1; PhaseQuad; phase_Re_; MA",
                          "MUSR1; PhaseQuad; phase2_Im_; MA",
                          "MUSR2; Pair Asym; long; MA",
                          "MUSR2; PhaseQuad; phase_Re_; MA",
                          "MUSR2; PhaseQuad; phase2_Im_; MA",
                          "MUSR3; Pair Asym; long; MA",
                          "MUSR3; PhaseQuad; phase_Re_; MA",
                          "MUSR3; PhaseQuad; phase2_Im_; MA"], result)
コード例 #2
0
    def test_that_AttributeError_thrown_if_setting_workspace_to_non_MuonWorkspace_object(
            self):
        pair = MuonBasePair(pair_name="pair1")

        self.assertEqual(pair.workspace, {})
        with self.assertRaises(AttributeError):
            pair.workspace = [1, 2, 3]
        self.assertEqual(pair.workspace, {})
コード例 #3
0
    def test_that_can_only_set_workspace_if_MuonWorkspace_object(self):
        pair = MuonBasePair(pair_name="pair1")
        self.assertEqual(pair.workspace, {})
        dataX = [0, 1, 2, 3, 4, 5]
        dataY = [10, 20, 30, 20, 10]
        input_workspace = CreateWorkspace(dataX, dataY)

        workspace_wrapper = MuonWorkspaceWrapper(input_workspace)
        pair.workspace = workspace_wrapper
        self.assertEqual(pair.workspace, workspace_wrapper)
コード例 #4
0
    def test_that_find_pairs_containing_groups_does_not_raise_if_one_of_the_pairs_is_a_MuonBasePair(
            self):
        self.group_pair_context.add_pair(MuonBasePair("PhaseQuad_Re_"))
        groups = ["bwd"]
        pairs = self.context.find_pairs_containing_groups(groups)

        self.assertEqual(len(pairs), 1)
        self.assertEqual(pairs[0].name, "long")
コード例 #5
0
ファイル: muon_phasequad.py プロジェクト: robertapplin/mantid
class MuonPhasequad(object):
    """
    Simple structure to store information on a phasequad.

    - The name is set at initialization and after that cannot be changed.
    - The phasquad has two pairs associated to it and are stored as MuonBasePairs.
    - The workspaces associated with the pairs can be set, but must be of type MuonWorkspaceWrapper.
    """
    def __init__(self, phasequad_name, phase_table):
        self._phasequad_name = phasequad_name
        self._phase_table = phase_table
        self._Re = MuonBasePair(phasequad_name + "_Re_")
        self._Im = MuonBasePair(phasequad_name + "_Im_")

    @property
    def Re(self):
        return self._Re

    @property
    def Im(self):
        return self._Im

    @property
    def name(self):
        return self._phasequad_name

    @property
    def phase_table(self):
        return self._phase_table

    @phase_table.setter
    def phase_table(self, new_table):
        self._phase_table = new_table

    def update_asymmetry_workspaces(self, ws_list, run, rebin=False):
        self._Re.update_asymmetry_workspace(ws_list[0], run, rebin=rebin)
        self._Im.update_asymmetry_workspace(ws_list[1], run, rebin=rebin)
コード例 #6
0
ファイル: muon_phasequad.py プロジェクト: robertapplin/mantid
 def __init__(self, phasequad_name, phase_table):
     self._phasequad_name = phasequad_name
     self._phase_table = phase_table
     self._Re = MuonBasePair(phasequad_name + "_Re_")
     self._Im = MuonBasePair(phasequad_name + "_Im_")
コード例 #7
0
 def test_that_cannot_initialize_MuonBasePair_without_name(self):
     with self.assertRaises(TypeError):
         MuonBasePair()