Example #1
0
 def test_replace_axis(self):
     x_axis = NumericAxis.create(1)
     x_axis.setValue(0, 0)
     ws1 = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
         2, 1, False)
     ws1.replaceAxis(0, x_axis)
     ws2 = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
         2, 1, False)
     ws2.replaceAxis(0, x_axis)
     try:
         del ws1, ws2
     except:
         self.fail(
             "Segmentation violation when deleting the same axis twice")
Example #2
0
    def test_sort_by_value_not_string(self):
        npeaks = 5
        peaks_ws = WorkspaceCreationHelper.createPeaksWorkspace(npeaks)
        view = PeaksViewerView(None, None)
        model = PeaksViewerModel(peaks_ws, fg_color='r', bg_color='w')
        presenter = PeaksViewerPresenter(model, view)
        table_view = view.table_view
        table_model = table_view.model()

        # Very difficult to simulate mouse click to sort - trust Qt to do that
        # We are more interested that the sort is based on value no a string comparison
        # check a few columns
        for column_index in (7, 16):  # tof & qlab
            table_model.sort(column_index, Qt.DescendingOrder)

            self.assertEqual(npeaks, view.table_view.rowCount())
            # assert sort has happened
            col_values = [
                table_model.index(i, column_index).data(
                    PeaksWorkspaceDataPresenter.DATA_SORT_ROLE)
                for i in range(npeaks)
            ]
            self.assertTrue(
                all(col_values[i + 1] < col_values[i]
                    for i in range(npeaks - 1)),
                msg="TOF values have not been sorted into descending order")

        view.close()
        del presenter
Example #3
0
 def testFailLimits(self):
     w2=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
     AnalysisDataService.add('w2',w2)
     w3=CloneWorkspace('w2')
     w4=CloneWorkspace('w2')
     try:
         MaskAngle(w2,-100,20)
         self.fail("Should not have got here. Wrong angle.")
     except RuntimeError:
         pass
     finally:
         DeleteWorkspace('w2')
     try:
         MaskAngle(w3,10,200)
         self.fail("Should not have got here. Wrong angle.")
     except ValueError:
         pass
     finally:
         DeleteWorkspace('w3')
     try:
         MaskAngle(w4,100,20)
         self.fail("Should not have got here. Wrong angle.")
     except RuntimeError:
         pass
     finally:
         DeleteWorkspace('w4')
Example #4
0
 def test_addPeak_SpecialCoordinateSystem(self):
     r"""Verify we can add peaks in different coordinate systems"""
     pws = WorkspaceCreationHelper.createPeaksWorkspace(
         numPeaks=0, createOrientedLattice=True)
     pws.addPeak([1, 2, 3], SpecialCoordinateSystem.QLab)
     pws.addPeak([1, 2, 3], SpecialCoordinateSystem.QSample)
     pws.addPeak([1, 2, 3], SpecialCoordinateSystem.HKL)
 def test_information_access(self):
     signal = 2.0
     ndims = 1
     expt_ws = WorkspaceCreationHelper.makeFakeMDHistoWorkspace(signal, ndims)
     expinfo = expt_ws.getExperimentInfo(0)
     self.assertTrue(isinstance(expinfo, ExperimentInfo))
     self.assertEqual(1, expt_ws.getNumExperimentInfo())
Example #6
0
 def test_createPeakHKL(self):
     pws = WorkspaceCreationHelper.createPeaksWorkspace(0, True)
     lattice = pws.mutableSample().getOrientedLattice()
     
     # Simple test that the creational method is exposed
     p = pws.createPeakHKL([1,1,1])
     self.assertTrue(IPeak != None)
 def test_information_access(self):
     signal = 2.0
     ndims = 1
     expt_ws = WorkspaceCreationHelper.makeFakeMDHistoWorkspace(signal, ndims)
     expinfo = expt_ws.getExperimentInfo(0)
     self.assertTrue(isinstance(expinfo, ExperimentInfo))
     self.assertEquals(1, expt_ws.getNumExperimentInfo())
Example #8
0
    def test_createPeakHKL(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(0, True)
        lattice = pws.mutableSample().getOrientedLattice()

        # Simple test that the creational method is exposed
        p = pws.createPeakHKL([1,1,1])
        self.assertTrue(IPeak != None)
Example #9
0
    def test_peak_setQSampleFrame(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        p = pws.getPeak(0)
        try:
            p.setQSampleFrame(V3D(1, 1, 1))
        except Exception:
            self.fail("Tried setQSampleFrame with one V3D argument")
        self.assertAlmostEquals(p.getQSampleFrame().X(),
                                -1.4976057446828845,
                                places=10)
        self.assertAlmostEquals(p.getQSampleFrame().Y(),
                                0.059904229787315376,
                                places=10)
        self.assertAlmostEquals(p.getQSampleFrame().Z(),
                                1.4400957702126842,
                                places=10)

        try:
            p.setQSampleFrame(V3D(1, 1, 1), 1)
        except Exception:
            self.fail(
                "Tried setQSampleFrame with one V3D argument and a double distance"
            )
        self.assertAlmostEquals(p.getQSampleFrame().X(), 1.0, places=10)
        self.assertAlmostEquals(p.getQSampleFrame().Y(), 1.0, places=10)
        self.assertAlmostEquals(p.getQSampleFrame().Z(), 1.0, places=10)
Example #10
0
 def test_hasMaskedBins(self):
     numBins = 10
     numHist = 11
     ws = WorkspaceCreationHelper.create2DWorkspace123WithMaskedBin(
         numHist, numBins, 0, 1)
     self.assertTrue(ws.hasMaskedBins(0))
     self.assertFalse(ws.hasMaskedBins(1))
 def test_TotScatCalculateSelfScattering_executes(self):
     raw_ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(6, 100, True)
     mtd.addOrReplace("tot_scat_test", raw_ws)
     correction_ws = TotScatCalculateSelfScattering(InputWorkspace="tot_scat_test",
                                                    CalFileName=self.cal_file_path,
                                                    SampleGeometry=self.geometry,
                                                    SampleMaterial=self.material)
     self.assertEqual(correction_ws.getNumberHistograms(), 2)
 def test_maskedBinsIndices(self):
     numBins = 10
     numHist=11
     ws = WorkspaceCreationHelper.create2DWorkspace123WithMaskedBin(numHist, numBins, 0, 1)
     maskedBinsIndices = ws.maskedBinsIndices(0)
     self.assertEqual(1, len(maskedBinsIndices))
     for index in maskedBinsIndices:
         self.assertEqual(1, index)
Example #13
0
    def testGroupMaskAngle(self):
        ws1=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
        AnalysisDataService.add('ws1GMA',ws1)
        ws2=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
        AnalysisDataService.add('ws2GMA',ws2)

        group = GroupWorkspaces(['ws1GMA', 'ws2GMA'])
        MaskAngle(group, 10, 20)

        for w in group:
            detInfo = w.detectorInfo()
            for i in arange(w.getNumberHistograms()):
                if(i<9) or (i>18):
                    self.assertFalse(detInfo.isMasked(int(i)))
                else:
                    self.assertTrue(detInfo.isMasked(int(i)))

        DeleteWorkspace(group)
Example #14
0
    def test_validate_inputs(self):
        test_ws = WorkspaceCreationHelper.create2DWorkspaceWithRectangularInstrument(1, 5, 5)

        alg = ReflectometryISISSumBanks()
        alg.initialize()
        alg.setProperty('InputWorkspace', test_ws)

        issues = alg.validateInputs()
        self.assertEqual(len(issues), 0)
Example #15
0
    def test_validate_inputs_fails_if_not_a_rectangular_detector(self):
        test_ws = WorkspaceCreationHelper.createEventWorkspaceWithNonUniformInstrument(1, True)

        alg = ReflectometryISISSumBanks()
        alg.initialize()
        alg.setProperty('InputWorkspace', test_ws)

        issues = alg.validateInputs()
        self.assertEqual(len(issues), 1)
        self.assertEqual(issues['InputWorkspace'], 'The input workspace must contain a rectangular detector')
Example #16
0
 def testMaskAngleInPlane(self):
     w_inplane = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
     AnalysisDataService.add('w_inplane',w_inplane)
     MaskAngle(w_inplane,-5,5,Angle='InPlane')
     detInfo = w_inplane.detectorInfo()
     print('num spectra = {}'.format(w_inplane.getNumberHistograms()))
     for i in arange(w_inplane.getNumberHistograms()):
         # the entire instrument is at an in-plane angle of zero degrees
         self.assertTrue(detInfo.isMasked(int(i)), 'index={}'.format(i))
     DeleteWorkspace(w_inplane)
Example #17
0
    def test_validate_inputs_fails_if_multiple_rectangular_detectors(self):
        test_ws = WorkspaceCreationHelper.create2DWorkspaceWithRectangularInstrument(2, 5, 5)

        alg = ReflectometryISISSumBanks()
        alg.initialize()
        alg.setProperty('InputWorkspace', test_ws)

        issues = alg.validateInputs()
        self.assertEqual(len(issues), 1)
        self.assertEqual(issues['InputWorkspace'], 'The input workspace must only contain one rectangular detector: multiple were found')
Example #18
0
 def testMaskAnglePhi(self):
     w=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
     AnalysisDataService.add('w',w)
     MaskAngle(w,0,45,Angle='Phi')
     detInfo = w.detectorInfo()
     for i in arange(w.getNumberHistograms()):
         if i==0:
             self.assertTrue(detInfo.isMasked(int(i)))
         else:
             self.assertFalse(detInfo.isMasked(int(i)))
     DeleteWorkspace(w)
Example #19
0
 def testMaskAngle(self):
     w=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
     AnalysisDataService.add('w',w)
     masklist = MaskAngle(w,MinAngle=10,MaxAngle=20)
     detInfo = w.detectorInfo()
     for i in arange(w.getNumberHistograms()):
         if (i<9) or (i>18):
             self.assertFalse(detInfo.isMasked(int(i)))
         else:
             self.assertTrue(detInfo.isMasked(int(i)))
     DeleteWorkspace(w)
     self.assertTrue(array_equal(masklist,arange(10)+10))
Example #20
0
 def test_peak_setQSampleFrame(self):
     pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
     p = pws.getPeak(0)
     try:
         p.setQSampleFrame(V3D(1,1,1))
     except Exception:
         self.fail("Tried setQSampleFrame with one V3D argument")
     
     try:
         p.setQSampleFrame(V3D(1,1,1), 1)
     except Exception:
         self.fail("Tried setQSampleFrame with one V3D argument and a double distance")
    def test_setCell_with_column_name(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        pws.setCell("h", 0, 1)
        pws.setCell("k", 0, 2)
        pws.setCell("l", 0, 3)
        pws.setCell("QLab", 0, V3D(1,1,1))
        pws.setCell("QSample", 0, V3D(1,1,1))

        self.assertEquals(pws.cell("h", 0), 1)
        self.assertEquals(pws.cell("k", 0), 2)
        self.assertEquals(pws.cell("l", 0), 3)
        self.assertEquals(pws.cell("QLab", 0), V3D(1,1,1))
        self.assertEquals(pws.cell("QSample", 0), V3D(1,1,1))
Example #22
0
 def testMaskBTPWrongInstrument(self):
     w = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
         30, 5, False, False)
     AnalysisDataService.add('w', w)
     try:
         MaskBTP(Workspace=w, Pixel="1")
         self.fail(
             "Should not have got here. Should throw because wrong instrument."
         )
     except RuntimeError:
         pass
     finally:
         DeleteWorkspace(w)
Example #23
0
    def test_setCell_with_column_name(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        pws.setCell("h", 0, 1)
        pws.setCell("k", 0, 2)
        pws.setCell("l", 0, 3)
        pws.setCell("QLab", 0, V3D(1,1,1))
        pws.setCell("QSample", 0, V3D(1,1,1))

        self.assertEquals(pws.cell("h", 0), 1)
        self.assertEquals(pws.cell("k", 0), 2)
        self.assertEquals(pws.cell("l", 0), 3)
        self.assertEquals(pws.cell("QLab", 0), V3D(1,1,1))
        self.assertEquals(pws.cell("QSample", 0), V3D(1,1,1))
Example #24
0
    def test_iteration_support(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(0, True)
        hkls = ([1, 1, 1], [2, 1, 1], [1, 2, 1])
        for hkl in hkls:
            pws.addPeak(pws.createPeakHKL(hkl))

        count = 0
        for index, peak in enumerate(pws):
            count += 1
            self.assertTrue(isinstance(peak, IPeak))
            self.assertAlmostEqual(V3D(*hkls[index]), peak.getHKL())

        self.assertEquals(len(hkls), count)
Example #25
0
    def test_peak_setQSampleFrame(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        p = pws.getPeak(0)
        try:
            p.setQSampleFrame(V3D(1, 1, 1))
        except Exception:
            self.fail("Tried setQSampleFrame with one V3D argument")

        try:
            p.setQSampleFrame(V3D(1, 1, 1), 1)
        except Exception:
            self.fail(
                "Tried setQSampleFrame with one V3D argument and a double distance"
            )
Example #26
0
    def testGroupFailNoInstrument(self):
        ws1=WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(30,5,False,False)
        AnalysisDataService.add('ws1GFNI',ws1)
        ws2 = CreateWorkspace(arange(5), arange(5))
        AnalysisDataService.add('ws2GFNI',ws2)

        group = GroupWorkspaces(['ws1GFNI', 'ws2GFNI'])

        try:
            MaskAngle(group, 10, 20)
            self.fail("Should not have gotten here. Should throw because no instrument.")
        except (RuntimeError, ValueError, TypeError):
            pass
        finally:
            DeleteWorkspace(group)
Example #27
0
 def test_RectangularDetector_getattributes(self):
     testws = WorkspaceCreationHelper.create2DWorkspaceWithRectangularInstrument(3,5,5)
     i = testws.getInstrument()
     self.assertEquals(i[2].getName(),'bank3')
     self.assertEquals(i[2][2].getName(),'bank3(x=2)')
     self.assertEquals(i[2][2][2].getName(),'bank3(2,2)')
     self.assertEquals(i[2].nelements(),5)
     self.assertEquals(i[2].xstart()+i[2].xstep()*i[2].xpixels(),0.04)
     self.assertEquals(i[1].ystart()+i[1].ystep()*i[1].ypixels(),0.04)
     self.assertEquals(i[0].xsize(),0.04)
     self.assertEquals(i[2].idstart(),75)
     self.assertEquals(i[0].idstep(),1)
     self.assertEquals(i[1].idstepbyrow(),5)
     self.assertEquals(i[1].maxDetectorID(),74)
     self.assertEquals(i[1].minDetectorID(),50)
Example #28
0
 def test_RectangularDetector_getattributes(self):
     testws = WorkspaceCreationHelper.create2DWorkspaceWithRectangularInstrument(3, 5, 5)
     i = testws.getInstrument()
     self.assertEquals(i[2].getName(), "bank3")
     self.assertEquals(i[2][2].getName(), "bank3(x=2)")
     self.assertEquals(i[2][2][2].getName(), "bank3(2,2)")
     self.assertEquals(i[2].nelements(), 5)
     self.assertEquals(i[2].xstart() + i[2].xstep() * i[2].xpixels(), 0.04)
     self.assertEquals(i[1].ystart() + i[1].ystep() * i[1].ypixels(), 0.04)
     self.assertEquals(i[0].xsize(), 0.04)
     self.assertEquals(i[2].idstart(), 75)
     self.assertEquals(i[0].idstep(), 1)
     self.assertEquals(i[1].idstepbyrow(), 5)
     self.assertEquals(i[1].maxDetectorID(), 74)
     self.assertEquals(i[1].minDetectorID(), 50)
Example #29
0
 def testSortDetectors(self):
     w = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
         10, 2, False, False)
     AnalysisDataService.add('w', w)
     MoveInstrumentComponent(w,
                             DetectorID=3,
                             X=0.,
                             Y=0,
                             Z=-7.,
                             RelativePosition=0)
     x = SortDetectors(w)
     DeleteWorkspace(w)
     self.assertTrue(array_equal(x[0], array([2])))
     self.assertTrue(array_equal(x[1], array([7.])))
     self.assertTrue(array_equal(x[2], array([0, 1, 3, 4, 5, 6, 7, 8, 9])))
     self.assertEqual(x[3][0], 5.)
Example #30
0
    def test_MaskWorkspace_Is_Retrievable(self):
        dummy_ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(2, 102, False) # no monitors
        ws_name = "dummy"
        AnalysisDataService.add(ws_name, dummy_ws)
        run_algorithm('MaskDetectors', Workspace=ws_name, WorkspaceIndexList=1)
        mask_name = 'mask_ws'
        run_algorithm('ExtractMask', InputWorkspace=ws_name, OutputWorkspace=mask_name)
        masked_ws = AnalysisDataService[mask_name]

        self.assertTrue(isinstance(masked_ws, IMaskWorkspace))
        self.assertEqual(1, masked_ws.getNumberMasked())
        # single number
        self.assertTrue(not masked_ws.isMasked(1))
        self.assertTrue(masked_ws.isMasked(2))
        # list
        self.assertTrue(not masked_ws.isMasked([1]))
        self.assertTrue(masked_ws.isMasked([2]))
Example #31
0
    def test_MaskWorkspace_Is_Retrievable(self):
        dummy_ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(2, 102, False) # no monitors
        ws_name = "dummy"
        AnalysisDataService.add(ws_name, dummy_ws)
        run_algorithm('MaskDetectors', Workspace=ws_name, WorkspaceIndexList=1)
        mask_name = 'mask_ws'
        run_algorithm('ExtractMask', InputWorkspace=ws_name, OutputWorkspace=mask_name)
        masked_ws = AnalysisDataService[mask_name]

        self.assertTrue(isinstance(masked_ws, IMaskWorkspace))
        self.assertEqual(1, masked_ws.getNumberMasked())
        # single number
        self.assertTrue(not masked_ws.isMasked(1))
        self.assertTrue(masked_ws.isMasked(2))
        # list
        self.assertTrue(not masked_ws.isMasked([1]))
        self.assertTrue(masked_ws.isMasked([2]))
    def test_peak_setQLabFrame(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        p = pws.getPeak(0)
        try:
            p.setQLabFrame(V3D(1,1,1))
        except Exception:
            self.fail("Tried setQLabFrame with one V3D argument")

        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Y(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Z(), 1.0, places=10)

        try:
            p.setQLabFrame(V3D(1,1,1), 1)
        except Exception:
            self.fail("Tried setQLabFrame with one V3D argument and a double distance")
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Y(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Z(), 1.0, places=10)
Example #33
0
    def test_interface(self):
        """ Rudimentary test to get peak and get/set some values """
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1)
        self.assertTrue(isinstance(pws, IPeaksWorkspace))
        self.assertEqual(pws.getNumberPeaks(), 1)
        p = pws.getPeak(0)

        # Try a few IPeak get/setters. Not everything.
        p.setH(234)
        self.assertEqual(p.getH(), 234)
        p.setHKL(5,6,7)
        self.assertEqual(p.getH(), 5)
        self.assertEqual(p.getK(), 6)
        self.assertEqual(p.getL(), 7)

        hkl = p.getHKL()
        self.assertEquals(hkl, V3D(5,6,7))

        p.setIntensity(456)
        p.setSigmaIntensity(789)
        self.assertEqual(p.getIntensity(), 456)
        self.assertEqual(p.getSigmaIntensity(), 789)

        # Finally try to remove a peak
        pws.removePeak(0)
        self.assertEqual(pws.getNumberPeaks(), 0)

        # Create a new peak at some Q in the lab frame
        qlab = V3D(1,2,3)
        p = pws.createPeak(qlab, 1.54)
        p.getQLabFrame()
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, 3)

        # Now try to add the peak back
        pws.addPeak(p)
        self.assertEqual(pws.getNumberPeaks(), 1)

        # Check that it is what we added to it
        p = pws.getPeak(0)
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, 3)

        # Peaks workspace will not be integrated by default.
        self.assertTrue(not pws.hasIntegratedPeaks())
Example #34
0
    def test_peak_setQLabFrame(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1, True)
        p = pws.getPeak(0)
        try:
            p.setQLabFrame(V3D(1,1,1))
        except Exception:
            self.fail("Tried setQLabFrame with one V3D argument")

        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Y(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Z(), 1.0, places=10)

        try:
            p.setQLabFrame(V3D(1,1,1), 1)
        except Exception:
            self.fail("Tried setQLabFrame with one V3D argument and a double distance")
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Y(), 1.0, places=10)
        self.assertAlmostEquals( p.getQLabFrame().Z(), 1.0, places=10)
Example #35
0
    def test_interface(self):
        """ Rudimentary test to get peak and get/set some values """
        pws = WorkspaceCreationHelper.createPeaksWorkspace(1)
        self.assertTrue(isinstance(pws, IPeaksWorkspace))
        self.assertEqual(pws.getNumberPeaks(), 1)
        p = pws.getPeak(0)

        # Try a few IPeak get/setters. Not everything.
        p.setH(234)
        self.assertEqual(p.getH(), 234)
        p.setHKL(5,6,7)
        self.assertEqual(p.getH(), 5)
        self.assertEqual(p.getK(), 6)
        self.assertEqual(p.getL(), 7)

        hkl = p.getHKL()
        self.assertEquals(hkl, V3D(5,6,7))

        p.setIntensity(456)
        p.setSigmaIntensity(789)
        self.assertEqual(p.getIntensity(), 456)
        self.assertEqual(p.getSigmaIntensity(), 789)

        # Finally try to remove a peak
        pws.removePeak(0)
        self.assertEqual(pws.getNumberPeaks(), 0)

        # Create a new peak at some Q in the lab frame
        qlab = V3D(1,2,3)
        p = pws.createPeak(qlab, 1.54)
        p.getQLabFrame()
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, 3)

        # Now try to add the peak back
        pws.addPeak(p)
        self.assertEqual(pws.getNumberPeaks(), 1)

        # Check that it is what we added to it
        p = pws.getPeak(0)
        self.assertAlmostEquals( p.getQLabFrame().X(), 1.0, 3)

        # Peaks workspace will not be integrated by default.
        self.assertTrue(not pws.hasIntegratedPeaks())
Example #36
0
    def test_col_rol(self):
        pws = WorkspaceCreationHelper.createPeaksWorkspace(0, True)

        # Incident wavevector
        wavelength = 2.0  # Angstroms
        k = 2 * math.pi / wavelength
        ki = pws.getInstrument().getReferenceFrame().vecPointingAlongBeam() * k

        # Final Wavevector
        detector_id = 42  # column_id = 4, row_id = 2
        kf = pws.componentInfo().position(detector_id)
        kf = kf * (k / kf.norm())

        # Peak
        q_lab = ki - kf  # inelastic convention
        peak = pws.createPeak(q_lab)
        pws.addPeak(peak)
        col, row = pws.row(0)['Col'], pws.row(0)['Row']
        self.assertAlmostEqual(col, 4)
        self.assertAlmostEquals(row, 2)
Example #37
0
 def setUp(self):
     if self._test_ws is None:
         self.__class__._test_ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
             2, 102, False)  # no monitors
 def test_hasMaskedBins(self):
     numBins = 10
     numHist=11
     ws = WorkspaceCreationHelper.create2DWorkspace123WithMaskedBin(numHist, numBins, 0, 1)
     self.assertTrue(ws.hasMaskedBins(0))
     self.assertFalse(ws.hasMaskedBins(1))
 def setUp(self):
     if self._test_ws is None:
         self.__class__._test_ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(
             2, 102, False)  # no monitors
Example #40
0
 def setUp(self):
     if self._test_mdws is None:
         signal = 3.0
         self.__class__._test_mdws = WorkspaceCreationHelper.makeFakeMDHistoWorkspace(signal, self._test_ndims) # A type of MDGeometry
Example #41
0
 def setUp(self):
     if self.__class__._ws is None:
         self.__class__._ws = WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(2, 1, False) # no monitors
         self.__class__._ws.getSpectrum(0).clearDetectorIDs()
Example #42
0
 def setUp(self):
     if self._test_mdws is None:
         signal = 3.0
         self.__class__._test_mdws = WorkspaceCreationHelper.makeFakeMDHistoWorkspace(signal, self._test_ndims) # A type of MDGeometry
Example #43
0
 def _createMultiSpectra(self, wkspname):
     wksp = WCH.create2DWorkspaceWithFullInstrument(30, 5, False, False)
     AnalysisDataService.add(wkspname, wksp)
Example #44
0
 def setUp(self):
     if self.__testws is None:
         self.__class__.__testws = \
             WorkspaceCreationHelper.create2DWorkspaceWithFullInstrument(1,1)
Example #45
0
 def setUp(self):
     if self._test_ws is None:
         self.__class__._test_ws = \
           WorkspaceCreationHelper.createEventWorkspace2(self._npixels, self._nbins)