Skip to content
Snippets Groups Projects
MuonProcessTest.py 1.97 KiB
Newer Older
#pylint: disable=no-init
import stresstesting
from mantid.simpleapi import *

class MuonProcessTest(stresstesting.MantidStressTest):

    def runTest(self):
      # Create custom grouping
        grouping = WorkspaceFactory.createTable()
        grouping.addColumn("vector_int", "Detectors")
        grouping.addRow([range(33,65)])
        grouping.addRow([range(1,33)])
        mtd.addOrReplace("MuonProcess_Grouping", grouping)

      # Create custom dead times
        deadTimes = WorkspaceFactory.createTable()
        deadTimes.addColumn("int", "Index")
        deadTimes.addColumn("double", "Value")
        for i in range(1, 65):
            deadTimes.addRow([i, i * 0.01])
        mtd.addOrReplace("MuonProcess_DeadTimes", deadTimes)

        load_result = LoadMuonNexus(Filename = "MUSR00015192",
                                    OutputWorkspace = "MuonProcess_Loaded")
        loaded_time_zero = load_result[2]

        MuonProcess(InputWorkspace = "MuonProcess_Loaded",
                    DetectorGroupingTable = "MuonProcess_Grouping",
                    ApplyDeadTimeCorrection = True,
                    DeadTimeTable = "MuonProcess_DeadTimes",
                    SummedPeriodSet = "2",
                    SubtractedPeriodSet = "1",
                    LoadedTimeZero = loaded_time_zero,
                    Xmin = 0.11,
                    Xmax = 10.0,
                    RebinParams = "0.032",
                    OutputType = "PairAsymmetry",
                    PairFirstIndex = 0,
                    PairSecondIndex = 1,
                    Alpha = 0.8,
                    OutputWorkspace = "MuonProcess_MUSR00015192")

    def validate(self):
        return "MuonProcess_MUSR00015192", "MuonLoad_MUSR00015192.nxs"

    def cleanup(self):
        mtd.remove("MuonProcess_MUSR00015192")
        mtd.remove("MuonProcess_Grouping")
        mtd.remove("MuonProcess_DeadTimes")
        mtd.remove("MuonProcess_Loaded")