diff --git a/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp b/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp index 1431b38ae0e1e338d1d4035d2b67584c9cba4ff4..fe2dfbcc3e23ed987c6f0bb5d042c46f8b37ded7 100644 --- a/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp +++ b/Framework/MDAlgorithms/src/ConvertToReflectometryQ.cpp @@ -353,40 +353,54 @@ void ConvertToReflectometryQ::exec() { TableWorkspace_sptr vertexes = boost::make_shared<Mantid::DataObjects::TableWorkspace>(); - + Progress transSelectionProg(this, 0.0, 0.1, 2); if (outputAsMDWorkspace) { + transSelectionProg.report("Choosing Transformation"); if (transMethod == centerTransform()) { auto outputMDWS = transform->executeMD(inputWs, bc); + Progress transPerformProg(this, 0.1, 0.7, 5); + transPerformProg.report("Performed transformation"); // Copy ExperimentInfo (instrument, run, sample) to the output WS ExperimentInfo_sptr ei(inputWs->cloneExperimentInfo()); outputMDWS->addExperimentInfo(ei); outputWS = outputMDWS; } else if (transMethod == normPolyTransform()) { + Progress transPerformProg(this, 0.1, 0.7, 5); const bool dumpVertexes = this->getProperty("DumpVertexes"); auto vertexesTable = vertexes; // perform the normalised polygon transformation + transPerformProg.report("Performing Transformation"); auto normPolyTrans = transform->executeNormPoly( inputWs, vertexesTable, dumpVertexes, outputDimensions); // copy any experiment info from input workspace normPolyTrans->copyExperimentInfoFrom(inputWs.get()); // produce MDHistoWorkspace from normPolyTrans workspace. + Progress outputToMDProg(this, 0.7, 0.75, 10); auto outputMDWS = transform->executeMDNormPoly(normPolyTrans); ExperimentInfo_sptr ei(normPolyTrans->cloneExperimentInfo()); outputMDWS->addExperimentInfo(ei); outputWS = outputMDWS; + outputToMDProg.report("Successfully output to MD"); } else { throw std::runtime_error("Unknown rebinning method: " + transMethod); } } else if (transMethod == normPolyTransform()) { + transSelectionProg.report("Choosing Transformation"); + Progress transPerformProg(this, 0.1, 0.7, 5); const bool dumpVertexes = this->getProperty("DumpVertexes"); auto vertexesTable = vertexes; // perform the normalised polygon transformation + transPerformProg.report("Performing Transformation"); auto output2DWS = transform->executeNormPoly( inputWs, vertexesTable, dumpVertexes, outputDimensions); // copy any experiment info from input workspace output2DWS->copyExperimentInfoFrom(inputWs.get()); outputWS = output2DWS; + transPerformProg.report("Transformation Complete"); } else if (transMethod == centerTransform()) { + transSelectionProg.report("Choosing Transformation"); + Progress transPerformProg(this, 0.1, 0.7, 5); + transPerformProg.report("Performing Transformation"); auto output2DWS = transform->execute(inputWs); output2DWS->copyExperimentInfoFrom(inputWs.get()); outputWS = output2DWS; @@ -397,6 +411,8 @@ void ConvertToReflectometryQ::exec() { // Execute the transform and bind to the output. setProperty("OutputWorkspace", outputWS); setProperty("OutputVertexes", vertexes); + Progress setPropertyProg(this, 0.8, 1.0, 2); + setPropertyProg.report("Success"); } } // namespace Mantid diff --git a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp index 49ba9501a901953737b28baed4496415ab89b8c3..2169429a18df8d1b89d87677a524940365dd3ffe 100644 --- a/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp +++ b/MantidQt/MantidWidgets/src/MuonSequentialFitDialog.cpp @@ -368,28 +368,23 @@ namespace MantidWidgets MatrixWorkspace_sptr ws; - auto load = boost::dynamic_pointer_cast<AlgorithmProxy>( AlgorithmManager::Instance().create("MuonLoad") ); - load->setChild(true); - load->setRethrows(true); - load->copyPropertiesFrom(*m_loadAlg); - - try - { + try { + auto load = AlgorithmManager::Instance().create("MuonLoad"); load->initialize(); - - load->setPropertyValue( "Filename", fileIt->toStdString() ); - load->setPropertyValue( "OutputWorkspace", "__YouDontSeeMeIAmNinja" ); // Is not used - - if ( m_fitPropBrowser->rawData() ) // TODO: or vice verca? - load->setPropertyValue( "RebinParams", "" ); + load->setChild(true); + load->setRethrows(true); + load->updatePropertyValues(*m_loadAlg); + load->setPropertyValue("Filename", fileIt->toStdString()); + load->setPropertyValue("OutputWorkspace", "__YouDontSeeMeIAmNinja"); + if (m_fitPropBrowser->rawData()) // TODO: or vice verca? + load->setPropertyValue("RebinParams", ""); load->execute(); ws = load->getProperty("OutputWorkspace"); - } - catch(...) - { - QMessageBox::critical(this, "Loading failed", + } catch (...) { + QMessageBox::critical( + this, "Loading failed", "Unable to load one of the files.\n\nCheck log for details"); break; }