From 1aa9d5cc906163cb15a8a7671c27ecba9aec9bca Mon Sep 17 00:00:00 2001 From: Robert Applin <40830825+robertapplin@users.noreply.github.com> Date: Mon, 20 Aug 2018 11:25:26 +0100 Subject: [PATCH] Make review changes Refs #23155 --- Framework/CurveFitting/src/Algorithms/QENSFitSequential.cpp | 1 + .../CurveFitting/src/Algorithms/QENSFitSimultaneous.cpp | 5 +++-- .../WorkflowAlgorithms/src/ProcessIndirectFitParameters.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Framework/CurveFitting/src/Algorithms/QENSFitSequential.cpp b/Framework/CurveFitting/src/Algorithms/QENSFitSequential.cpp index baf17f78e25..ba8168f87f5 100644 --- a/Framework/CurveFitting/src/Algorithms/QENSFitSequential.cpp +++ b/Framework/CurveFitting/src/Algorithms/QENSFitSequential.cpp @@ -285,6 +285,7 @@ IAlgorithm_sptr createProcessIndirectFitParametersAlgorithm( const std::vector<std::string> ¶meterNames) { auto pifp = AlgorithmManager::Instance().create("ProcessIndirectFitParameters"); + pifp->setChild(true); pifp->setAlwaysStoreInADS(false); pifp->setProperty("InputWorkspace", parameterWorkspace); pifp->setProperty("ColumnX", "axis-1"); diff --git a/Framework/CurveFitting/src/Algorithms/QENSFitSimultaneous.cpp b/Framework/CurveFitting/src/Algorithms/QENSFitSimultaneous.cpp index d3d640f72fb..b23ca868ef4 100644 --- a/Framework/CurveFitting/src/Algorithms/QENSFitSimultaneous.cpp +++ b/Framework/CurveFitting/src/Algorithms/QENSFitSimultaneous.cpp @@ -170,6 +170,7 @@ IAlgorithm_sptr createProcessIndirectFitParametersAlgorithm( const std::vector<std::string> ¶meterNames) { auto pifp = AlgorithmManager::Instance().create("ProcessIndirectFitParameters"); + pifp->setChild(true); pifp->setAlwaysStoreInADS(false); pifp->setProperty("InputWorkspace", parameterWorkspace); pifp->setProperty("ColumnX", "axis-1"); @@ -179,12 +180,12 @@ IAlgorithm_sptr createProcessIndirectFitParametersAlgorithm( } ITableWorkspace_sptr transposeFitTable(ITableWorkspace_sptr table, - IFunction_sptr function, + const IFunction &function, const std::string &yAxisType) { auto transposed = WorkspaceFactory::Instance().createTable(); transposed->addColumn(yAxisType, "axis-1"); - auto parameters = function->getParameterNames(); + auto parameters = function.getParameterNames(); for (const auto ¶meter : parameters) { transposed->addColumn("double", parameter); transposed->addColumn("double", parameter + "_Err"); diff --git a/Framework/WorkflowAlgorithms/src/ProcessIndirectFitParameters.cpp b/Framework/WorkflowAlgorithms/src/ProcessIndirectFitParameters.cpp index 63b4466292b..e345e8bebf6 100644 --- a/Framework/WorkflowAlgorithms/src/ProcessIndirectFitParameters.cpp +++ b/Framework/WorkflowAlgorithms/src/ProcessIndirectFitParameters.cpp @@ -92,9 +92,10 @@ std::vector<T> getColumnValues(Column const &column, std::size_t startRow, std::vector<double> getNumericColumnValuesOrIndices(Column const &column, std::size_t startRow, std::size_t endRow) { + auto const length = startRow >= endRow ? 1 + startRow - endRow : 0; if (column.isNumber()) return getColumnValues<double>(column, startRow, endRow); - return getIncrementingSequence(0.0, endRow - startRow + 1); + return getIncrementingSequence(0.0, length); } std::string getColumnName(Column_const_sptr column) { return column->name(); } -- GitLab