diff --git a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp
index 1635516..e698686 100644
a
|
b
|
The error was calculation did not include the errors due the normalization or an |
136 | 136 | #include "MantidAlgorithms/Qhelper.h" |
137 | 137 | #include "MantidKernel/BoundedValidator.h" |
138 | 138 | #include "MantidAPI/ISpectrum.h" |
| 139 | #include <boost/algorithm/string/split.hpp> |
139 | 140 | |
140 | 141 | namespace Mantid |
141 | 142 | { |
… |
… |
void Q1D2::exec() |
240 | 241 | const int numSpec = static_cast<int>(m_dataWS->getNumberHistograms()); |
241 | 242 | Progress progress(this, 0.05, 1.0, numSpec+1); |
242 | 243 | |
| 244 | std::set<int> ignore_numbers; |
| 245 | std::string pname = "ignore-spectra"; |
| 246 | if( m_dataWS->getInstrument()->hasParameter(pname)) |
| 247 | { |
| 248 | struct GetNum { int operator()(const std::string& inp) const { return atoi(inp.c_str()); } }; |
| 249 | std::string str_values = m_dataWS->getInstrument()->getStringParameter(pname)[0]; |
| 250 | std::vector<std::string> data; |
| 251 | boost::split(data, str_values, boost::is_any_of(",")); |
| 252 | auto it1 = std::inserter(ignore_numbers, ignore_numbers.begin()); |
| 253 | std::transform(data.begin(), data.end(), it1, GetNum()); |
| 254 | } |
| 255 | |
| 256 | |
243 | 257 | PARALLEL_FOR3(m_dataWS, outputWS, pixelAdj) |
244 | 258 | for (int i = 0; i < numSpec; ++i) |
245 | 259 | { |
… |
… |
void Q1D2::exec() |
249 | 263 | try { |
250 | 264 | det = m_dataWS->getDetector(i); |
251 | 265 | } catch (Exception::NotFoundError&) { |
252 | | g_log.warning() << "Workspace index " << i << " (SpectrumIndex = " << m_dataWS->getSpectrum(i)->getSpectrumNo() << ") has no detector assigned to it - discarding" << std::endl; |
| 266 | if ( ignore_numbers.find(m_dataWS->getSpectrum(i)->getSpectrumNo()) == ignore_numbers.end()) |
| 267 | g_log.warning() << "Workspace index " << i << " (SpectrumIndex = " << m_dataWS->getSpectrum(i)->getSpectrumNo() << ") has no detector assigned to it - discarding" << std::endl; |
253 | 268 | // Catch if no detector. Next line tests whether this happened - test placed |
254 | 269 | // outside here because Mac Intel compiler doesn't like 'continue' in a catch |
255 | 270 | // in an openmp block. |
diff --git a/Code/Mantid/instrument/LOQ_Parameters.xml b/Code/Mantid/instrument/LOQ_Parameters.xml
index 493b819..628ad38 100644
a
|
b
|
|
55 | 55 | <value val="3"/> |
56 | 56 | </parameter> |
57 | 57 | |
| 58 | <parameter name="ignore-spectra" type="string"> |
| 59 | <value val="16735, 17085, 17086, 16736, 17785, 17786, 17787, 17788, 17789, 17790, 17791, 17792, 17435, 17436"/> |
| 60 | </parameter> |
| 61 | |
58 | 62 | </component-link> |
59 | 63 | |
60 | 64 | </parameter-file> |