diff --git a/mslice/__init__.py b/mslice/__init__.py index 22e5da904..4379d560c 100644 --- a/mslice/__init__.py +++ b/mslice/__init__.py @@ -6,6 +6,6 @@ on Mantid (http://www.mantidproject.org). """ -version_info = (2, 5, 0) +version_info = (2, 6, 0) __version__ = '.'.join(map(str, version_info)) __project_url__ = 'https://github.com/mantidproject/mslice' diff --git a/mslice/models/cut/cut.py b/mslice/models/cut/cut.py index 68e46e74b..21a37f665 100644 --- a/mslice/models/cut/cut.py +++ b/mslice/models/cut/cut.py @@ -1,6 +1,6 @@ from mslice.models.intensity_correction_algs import (compute_chi, compute_d2sigma, compute_symmetrised, cut_compute_gdos) -from mslice.models.labels import is_momentum, is_twotheta +from mslice.models.labels import are_units_equivalent, is_momentum, is_twotheta from mslice.util.intensity_correction import IntensityType import numpy as np @@ -227,7 +227,7 @@ def q_axis(self): def _update_cut_axis(self): x_dim = self._cut_ws.raw_ws.getXDimension() - if self.cut_axis.units == x_dim.getUnits() or self.cut_axis.units in x_dim.getDimensionId(): + if are_units_equivalent(self.cut_axis.units, x_dim.getUnits()) or self.cut_axis.units in x_dim.getDimensionId(): ws_cut_axis = x_dim else: ws_cut_axis = self._cut_ws.raw_ws.getYDimension() diff --git a/mslice/models/labels.py b/mslice/models/labels.py index 3b9480d71..adaa894fe 100644 --- a/mslice/models/labels.py +++ b/mslice/models/labels.py @@ -23,6 +23,21 @@ def is_momentum(unit): return any([unit in val for val in MOMENTUM_UNITS]) +def is_energy(unit): + return unit == DELTA_E_LABEL + + +def are_units_equivalent(unit_lhs, unit_rhs): + if is_twotheta(unit_lhs) and is_twotheta(unit_rhs): + return True + elif is_momentum(unit_lhs) and is_momentum(unit_rhs): + return True + elif is_energy(unit_lhs) and is_energy(unit_rhs): + return True + else: + return False + + def get_recoil_key(label): for key, value in recoil_labels.items(): if value == label: