diff --git a/newsfragments/XXX.bugfix b/newsfragments/XXX.bugfix new file mode 100644 index 0000000000..deda002998 --- /dev/null +++ b/newsfragments/XXX.bugfix @@ -0,0 +1 @@ +Modified branching to Laue refinement methods to check for ExperimentType first. diff --git a/src/dials/algorithms/refinement/reflection_manager.py b/src/dials/algorithms/refinement/reflection_manager.py index 2f3c01790d..a90ecd36e8 100644 --- a/src/dials/algorithms/refinement/reflection_manager.py +++ b/src/dials/algorithms/refinement/reflection_manager.py @@ -234,7 +234,7 @@ def from_parameters_reflections_experiments( flex.set_random_seed(params.random_seed) logger.debug("Random seed set to %d", params.random_seed) - if "wavelength" in reflections: + if experiments.all_laue() or experiments.all_tof(): return ReflectionManagerFactory.laue_manager( experiments, reflections, params ) diff --git a/src/dials/array_family/flex_ext.py b/src/dials/array_family/flex_ext.py index 72a02daecc..65d978922f 100644 --- a/src/dials/array_family/flex_ext.py +++ b/src/dials/array_family/flex_ext.py @@ -23,6 +23,7 @@ import cctbx.array_family.flex import cctbx.miller import libtbx.smart_open +from dxtbx.model import ExperimentType from scitbx import matrix import dials.extensions.glm_background_ext @@ -1331,12 +1332,16 @@ def map_centroids_to_reciprocal_space( cctbx.array_family.flex.vec2_double(x, y) ) - if calculated and "wavelength_cal" in self and "s0_cal" in self: - wavelength = self["wavelength_cal"].select(sel) - s0 = self["s0_cal"].select(sel) - elif "wavelength" in self and "s0" in self: - wavelength = self["wavelength"].select(sel) - s0 = self["s0"].select(sel) + if ( + expt.get_type() == ExperimentType.LAUE + or expt.get_type() == ExperimentType.TOF + ): + if calculated and "wavelength_cal" in self and "s0_cal" in self: + wavelength = self["wavelength_cal"].select(sel) + s0 = self["s0_cal"].select(sel) + elif "wavelength" in self and "s0" in self: + wavelength = self["wavelength"].select(sel) + s0 = self["s0"].select(sel) else: wavelength = expt.beam.get_wavelength() s0 = expt.beam.get_s0()