Skip to content
Snippets Groups Projects
Commit 73942be5 authored by Dan Nixon's avatar Dan Nixon
Browse files

Merge pull request #12890 from mantidproject/12852_Fix_bug_in_ALC

Fix bug in ALC
parents 4c53c22f 76239070
No related branches found
No related tags found
No related merge requests found
......@@ -172,26 +172,34 @@ namespace CustomInterfaces
MatrixWorkspace_const_sptr ALCBaselineModellingModel::data() const
{
IAlgorithm_sptr extract = AlgorithmManager::Instance().create("ExtractSingleSpectrum");
extract->setChild(true);
extract->setProperty("InputWorkspace", boost::const_pointer_cast<MatrixWorkspace>(m_data));
extract->setProperty("WorkspaceIndex", 0);
extract->setProperty("OutputWorkspace", "__NotUsed__");
extract->execute();
MatrixWorkspace_const_sptr result = extract->getProperty("OutputWorkspace");
return result;
if (m_data) {
IAlgorithm_sptr extract = AlgorithmManager::Instance().create("ExtractSingleSpectrum");
extract->setChild(true);
extract->setProperty("InputWorkspace", boost::const_pointer_cast<MatrixWorkspace>(m_data));
extract->setProperty("WorkspaceIndex", 0);
extract->setProperty("OutputWorkspace", "__NotUsed__");
extract->execute();
MatrixWorkspace_const_sptr result = extract->getProperty("OutputWorkspace");
return result;
} else {
return MatrixWorkspace_const_sptr();
}
}
MatrixWorkspace_const_sptr ALCBaselineModellingModel::correctedData() const
{
IAlgorithm_sptr extract = AlgorithmManager::Instance().create("ExtractSingleSpectrum");
extract->setChild(true);
extract->setProperty("InputWorkspace", boost::const_pointer_cast<MatrixWorkspace>(m_data));
extract->setProperty("WorkspaceIndex", 2);
extract->setProperty("OutputWorkspace", "__NotUsed__");
extract->execute();
MatrixWorkspace_const_sptr result = extract->getProperty("OutputWorkspace");
return result;
if (m_data && (m_data->getNumberHistograms()==3) ) {
IAlgorithm_sptr extract = AlgorithmManager::Instance().create("ExtractSingleSpectrum");
extract->setChild(true);
extract->setProperty("InputWorkspace", boost::const_pointer_cast<MatrixWorkspace>(m_data));
extract->setProperty("WorkspaceIndex", 2);
extract->setProperty("OutputWorkspace", "__NotUsed__");
extract->execute();
MatrixWorkspace_const_sptr result = extract->getProperty("OutputWorkspace");
return result;
} else {
return MatrixWorkspace_const_sptr();
}
}
} // namespace CustomInterfaces
......
......@@ -145,6 +145,16 @@ public:
TS_ASSERT_THROWS_NOTHING(m_model->exportModel());
}
void test_noData()
{
// Set a null shared pointer
MatrixWorkspace_const_sptr data = MatrixWorkspace_const_sptr();
m_model->setData(data);
TS_ASSERT_THROWS_NOTHING(m_model->data());
TS_ASSERT_THROWS_NOTHING(m_model->correctedData());
}
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment