Exemple #1
0
    def runTest(self):

        #
        propman = PropertyManager('LET')


        propman.sample_run = 6278 #event nexus file
        propman.load_monitors_with_workspace = False

        # Here we have known problem of propman loading new IDF, and
        # workspace is written using old IDF. New IDF has mon1_norm_spec =73729
        # and ei_mon1_spec=73734   (on January 2015) and old
        # IDF -- mon1_norm_spec =40961 and 40966 (forever)
        # Normalized by monitor-1. -- need monitor1 and ei needs ei_mon1_spec
        # This problem is hopefully fixed in reduction now, but here
        # we have to specify these values manually to guard against
        # changes in a future. This issue should be now fixed through varions means
        propman.normalise_method='monitor-1'
        # Adjust old IDF to new changes. This may change when loader is modified.
        propman.ei_mon2_spec  = [5506,5505,5507]
        propman.spectra_to_monitors_list=[5506,5505,5507]
        #
        ws = PropertyManager.sample_run.get_workspace()
        # apply IDF property, correspondent to this particular time interval
        propman.update_defaults_from_instrument(ws.getInstrument())
        self.assertEqual(int(propman.mon1_norm_spec),40961)
        self.assertEqual(propman.ei_mon1_spec,40966)


        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue(not mon_ws is None)

        self.assertTrue(isinstance(ws,IEventWorkspace))
        self.assertEqual(ws.getNumberHistograms(),40960)
        self.assertTrue(isinstance(mon_ws,Workspace))
        #
        self.assertEqual(mon_ws.getNumberHistograms(),11)

        ei_ws = GetAllEi(mon_ws,40966,40967,IgnoreSecondMonitor=True)
        self.assertTrue(isinstance(ei_ws,Workspace))

        self.valid = True
Exemple #2
0
    def runTest(self):
        #
        propman = PropertyManager('MER')
        propman.sample_run = 6398  # (raw file)
        propman.det_cal_file = 6399
        propman.load_monitors_with_workspace = False
        propman.mon1_norm_spec = 69633
        propman.ei_mon1_spec = [69634, 69635, 69636, 69637]
        propman.ei_mon2_spec = [69638, 69639, 69640, 69641]

        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertNotEqual(mon_ws, None)

        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws, Workspace))
        self.assertEqual(ws.getNumberHistograms(), 69632)
        self.assertEqual(mon_ws.getNumberHistograms(), 9)

        propman.sample_run = None  # (clean things up)
        propman.load_monitors_with_workspace = True
        propman.sample_run = 6398

        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertNotEqual(mon_ws, None)
        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws, Workspace))
        self.assertEqual(ws.getNumberHistograms(), 69641)
        self.assertEqual(mon_ws.getNumberHistograms(), 69641)

        propman.sample_run = 18492  # (histogram nxs file )
        propman.det_cal_file = None
        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue('SR_MER018492' in mtd)
        self.assertNotEqual(mon_ws, None)
        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws, Workspace))
        self.assertEqual(ws.getNumberHistograms(), 69641)
        self.assertEqual(mon_ws.getNumberHistograms(), 69641)
        self.assertEqual(mon_ws.getIndexFromSpectrumNumber(69638), 69637)
        det = mon_ws.getDetector(69632)
        self.assertTrue(det.isMonitor())
        det = mon_ws.getDetector(69631)
        self.assertFalse(det.isMonitor())

        #  enable when bug #10980 is fixed
        propman.sample_run = None  # delete all
        self.assertFalse('SR_MER018492' in mtd)
        propman.sample_run = 18492  # (histogram nxs file )
        propman.load_monitors_with_workspace = False
        propman.det_cal_file = None
        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertNotEqual(mon_ws, None)
        self.assertTrue('SR_MER018492_monitors' in mtd)

        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws, Workspace))
        self.assertEqual(ws.getNumberHistograms(), 69632)
        self.assertEqual(mon_ws.getNumberHistograms(), 9)
        self.assertEqual(mon_ws.getIndexFromSpectrumNumber(69633), 0)
        det = mon_ws.getDetector(0)
        self.assertTrue(det.isMonitor())

        ei_ws = GetAllEi(mon_ws, 69634, 69638, IgnoreSecondMonitor=False)
        self.assertTrue(isinstance(ei_ws, Workspace))

        en_peaks = ei_ws.readX(0)
        self.assertAlmostEqual(len(en_peaks), 1)
        self.assertAlmostEqual(en_peaks[0], 108.94, 2)

        self.valid = True
    def runTest(self):
        #
        propman = PropertyManager('MER')
        propman.sample_run = 6398 # (raw file)
        propman.det_cal_file = 6399
        propman.load_monitors_with_workspace = False
        propman.mon1_norm_spec =  69633
        propman.ei_mon1_spec = [ 69634,69635,69636,69637]
        propman.ei_mon2_spec = [ 69638,69639,69640,69641]

        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue(mon_ws is not None)

        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws,Workspace))
        self.assertEqual(ws.getNumberHistograms(),69632)
        self.assertEqual(mon_ws.getNumberHistograms(),9)

        propman.sample_run = None # (clean things up)
        propman.load_monitors_with_workspace = True
        propman.sample_run  = 6398

        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue(mon_ws is not None)
        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws,Workspace))
        self.assertEqual(ws.getNumberHistograms(),69641)
        self.assertEqual(mon_ws.getNumberHistograms(),69641)

        propman.sample_run = 18492 # (histogram nxs file )
        propman.det_cal_file = None
        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue('SR_MER018492' in mtd)
        self.assertTrue(mon_ws is not None)
        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws,Workspace))
        self.assertEqual(ws.getNumberHistograms(),69641)
        self.assertEqual(mon_ws.getNumberHistograms(),69641)
        self.assertEqual(mon_ws.getIndexFromSpectrumNumber(69638),69637)
        det = mon_ws.getDetector(69632)
        self.assertTrue(det.isMonitor())
        det = mon_ws.getDetector(69631)
        self.assertFalse(det.isMonitor())

        #  enable when bug #10980 is fixed
        propman.sample_run = None # delete all
        self.assertFalse('SR_MER018492' in mtd)
        propman.sample_run = 18492 # (histogram nxs file )
        propman.load_monitors_with_workspace = False
        propman.det_cal_file = None
        mon_ws = PropertyManager.sample_run.get_monitors_ws()
        self.assertTrue(mon_ws is not None)
        self.assertTrue('SR_MER018492_monitors' in mtd)

        ws = PropertyManager.sample_run.get_workspace()
        self.assertTrue(isinstance(ws,Workspace))
        self.assertEqual(ws.getNumberHistograms(),69632)
        self.assertEqual(mon_ws.getNumberHistograms(),9)
        self.assertEqual(mon_ws.getIndexFromSpectrumNumber(69633),0)
        det = mon_ws.getDetector(0)
        self.assertTrue(det.isMonitor())

        ei_ws = GetAllEi(mon_ws,69634,69638,IgnoreSecondMonitor=False)
        self.assertTrue(isinstance(ei_ws,Workspace))

        en_peaks = ei_ws.readX(0)
        self.assertAlmostEqual(len(en_peaks),1)
        self.assertAlmostEqual(en_peaks[0],108.94,2)

        self.valid = True