diff --git a/Framework/Algorithms/src/ConjoinXRuns.cpp b/Framework/Algorithms/src/ConjoinXRuns.cpp index d01aebd29c635e9871ba2609db022f0c0148c113..fa05dd89b3656bba8134a41d599e1111544ce7ea 100644 --- a/Framework/Algorithms/src/ConjoinXRuns.cpp +++ b/Framework/Algorithms/src/ConjoinXRuns.cpp @@ -114,17 +114,21 @@ std::map<std::string, std::string> ConjoinXRuns::validateInputs() { m_logEntry = getPropertyValue(SAMPLE_LOG_X_AXIS_PROPERTY); std::vector<std::string> workspaces; - try { + try { // input workspace must be a group or a MatrixWorkspace workspaces = RunCombinationHelper::unWrapGroups(inputs_given); } catch (const std::exception &e) { issues[INPUT_WORKSPACE_PROPERTY] = std::string(e.what()); } - // find if there are workspaces that are not Matrix or not a point-data + // find if there are grouped workspaces that are not Matrix or not a + // point-data for (const auto &input : workspaces) { MatrixWorkspace_sptr ws = AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>(input); - if (ws->isHistogramData()) { + if (!ws) { + issues[INPUT_WORKSPACE_PROPERTY] += + "Workspace " + input + " is not a MatrixWorkspace\n"; + } else if (ws->isHistogramData()) { issues[INPUT_WORKSPACE_PROPERTY] += "Workspace " + ws->getName() + " is not a point-data\n"; } else { @@ -186,7 +190,8 @@ std::string ConjoinXRuns::checkLogEntry(MatrixWorkspace_sptr ws) const { try { run.getLogAsSingleValue(m_logEntry); - // try if numeric time series, then the size must match to the blocksize + // try if numeric time series, then the size must match to the + // blocksize const int blocksize = static_cast<int>(ws->blocksize()); TimeSeriesProperty<double> *timeSeriesDouble(nullptr);