From 5de8e0d4a1fd9e064bbff490bb14afbe570ae7a7 Mon Sep 17 00:00:00 2001 From: Raquel Alvarez Banos Date: Thu, 7 May 2015 14:39:39 +0100 Subject: [PATCH] Re #11711 Store fitting results in m_data in the PeakFitting step --- .../src/Muon/ALCPeakFittingModel.cpp | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Muon/ALCPeakFittingModel.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Muon/ALCPeakFittingModel.cpp index fee22791cc6b..ae5cca0ba574 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/Muon/ALCPeakFittingModel.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Muon/ALCPeakFittingModel.cpp @@ -19,37 +19,9 @@ namespace CustomInterfaces MatrixWorkspace_sptr ALCPeakFittingModel::exportWorkspace() { - if ( m_data && m_fittedPeaks) { + if ( m_data->getNumberHistograms() == 3 ) { - // Create a new workspace by cloning data one - IAlgorithm_sptr clone = AlgorithmManager::Instance().create("CloneWorkspace"); - clone->setChild(true); // Don't want workspaces in ADS - clone->setProperty("InputWorkspace", boost::const_pointer_cast(m_data)); - clone->setProperty("OutputWorkspace", "__NotUsed"); - clone->execute(); - - Workspace_sptr cloneResult = clone->getProperty("OutputWorkspace"); - - // Calculate function values for all data X values - MatrixWorkspace_sptr peaks = ALCHelper::createWsFromFunction(m_fittedPeaks, m_data->readX(0)); - - // Merge two workspaces - IAlgorithm_sptr join = AlgorithmManager::Instance().create("ConjoinWorkspaces"); - join->setChild(true); - join->setProperty("InputWorkspace1", cloneResult); - join->setProperty("InputWorkspace2", peaks); - join->setProperty("CheckOverlapping", false); - join->execute(); - - MatrixWorkspace_sptr result = join->getProperty("InputWorkspace1"); - - // Update axis lables so that it's understandable what's what on workspace data view / plot - TextAxis* yAxis = new TextAxis(result->getNumberHistograms()); - yAxis->setLabel(0,"Data"); - yAxis->setLabel(1,"FittedPeaks"); - result->replaceAxis(1,yAxis); - - return result; + return boost::const_pointer_cast(m_data); } else { @@ -84,6 +56,7 @@ namespace CustomInterfaces fit->setProperty("CreateOutput", true); fit->execute(); + m_data = fit->getProperty("OutputWorkspace"); m_parameterTable = fit->getProperty("OutputParameters"); setFittedPeaks(static_cast(fit->getProperty("Function")));