From f367ef7558e06c812a2e86fdadfe8f6a93b1a89e Mon Sep 17 00:00:00 2001
From: Steven Hahn <hahnse@ornl.gov>
Date: Fri, 15 Jan 2016 17:33:47 -0500
Subject: [PATCH] Refs #14988. Fix compiler errors.

---
 Framework/Algorithms/src/AlignDetectors.cpp   |  4 +--
 Framework/Algorithms/src/FilterEvents.cpp     |  2 +-
 Framework/Algorithms/src/MaskDetectorsIf.cpp  |  2 +-
 Framework/Algorithms/src/RemoveLowResTOF.cpp  |  2 +-
 Framework/Algorithms/src/SpatialGrouping.cpp  |  2 +-
 Framework/Algorithms/src/SumSpectra.cpp       |  2 +-
 Framework/Crystal/src/ClusterRegister.cpp     |  2 +-
 .../src/EventWorkspaceCollection.cpp          |  2 +-
 .../DataHandling/src/GroupDetectors2.cpp      |  4 +--
 Framework/DataHandling/src/LoadRawHelper.cpp  |  2 +-
 Framework/DataHandling/src/SaveAscii.cpp      |  4 +--
 .../src/SaveDetectorsGrouping.cpp             |  2 +-
 .../DataObjects/src/GroupingWorkspace.cpp     |  4 +--
 Framework/DataObjects/src/MaskWorkspace.cpp   |  4 +--
 .../DataObjects/src/SpecialWorkspace2D.cpp    |  6 ++---
 .../inc/MantidGeometry/Objects/Track.h        |  4 +++
 Framework/Geometry/src/Instrument.cpp         |  4 +--
 Framework/SINQ/src/PoldiAutoCorrelation5.cpp  |  2 +-
 .../src/WorkspaceCreationHelper.cpp           | 25 +++++++++++++------
 19 files changed, 47 insertions(+), 32 deletions(-)

diff --git a/Framework/Algorithms/src/AlignDetectors.cpp b/Framework/Algorithms/src/AlignDetectors.cpp
index 44b55390c3c..e471dbdf453 100644
--- a/Framework/Algorithms/src/AlignDetectors.cpp
+++ b/Framework/Algorithms/src/AlignDetectors.cpp
@@ -91,7 +91,7 @@ public:
     double difc = 0.;
     double difa = 0.;
     double tzero = 0.;
-    for (value_type row : rows) {
+    for (auto row : rows) {
       difc += m_difcCol->toDouble(row);
       difa += m_difaCol->toDouble(row);
       tzero += m_tzeroCol->toDouble(row);
@@ -125,7 +125,7 @@ private:
 
   std::set<size_t> getRow(const std::set<detid_t> &detIds) {
     std::set<size_t> rows;
-    for (value_type detId : detIds) {
+    for (auto detId : detIds) {
       auto rowIter = m_detidToRow.find(detId);
       if (rowIter != m_detidToRow.end()) { // skip if not found
         rows.insert(rowIter->second);
diff --git a/Framework/Algorithms/src/FilterEvents.cpp b/Framework/Algorithms/src/FilterEvents.cpp
index 7ba9707408f..2514b7f68bc 100644
--- a/Framework/Algorithms/src/FilterEvents.cpp
+++ b/Framework/Algorithms/src/FilterEvents.cpp
@@ -515,7 +515,7 @@ void FilterEvents::createOutputWorkspaces() {
 
   // Determine the minimum group index number
   int minwsgroup = INT_MAX;
-  for (value_type wsgroup : m_workGroupIndexes) {
+  for (auto wsgroup : m_workGroupIndexes) {
     if (wsgroup < minwsgroup && wsgroup >= 0)
       minwsgroup = wsgroup;
   }
diff --git a/Framework/Algorithms/src/MaskDetectorsIf.cpp b/Framework/Algorithms/src/MaskDetectorsIf.cpp
index 812280753ca..0db6b364691 100644
--- a/Framework/Algorithms/src/MaskDetectorsIf.cpp
+++ b/Framework/Algorithms/src/MaskDetectorsIf.cpp
@@ -78,7 +78,7 @@ void MaskDetectorsIf::exec() {
     else {
       double val = inputW->readY(i)[0];
       if (compar_f(val, value)) {
-        for (value_type det : dets)
+        for (auto det : dets)
           umap.insert(std::make_pair(det, select_on));
       }
     }
diff --git a/Framework/Algorithms/src/RemoveLowResTOF.cpp b/Framework/Algorithms/src/RemoveLowResTOF.cpp
index 928d69ea755..18a5a239ea3 100644
--- a/Framework/Algorithms/src/RemoveLowResTOF.cpp
+++ b/Framework/Algorithms/src/RemoveLowResTOF.cpp
@@ -308,7 +308,7 @@ double RemoveLowResTOF::calcTofMin(const std::size_t workspaceIndex) {
     }
   } else {
     double l2 = 0;
-    for (value_type it : detSet) {
+    for (auto it : detSet) {
       l2 += m_instrument->getDetector(it)->getDistance(*m_sample);
     }
     l2 /= static_cast<double>(detSet.size());
diff --git a/Framework/Algorithms/src/SpatialGrouping.cpp b/Framework/Algorithms/src/SpatialGrouping.cpp
index 26fda5f20d9..1364d05f69d 100644
--- a/Framework/Algorithms/src/SpatialGrouping.cpp
+++ b/Framework/Algorithms/src/SpatialGrouping.cpp
@@ -174,7 +174,7 @@ void SpatialGrouping::exec() {
           inputWorkspace->getIndexFromSpectrumNumber((*grpIt)[i]);
       const std::set<detid_t> &detIds =
           inputWorkspace->getSpectrum(workspaceIndex)->getDetectorIDs();
-      for (value_type detId : detIds) {
+      for (auto detId : detIds) {
         xml << "," << detId;
       }
     }
diff --git a/Framework/Algorithms/src/SumSpectra.cpp b/Framework/Algorithms/src/SumSpectra.cpp
index 4c789c9ee60..bd4c152dd46 100644
--- a/Framework/Algorithms/src/SumSpectra.cpp
+++ b/Framework/Algorithms/src/SumSpectra.cpp
@@ -196,7 +196,7 @@ SumSpectra::getOutputSpecId(MatrixWorkspace_const_sptr localworkspace) {
   int totalSpec = static_cast<int>(localworkspace->getNumberHistograms());
 
   specid_t temp;
-  for (value_type m_indice : this->m_indices) {
+  for (auto m_indice : this->m_indices) {
     if (m_indice < totalSpec) {
       temp = localworkspace->getSpectrum(m_indice)->getSpectrumNo();
       if (temp < specId)
diff --git a/Framework/Crystal/src/ClusterRegister.cpp b/Framework/Crystal/src/ClusterRegister.cpp
index 90dd5d663a0..737d37e0dfd 100644
--- a/Framework/Crystal/src/ClusterRegister.cpp
+++ b/Framework/Crystal/src/ClusterRegister.cpp
@@ -101,7 +101,7 @@ public:
     std::list<boost::shared_ptr<CompositeCluster>> composites;
     for (auto &labelSet : m_groups) {
       auto composite = boost::make_shared<CompositeCluster>();
-      for (value_type j : labelSet) {
+      for (auto j : labelSet) {
         boost::shared_ptr<ICluster> &cluster = m_register[j];
         composite->add(cluster);
       }
diff --git a/Framework/DataHandling/src/EventWorkspaceCollection.cpp b/Framework/DataHandling/src/EventWorkspaceCollection.cpp
index 9a3077f4c18..3decef77760 100644
--- a/Framework/DataHandling/src/EventWorkspaceCollection.cpp
+++ b/Framework/DataHandling/src/EventWorkspaceCollection.cpp
@@ -162,7 +162,7 @@ void EventWorkspaceCollection::setSpectrumNumbersFromUniqueSpectra(
   // For each workspace, update all the spectrum numbers
   for (auto &ws : m_WsVec) {
     size_t counter = 0;
-    for (value_type it : uniqueSpectra) {
+    for (auto it : uniqueSpectra) {
       ws->getSpectrum(counter)->setSpectrumNo(it);
       ++counter;
     }
diff --git a/Framework/DataHandling/src/GroupDetectors2.cpp b/Framework/DataHandling/src/GroupDetectors2.cpp
index 95f70e10310..52ea8c348e5 100644
--- a/Framework/DataHandling/src/GroupDetectors2.cpp
+++ b/Framework/DataHandling/src/GroupDetectors2.cpp
@@ -1129,7 +1129,7 @@ void GroupDetectors2::moveOthers(const std::set<int64_t> &unGroupedSet,
                      static_cast<double>(unGroupedSet.size());
 
   // go thorugh all the spectra in the input workspace
-  for (value_type copyFrIt : unGroupedSet) {
+  for (auto copyFrIt : unGroupedSet) {
     if (copyFrIt == USED)
       continue; // Marked as not to be used
     size_t sourceIndex = static_cast<size_t>(copyFrIt);
@@ -1186,7 +1186,7 @@ void GroupDetectors2::moveOthersEvent(
                      static_cast<double>(unGroupedSet.size());
 
   // go thorugh all the spectra in the input workspace
-  for (value_type copyFrIt : unGroupedSet) {
+  for (auto copyFrIt : unGroupedSet) {
     if (copyFrIt == USED)
       continue; // Marked as not to be used
     size_t sourceIndex = static_cast<size_t>(copyFrIt);
diff --git a/Framework/DataHandling/src/LoadRawHelper.cpp b/Framework/DataHandling/src/LoadRawHelper.cpp
index 45e1ccf8ab4..43ec65ee0af 100644
--- a/Framework/DataHandling/src/LoadRawHelper.cpp
+++ b/Framework/DataHandling/src/LoadRawHelper.cpp
@@ -428,7 +428,7 @@ LoadRawHelper::getmonitorSpectrumList(const SpectrumDetectorMapping &mapping) {
       auto detIDs = it.second;
       // Both m_monitordetectorList & detIDs should be (very) short so the
       // nested loop shouldn't be too evil
-      for (value_type detID : detIDs) {
+      for (auto detID : detIDs) {
         if (std::find(m_monitordetectorList.begin(),
                       m_monitordetectorList.end(),
                       detID) != m_monitordetectorList.end()) {
diff --git a/Framework/DataHandling/src/SaveAscii.cpp b/Framework/DataHandling/src/SaveAscii.cpp
index 8212073efb4..71836958265 100644
--- a/Framework/DataHandling/src/SaveAscii.cpp
+++ b/Framework/DataHandling/src/SaveAscii.cpp
@@ -181,7 +181,7 @@ void SaveAscii::exec() {
           file << " , DX" << spec;
       }
     else
-      for (value_type spec : idx) {
+      for (auto spec : idx) {
         file << comstr << "Y" << spec << comstr << errstr << spec << errstr2;
         if (write_dx)
           file << " , DX" << spec;
@@ -214,7 +214,7 @@ void SaveAscii::exec() {
         file << ws->readE(spec)[bin];
       }
     else
-      for (value_type spec : idx) {
+      for (auto spec : idx) {
         file << sep;
         file << ws->readY(spec)[bin];
         file << sep;
diff --git a/Framework/DataHandling/src/SaveDetectorsGrouping.cpp b/Framework/DataHandling/src/SaveDetectorsGrouping.cpp
index a5d0a77437c..6930f047c9d 100644
--- a/Framework/DataHandling/src/SaveDetectorsGrouping.cpp
+++ b/Framework/DataHandling/src/SaveDetectorsGrouping.cpp
@@ -119,7 +119,7 @@ void SaveDetectorsGrouping::createGroupDetectorIDMap(
       throw;
     }
     detid_t detid = 0;
-    for (value_type it : detids) {
+    for (auto it : detids) {
       detid = it;
     }
     it->second.push_back(detid);
diff --git a/Framework/DataObjects/src/GroupingWorkspace.cpp b/Framework/DataObjects/src/GroupingWorkspace.cpp
index 3c1951b4524..d4a44681a06 100644
--- a/Framework/DataObjects/src/GroupingWorkspace.cpp
+++ b/Framework/DataObjects/src/GroupingWorkspace.cpp
@@ -59,7 +59,7 @@ void GroupingWorkspace::makeDetectorIDToGroupMap(
     if (group == 0)
       group = -1;
     std::set<detid_t> detIDs = this->getDetectorIDs(wi);
-    for (value_type detID : detIDs) {
+    for (auto detID : detIDs) {
       detIDToGroup[detID] = group;
       if (group > ngroups)
         ngroups = group;
@@ -85,7 +85,7 @@ void GroupingWorkspace::makeDetectorIDToGroupVector(
     if (group == 0)
       group = -1;
     std::set<detid_t> detIDs = this->getDetectorIDs(wi);
-    for (value_type detID : detIDs) {
+    for (auto detID : detIDs) {
       if (detID <
           0) // if you need negative detector ids, use the other function
         continue;
diff --git a/Framework/DataObjects/src/MaskWorkspace.cpp b/Framework/DataObjects/src/MaskWorkspace.cpp
index 37941295a15..18362802297 100644
--- a/Framework/DataObjects/src/MaskWorkspace.cpp
+++ b/Framework/DataObjects/src/MaskWorkspace.cpp
@@ -197,7 +197,7 @@ bool MaskWorkspace::isMasked(const std::set<detid_t> &detectorIDs) const {
   }
 
   bool masked(true);
-  for (value_type detectorID : detectorIDs) {
+  for (auto detectorID : detectorIDs) {
     if (!this->isMasked(detectorID)) {
       masked = false;
       break; // allows space for a debug print statement
@@ -234,7 +234,7 @@ void MaskWorkspace::setMasked(const detid_t detectorID, const bool mask) {
  */
 void MaskWorkspace::setMasked(const std::set<detid_t> &detectorIDs,
                               const bool mask) {
-  for (value_type detectorID : detectorIDs) {
+  for (auto detectorID : detectorIDs) {
     this->setMasked(detectorID, mask);
   }
 }
diff --git a/Framework/DataObjects/src/SpecialWorkspace2D.cpp b/Framework/DataObjects/src/SpecialWorkspace2D.cpp
index aeb7d0692c9..1775098c4bc 100644
--- a/Framework/DataObjects/src/SpecialWorkspace2D.cpp
+++ b/Framework/DataObjects/src/SpecialWorkspace2D.cpp
@@ -46,7 +46,7 @@ SpecialWorkspace2D::SpecialWorkspace2D(Geometry::Instrument_const_sptr inst,
   detID_to_WI.clear();
   for (size_t wi = 0; wi < m_noVectors; wi++) {
     set<detid_t> dets = getSpectrum(wi)->getDetectorIDs();
-    for (value_type det : dets) {
+    for (auto det : dets) {
       detID_to_WI[det] = wi;
     }
   }
@@ -66,7 +66,7 @@ SpecialWorkspace2D::SpecialWorkspace2D(API::MatrixWorkspace_const_sptr parent) {
   detID_to_WI.clear();
   for (size_t wi = 0; wi < m_noVectors; wi++) {
     set<detid_t> dets = getSpectrum(wi)->getDetectorIDs();
-    for (value_type det : dets) {
+    for (auto det : dets) {
       detID_to_WI[det] = wi;
     }
   }
@@ -186,7 +186,7 @@ void SpecialWorkspace2D::setValue(const detid_t detectorID, const double value,
  */
 void SpecialWorkspace2D::setValue(const set<detid_t> &detectorIDs,
                                   const double value, const double error) {
-  for (value_type detectorID : detectorIDs) {
+  for (auto detectorID : detectorIDs) {
     this->setValue(detectorID, value, error);
   }
 }
diff --git a/Framework/Geometry/inc/MantidGeometry/Objects/Track.h b/Framework/Geometry/inc/MantidGeometry/Objects/Track.h
index 427f550d7fd..3cf5c30aef3 100644
--- a/Framework/Geometry/inc/MantidGeometry/Objects/Track.h
+++ b/Framework/Geometry/inc/MantidGeometry/Objects/Track.h
@@ -178,6 +178,10 @@ public:
   /// Returns the direction as a unit vector
   const Kernel::V3D &direction() const { return m_unitVector; }
   /// Returns an interator to the start of the set of links
+  LType::iterator begin() { return m_links.begin(); }
+  /// Returns an interator to one-past-the-end of the set of links
+  LType::iterator end() { return m_links.end(); }
+  /// Returns an interator to the start of the set of links
   LType::const_iterator cbegin() const { return m_links.cbegin(); }
   /// Returns an interator to one-past-the-end of the set of links
   LType::const_iterator cend() const { return m_links.cend(); }
diff --git a/Framework/Geometry/src/Instrument.cpp b/Framework/Geometry/src/Instrument.cpp
index 2e793a54d1a..6cb121cbd65 100644
--- a/Framework/Geometry/src/Instrument.cpp
+++ b/Framework/Geometry/src/Instrument.cpp
@@ -504,7 +504,7 @@ bool Instrument::isMonitor(const std::set<detid_t> &detector_ids) const {
   if (detector_ids.empty())
     return false;
 
-  for (value_type detector_id : detector_ids) {
+  for (auto detector_id : detector_ids) {
     if (this->isMonitor(detector_id))
       return true;
   }
@@ -551,7 +551,7 @@ bool Instrument::isDetectorMasked(const std::set<detid_t> &detector_ids) const {
   if (detector_ids.empty())
     return false;
 
-  for (value_type detector_id : detector_ids) {
+  for (auto detector_id : detector_ids) {
     if (!this->isDetectorMasked(detector_id))
       return false;
   }
diff --git a/Framework/SINQ/src/PoldiAutoCorrelation5.cpp b/Framework/SINQ/src/PoldiAutoCorrelation5.cpp
index ea0e03f729e..e27f4009d9a 100644
--- a/Framework/SINQ/src/PoldiAutoCorrelation5.cpp
+++ b/Framework/SINQ/src/PoldiAutoCorrelation5.cpp
@@ -153,7 +153,7 @@ void PoldiAutoCorrelation5::logConfigurationInformation(
     g_log.information() << "_Poldi -     Number of dead wires: "
                         << deadWires.size() << std::endl;
     g_log.information() << "_Poldi -     Wire indices: ";
-    for (value_type deadWire : deadWires) {
+    for (auto deadWire : deadWires) {
       g_log.information() << deadWire << " ";
     }
     g_log.information() << std::endl;
diff --git a/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp b/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp
index bf237790aef..69d793b112f 100644
--- a/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp
+++ b/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp
@@ -714,13 +714,24 @@ CreateGroupedEventWorkspace(std::vector<std::vector<int>> groups, int numBins,
                             double binDelta) {
 
   EventWorkspace_sptr retVal(new EventWorkspace);
-  redetl->initialize(1, 2, 1);
-
-  det(size_t g = 0; g < groups.dete(); g++) {
-    retVal->getdetddEventList(g).clearDetectodets();
-    std::vector<int> ddet = groups[g];
-    for (int &det : dets)
-      xRef[i] = x0 + i * binDelta;
+  retVal->initialize(1, 2, 1);
+
+  for (size_t g = 0; g < groups.size(); g++) {
+    retVal->getOrAddEventList(g).clearDetectorIDs();
+    std::vector<int> dets = groups[g];
+    for (auto det : dets) {
+      for (int i = 0; i < numBins; i++)
+        retVal->getOrAddEventList(g) += TofEvent((i + 0.5) * binDelta, 1);
+      retVal->getOrAddEventList(g).addDetectorID(det);
+    }
+  }
+  // Create the x-axis for histogramming.
+  MantidVecPtr x1;
+  MantidVec &xRef = x1.access();
+  double x0 = 0;
+  xRef.resize(numBins);
+  for (int i = 0; i < numBins; ++i) {
+    xRef[i] = x0 + i * binDelta;
   }
 
   // Set all the histograms at once.
-- 
GitLab