From a675d4eb8654e249453cba3e6c986970d9e6694e Mon Sep 17 00:00:00 2001
From: Gagik Vardanyan <vardanyan@ill.fr>
Date: Tue, 24 Apr 2018 13:26:02 +0200
Subject: [PATCH] Re #22212 take monitor to the end, set the same x-axis for it

---
 Framework/DataHandling/src/LoadILLSANS.cpp | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/Framework/DataHandling/src/LoadILLSANS.cpp b/Framework/DataHandling/src/LoadILLSANS.cpp
index bb8d6fb6608..f1f079fcd6d 100644
--- a/Framework/DataHandling/src/LoadILLSANS.cpp
+++ b/Framework/DataHandling/src/LoadILLSANS.cpp
@@ -181,8 +181,9 @@ void LoadILLSANS::initWorkSpace(NeXus::NXEntry &firstEntry,
   int numberOfHistograms = data.dim0() * data.dim1() + 2;
   createEmptyWorkspace(numberOfHistograms, 1);
   loadMetaData(firstEntry, instrumentPath);
-  size_t nextIndex = loadDataIntoWorkspaceFromMonitors(firstEntry, 0);
-  loadDataIntoWorkspaceFromHorizontalTubes(data, m_defaultBinning, nextIndex);
+  size_t nextIndex =
+      loadDataIntoWorkspaceFromVerticalTubes(data, m_defaultBinning, 0);
+  nextIndex = loadDataIntoWorkspaceFromMonitors(firstEntry, nextIndex);
   if (data.dim0() == 128 && m_instrumentName == "D11") {
     m_resMode = "low";
   }
@@ -292,8 +293,13 @@ LoadILLSANS::loadDataIntoWorkspaceFromMonitors(NeXus::NXEntry &firstEntry,
       std::vector<double> positionsBinning;
       positionsBinning.reserve(vectorSize);
 
-      const HistogramData::BinEdges histoBinEdges(
-          vectorSize, HistogramData::LinearGenerator(0.0, 1.0));
+      HistogramData::BinEdges histoBinEdges(
+          vectorSize, HistogramData::LinearGenerator(0.0, vectorSize));
+
+      if (firstEntry.getFloat("mode") == 0.0) { // Not TOF
+        histoBinEdges = HistogramData::BinEdges(m_defaultBinning);
+      }
+
       const HistogramData::Counts histoCounts(data(), data() + data.dim2());
 
       m_localWorkspace->setHistogram(firstIndex, std::move(histoBinEdges),
@@ -604,7 +610,7 @@ void LoadILLSANS::loadMetaData(const NeXus::NXEntry &entry,
 }
 
 /**
- * @param lambda : wavelength in Amstrongs
+ * @param lambda : wavelength in Angstroms
  * @param twoTheta : twoTheta in degreess
  */
 double LoadILLSANS::calculateQ(const double lambda,
-- 
GitLab