### Rename algorithm SuggestTibCNCS

```
Signed-off-by: Jose Borreguero <borreguero@gmail.com>```
parent 4cbd7fc0
 ... ... @@ -177,7 +177,7 @@ set(PYTHON_PLUGINS algorithms/SortDetectors.py algorithms/StatisticsOfTableWorkspace.py algorithms/StringToPng.py algorithms/SuggestTibCNCS.py algorithms/CNCSSuggestTIB.py algorithms/SuggestTibHYSPEC.py algorithms/Symmetrise.py algorithms/TOFTOFCropWorkspace.py ... ...
 ... ... @@ -5,8 +5,12 @@ # Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS # SPDX - License - Identifier: GPL - 3.0 + #pylint: disable=no-init,invalid-name # package imports from mantid.api import PythonAlgorithm, AlgorithmFactory from mantid.kernel import FloatBoundedValidator,Direction from mantid.utils.deprecator import deprecated_alias # third party imports import numpy as np #pylint: disable=too-few-public-methods ... ... @@ -16,36 +20,45 @@ class Interval(object): """Simple class that provides check for overlapping intervals """ def __init__(self,minv,maxv): self.min=minv self.max=maxv def __init__(self, minv, maxv): self.min = minv self.max = maxv def overlap(self, other): if other.max >self.min and other.max self.min and other.max < self.max: return True if other.min >self.min and other.min self.min and other.min < self.max: return True if other.minself.max: if other.min < self.min and other.max > self.max: return True return False class SuggestTibCNCS(PythonAlgorithm): @deprecated_alias('2021-09-16') class CNCSSuggestTIB(PythonAlgorithm): """ Check if certain sample logs exists on a workspace """ @staticmethod def e2v(energy): return np.sqrt(energy / 5.227e-6) def alias(self): r"""Alternative name to this algorithm""" return 'SuggestTibCNCS' def category(self): """ Return category """ return "Inelastic\\Utility" def seeAlso(self): return [ "SuggestTibHYSPEC" ] return ["SuggestTibHYSPEC"] def name(self): """ Return name """ return "SuggestTibCNCS" return "CNCSSuggestTIB" def summary(self): """ Return summary ... ... @@ -55,98 +68,95 @@ class SuggestTibCNCS(PythonAlgorithm): def PyInit(self): """ Declare properties """ val=FloatBoundedValidator() val.setBounds(0.5,50) #reasonable incident nergy range for CNCS self.declareProperty("IncidentEnergy",0.,val,"Incident energy (0.5 to 50 meV)") self.declareProperty("TibMin",0.,Direction.Output) self.declareProperty("TibMax",0.,Direction.Output) val = FloatBoundedValidator() val.setBounds(0.5, 50) # reasonable incident energy range for CNCS self.declareProperty("IncidentEnergy", 0., val, "Incident energy (0.5 to 50 meV)") self.declareProperty("TibMin", 0., Direction.Output) self.declareProperty("TibMax", 0., Direction.Output) return def e2v(self,energy): return np.sqrt(energy/5.227e-6) #pylint: disable=too-many-branches # pylint: disable=too-many-branches def PyExec(self): """ Main execution body """ #get parameter # get parameter energy = self.getProperty("IncidentEnergy").value frame=1e6/60. #calculate tel, tmin, tmax, tinf, tpulse tel=1e6*(3.5+36.262)/self.e2v(energy) tmin=tel-frame*0.5 if tmin<0: tmin=0. tmax=tmin+frame tinf=1e6*(36.262)/self.e2v(energy) if tinftinf-frame: if i.min > tinf - frame: timestocheck.append(i.min) timestocheck.sort() timestocheck.reverse() for t in timestocheck: tInterval=Interval(t-dtib,t) if all( not inter.overlap(tInterval) for inter in intervalList ): tibmin=tInterval.min tibmax=tInterval.max tInterval = Interval(t - dtib, t) if all(not inter.overlap(tInterval) for inter in intervalList): tibmin = tInterval.min tibmax = tInterval.max break tInterval=Interval(t-dtibreduced,t) if all( not inter.overlap(tInterval) for inter in intervalList ): tibmin=tInterval.min tibmax=tInterval.max tInterval = Interval(t - dtibreduced, t) if all(not inter.overlap(tInterval) for inter in intervalList): tibmin = tInterval.min tibmax = tInterval.max break #move to the data frame if tibmin
 ... ... @@ -20,7 +20,7 @@ class SuggestTibHYSPEC(PythonAlgorithm): return "Inelastic\\Utility" def seeAlso(self): return [ "SuggestTibCNCS" ] return [ "CNCSSuggestTIB" ] def name(self): """ Return name ... ...
 ... ... @@ -110,7 +110,7 @@ set(TEST_PY_FILES SortDetectorsTest.py StatisticsOfTableWorkspaceTest.py StringToPngTest.py SuggestTibCNCSTest.py CNCSSuggestTIBTest.py SuggestTibHYSPECTest.py SymmetriseTest.py UpdatePeakParameterTableValueTest.py ... ...
 ... ... @@ -9,21 +9,21 @@ from mantid import simpleapi import numpy class SuggestTibCNCSTest(unittest.TestCase): class CNCSSuggestTIBTest(unittest.TestCase): def test_simple(self): result = simpleapi.SuggestTibCNCS(3.) result = simpleapi.CNCSSuggestTIB(3.) self.assertAlmostEqual(result * 0.1, 4491.5, 0) self.assertAlmostEqual(result * 0.1, 4731.5, 0) result = simpleapi.SuggestTibCNCS(1.) result = simpleapi.CNCSSuggestTIB(1.) self.assertAlmostEqual(result * 0.1, 9562.1, 0) self.assertAlmostEqual(result * 0.1, 9902.1, 0) result = simpleapi.SuggestTibCNCS(6.) result = simpleapi.CNCSSuggestTIB(6.) self.assertAlmostEqual(result * 0.1, 2983.3, 0) self.assertAlmostEqual(result * 0.1, 3323.3, 0) def test_someresult(self): for en in numpy.arange(1., 30., 0.1): result = simpleapi.SuggestTibCNCS(en) result = simpleapi.CNCSSuggestTIB(en) self.assertTrue(result - result > 1000.) ... ...
 ... ... @@ -47,7 +47,7 @@ class CNCSReductionTest(systemtesting.MantidSystemTest): Load(Filename='CNCS_23936-23937',OutputWorkspace='sum') GenerateGroupingPowder(InputWorkspace="sum",AngleStep=0.5,GroupingFilename=self.groupingFile) Ei=mtd['sum'].getRun()['EnergyRequest'].firstValue() tib=SuggestTibCNCS(Ei) tib=CNCSSuggestTIB(Ei) DgsReduction( SampleInputWorkspace="sum", OutputWorkspace="reduced", ... ...
 ... ... @@ -21,19 +21,19 @@ Usage **Example:** .. testcode:: ExSuggestTibCNCS .. testcode:: ExCNCSSuggestTIB incidentEnergy = 3 (tibMin,tibMax) = SuggestTibCNCS(incidentEnergy) (tibMin,tibMax) = CNCSSuggestTIB(incidentEnergy) print("Incident Energy = %i, tibMin = %.2f, tibMax = %.2f" % (incidentEnergy,tibMin,tibMax)) incidentEnergy = 1 (tibMin,tibMax) = SuggestTibCNCS(incidentEnergy) (tibMin,tibMax) = CNCSSuggestTIB(incidentEnergy) print("Incident Energy = %i, tibMin = %.2f, tibMax = %.2f" % (incidentEnergy,tibMin,tibMax)) Output: .. testoutput:: ExSuggestTibCNCS .. testoutput:: ExCNCSSuggestTIB Incident Energy = 3, tibMin = 44914.92, tibMax = 47314.92 Incident Energy = 1, tibMin = 95621.15, tibMax = 99021.15 ... ...
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!