From cb698dfa3236c7877bbf7fc5b2017efe4f602c0b Mon Sep 17 00:00:00 2001
From: Harry Jeffery <henry.jeffery@stfc.ac.uk>
Date: Tue, 26 Aug 2014 15:21:00 +0100
Subject: [PATCH] Fix crash in CalculateResolution.

Refs #10173.
---
 .../Algorithms/src/CalculateResolution.cpp          | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
index 3c15adba5e2..7de8ab60a50 100644
--- a/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
@@ -103,8 +103,17 @@ namespace Mantid
 
       const V3D slitDiff = (slit2->getPos() - slit1->getPos()) * 1000; //Convert from mm to m.
 
-      const double slit1VG = slit1->getNumberParameter(vGapParam).front();
-      const double slit2VG = slit2->getNumberParameter(vGapParam).front();
+      std::vector<double> slit1VGParam = slit1->getNumberParameter(vGapParam);
+      std::vector<double> slit2VGParam = slit2->getNumberParameter(vGapParam);
+
+      if(slit1VGParam.size() < 1)
+        throw std::runtime_error("Could not find a value for the first slit's vertical gap with given parameter name: '" + vGapParam + "'.");
+
+      if(slit2VGParam.size() < 1)
+        throw std::runtime_error("Could not find a value for the second slit's vertical gap with given parameter name: '" + vGapParam + "'.");
+
+      const double slit1VG = slit1VGParam[0];
+      const double slit2VG = slit2VGParam[0];
 
       const double totalVertGap = slit1VG + slit2VG;
       const double slitDist = sqrt(slitDiff.X() * slitDiff.X() + slitDiff.Y() * slitDiff.Y() + slitDiff.Z() * slitDiff.Z());
-- 
GitLab