From 822221e0ae5074d2ee672d07ae84da9fbf94a811 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de>
Date: Fri, 12 Nov 2021 17:21:16 +0100
Subject: [PATCH] clang-tidy --fix: some automatic modernization of Fit/

---
 .clang-tidy                              | 36 ++++++------
 Fit/Adapter/MinimizerAdapter.cpp         |  6 +-
 Fit/Adapter/MinimizerAdapter.h           |  2 +-
 Fit/Adapter/ObjectiveFunctionAdapter.cpp |  4 +-
 Fit/Adapter/Report.cpp                   |  4 +-
 Fit/Adapter/ResidualFunctionAdapter.cpp  |  8 ++-
 Fit/Adapter/RootResidualFunction.cpp     |  6 +-
 Fit/Adapter/ScalarFunctionAdapter.cpp    |  6 +-
 Fit/Adapter/ScalarFunctionAdapter.h      |  2 +-
 Fit/Kernel/Kernel.h                      |  4 +-
 Fit/Kernel/Minimizer.h                   |  4 +-
 Fit/Kernel/MinimizerFactory.cpp          |  4 +-
 Fit/Minimizer/MinimizerInfo.h            |  9 +--
 Fit/Minimizer/MinimizerOptions.cpp       |  4 +-
 Fit/Param/Attributes.h                   |  4 +-
 Fit/Param/Parameter.cpp                  |  5 +-
 Fit/Param/Parameter.h                    |  2 +-
 Fit/Param/RealLimits.h                   |  2 +-
 Fit/TestEngine/MinimizerTestPlan.h       |  5 +-
 Fit/Tools/MultiOption.cpp                |  3 +-
 Fit/Tools/MultiOption.h                  |  2 +-
 Fit/Tools/OptionContainer.cpp            |  2 +-
 Fit/Tools/OptionContainer.h              |  2 +-
 Fit/Tools/StringUtils.h                  |  4 +-
 auto/Wrap/doxygenFit.i                   | 70 +++++++----------------
 auto/Wrap/libBornAgainFit.py             |  8 +--
 auto/Wrap/libBornAgainFit_wrap.cpp       | 71 ++++++++++--------------
 27 files changed, 125 insertions(+), 154 deletions(-)

diff --git a/.clang-tidy b/.clang-tidy
index bf01acb91e4..15d5b05c1ed 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -101,7 +101,6 @@ Checks: '
 
 -*use-auto,
 -*move-const-arg,
-*-use-emplace,
 -*use-equals-default,
 -*use-nullptr,
 -*use-override,
@@ -120,23 +119,23 @@ Checks: '
 -llvm-qualified-auto,
 -misc-non-private-member-variables-in-classes,
 -misc-uniqueptr-reset-release,
--modernize-avoid-bind,
+modernize-avoid-bind,
 -modernize-loop-convert,
--modernize-make-unique,
--modernize-pass-by-value,
--modernize-raw-string-literal,
--modernize-use-default-member-init,
--modernize-use-using,
--performance-for-range-copy,
--readability-avoid-const-params-in-decls,
--readability-const-return-type,
+modernize-make-unique,
+modernize-pass-by-value,
+modernize-raw-string-literal,
+modernize-use-default-member-init,
+modernize-use-using,
+performance-for-range-copy,
+readability-avoid-const-params-in-decls,
+readability-const-return-type,
 -readability-non-const-parameter,
--readability-container-size-empty,
--readability-delete-null-pointer,
--readability-inconsistent-declaration-parameter-name,
--readability-qualified-auto,
--readability-redundant-member-init,
--readability-simplify-boolean-expr,
+readability-container-size-empty,
+readability-delete-null-pointer,
+readability-inconsistent-declaration-parameter-name,
+readability-qualified-auto,
+readability-redundant-member-init,
+readability-simplify-boolean-expr,
 
 -SectionComment_Temporarily_disabled_checks__We_need_to_investigate_them_one_by_one,
 
@@ -144,5 +143,10 @@ Checks: '
 -bugprone-misplaced-widening-cast,
 -bugprone-copy-constructor-init,
 
+
+-SectionComment_To_be_kept_satisfied,
+-*-use-emplace,
+
+
 '
 # keep the closing quotation mark
\ No newline at end of file
diff --git a/Fit/Adapter/MinimizerAdapter.cpp b/Fit/Adapter/MinimizerAdapter.cpp
index 093eba0581a..b58df3343c4 100644
--- a/Fit/Adapter/MinimizerAdapter.cpp
+++ b/Fit/Adapter/MinimizerAdapter.cpp
@@ -20,10 +20,12 @@
 #include "Fit/Tools/StringUtils.h"
 #include <Math/Minimizer.h>
 
+#include <utility>
+
 using namespace mumufit;
 
-MinimizerAdapter::MinimizerAdapter(const MinimizerInfo& minimizerInfo)
-    : m_minimizerInfo(minimizerInfo)
+MinimizerAdapter::MinimizerAdapter(MinimizerInfo  minimizerInfo)
+    : m_minimizerInfo(std::move(minimizerInfo))
     , m_adapter(new mumufit::ObjectiveFunctionAdapter)
     , m_status(false)
 {
diff --git a/Fit/Adapter/MinimizerAdapter.h b/Fit/Adapter/MinimizerAdapter.h
index b52cd1cd586..4ed88ccf1ec 100644
--- a/Fit/Adapter/MinimizerAdapter.h
+++ b/Fit/Adapter/MinimizerAdapter.h
@@ -76,7 +76,7 @@ public:
     void setOptions(const std::string& optionString) override;
 
 protected:
-    MinimizerAdapter(const MinimizerInfo& minimizerInfo);
+    MinimizerAdapter(MinimizerInfo  minimizerInfo);
 
     mumufit::MinimizerResult minimize(mumufit::Parameters parameters);
 
diff --git a/Fit/Adapter/ObjectiveFunctionAdapter.cpp b/Fit/Adapter/ObjectiveFunctionAdapter.cpp
index f0bc3fe3954..0cce5896532 100644
--- a/Fit/Adapter/ObjectiveFunctionAdapter.cpp
+++ b/Fit/Adapter/ObjectiveFunctionAdapter.cpp
@@ -28,7 +28,7 @@ const RootScalarFunction*
 ObjectiveFunctionAdapter::rootObjectiveFunction(fcn_scalar_t fcn, const Parameters& parameters)
 {
     std::unique_ptr<ScalarFunctionAdapter> tem_adapter(new ScalarFunctionAdapter(fcn, parameters));
-    auto result = tem_adapter->rootObjectiveFunction();
+    const auto *result = tem_adapter->rootObjectiveFunction();
     m_adapter.reset(tem_adapter.release());
     return result;
 }
@@ -38,7 +38,7 @@ ObjectiveFunctionAdapter::rootResidualFunction(fcn_residual_t fcn, const Paramet
 {
     std::unique_ptr<ResidualFunctionAdapter> tem_adapter(
         new ResidualFunctionAdapter(fcn, parameters));
-    auto result = tem_adapter->rootResidualFunction();
+    const auto *result = tem_adapter->rootResidualFunction();
     m_adapter.reset(tem_adapter.release());
     return result;
 }
diff --git a/Fit/Adapter/Report.cpp b/Fit/Adapter/Report.cpp
index 1c8e5eb1d43..364ebf869b6 100644
--- a/Fit/Adapter/Report.cpp
+++ b/Fit/Adapter/Report.cpp
@@ -44,7 +44,7 @@ std::string reportOption(const MinimizerAdapter& minimizer)
 
     std::ostringstream result;
     result << mumufit::utils::sectionString("Options");
-    for (auto option : minimizer.options()) {
+    for (const auto& option : minimizer.options()) {
         std::ostringstream opt;
         opt << std::setw(5) << std::left << option->value_str() << option->description();
         result << reportValue(option->name(), opt.str());
@@ -61,7 +61,7 @@ std::string reportStatus(const MinimizerAdapter& minimizer)
     result << mumufit::utils::sectionString("Status");
 
     auto status = minimizer.statusMap();
-    for (auto it : status)
+    for (const auto& it : status)
         result << reportValue(it.first, it.second);
 
     return result.str();
diff --git a/Fit/Adapter/ResidualFunctionAdapter.cpp b/Fit/Adapter/ResidualFunctionAdapter.cpp
index 9d3cb7f79d8..5fb32c115c0 100644
--- a/Fit/Adapter/ResidualFunctionAdapter.cpp
+++ b/Fit/Adapter/ResidualFunctionAdapter.cpp
@@ -15,7 +15,9 @@
 #include "Fit/Adapter/ResidualFunctionAdapter.h"
 #include "Fit/Adapter/RootResidualFunction.h"
 #include <cassert>
+#include <memory>
 #include <sstream>
+#include <utility>
 
 namespace {
 // step size of derivative calculations
@@ -26,7 +28,7 @@ using namespace mumufit;
 
 ResidualFunctionAdapter::ResidualFunctionAdapter(fcn_residual_t func,
                                                  const mumufit::Parameters& parameters)
-    : m_datasize(0), m_fcn(func), m_parameters(parameters)
+    : m_datasize(0), m_fcn(std::move(func)), m_parameters(parameters)
 {
     // single call of user function to get dataset size
     auto residuals = m_fcn(parameters);
@@ -42,8 +44,8 @@ const RootResidualFunction* ResidualFunctionAdapter::rootResidualFunction()
 
     scalar_function_t objective_fun = [&](const std::vector<double>& pars) { return chi2(pars); };
 
-    m_root_objective.reset(
-        new RootResidualFunction(objective_fun, gradient_fun, m_parameters.size(), m_datasize));
+    m_root_objective = std::make_unique<RootResidualFunction>(
+        objective_fun, gradient_fun, m_parameters.size(), m_datasize);
 
     return m_root_objective.get();
 }
diff --git a/Fit/Adapter/RootResidualFunction.cpp b/Fit/Adapter/RootResidualFunction.cpp
index 699801fc3b4..054f30b3ac4 100644
--- a/Fit/Adapter/RootResidualFunction.cpp
+++ b/Fit/Adapter/RootResidualFunction.cpp
@@ -14,12 +14,14 @@
 
 #include "Fit/Adapter/RootResidualFunction.h"
 
+#include <utility>
+
 RootResidualFunction::RootResidualFunction(scalar_function_t objective_fun,
                                            gradient_function_t gradient_fun, size_t npars,
                                            size_t ndatasize)
     : ROOT::Math::FitMethodFunction(static_cast<int>(npars), static_cast<int>(ndatasize))
-    , m_objective_fun(objective_fun)
-    , m_gradient_fun(gradient_fun)
+    , m_objective_fun(std::move(objective_fun))
+    , m_gradient_fun(std::move(gradient_fun))
     , m_npars(npars)
     , m_datasize(ndatasize)
 {
diff --git a/Fit/Adapter/ScalarFunctionAdapter.cpp b/Fit/Adapter/ScalarFunctionAdapter.cpp
index c97a784140a..db3cad34ec5 100644
--- a/Fit/Adapter/ScalarFunctionAdapter.cpp
+++ b/Fit/Adapter/ScalarFunctionAdapter.cpp
@@ -13,12 +13,14 @@
 //  ************************************************************************************************
 
 #include "Fit/Adapter/ScalarFunctionAdapter.h"
+
+#include <utility>
 #include "Fit/Adapter/RootScalarFunction.h"
 
 using namespace mumufit;
 
-ScalarFunctionAdapter::ScalarFunctionAdapter(fcn_scalar_t func, const Parameters& parameters)
-    : m_fcn(func), m_parameters(parameters)
+ScalarFunctionAdapter::ScalarFunctionAdapter(fcn_scalar_t func, Parameters  parameters)
+    : m_fcn(std::move(func)), m_parameters(std::move(parameters))
 {
 }
 
diff --git a/Fit/Adapter/ScalarFunctionAdapter.h b/Fit/Adapter/ScalarFunctionAdapter.h
index 3f87b639336..14a6fcc01dc 100644
--- a/Fit/Adapter/ScalarFunctionAdapter.h
+++ b/Fit/Adapter/ScalarFunctionAdapter.h
@@ -39,7 +39,7 @@ namespace mumufit {
 
 class ScalarFunctionAdapter : public IFunctionAdapter {
 public:
-    ScalarFunctionAdapter(fcn_scalar_t func, const Parameters& parameters);
+    ScalarFunctionAdapter(fcn_scalar_t func, Parameters  parameters);
 
     const RootScalarFunction* rootObjectiveFunction();
 
diff --git a/Fit/Kernel/Kernel.h b/Fit/Kernel/Kernel.h
index 7016f849e41..9067aaba355 100644
--- a/Fit/Kernel/Kernel.h
+++ b/Fit/Kernel/Kernel.h
@@ -41,8 +41,8 @@ public:
 
     void setMinimizer(IMinimizer* minimizer);
 
-    MinimizerResult minimize(const fcn_scalar_t fcn, const Parameters& parameters) const;
-    MinimizerResult minimize(const fcn_residual_t fcn, const Parameters& parameters) const;
+    MinimizerResult minimize(fcn_scalar_t fcn, const Parameters& parameters) const;
+    MinimizerResult minimize(fcn_residual_t fcn, const Parameters& parameters) const;
 
 private:
     void setParameters(const Parameters& parameters);
diff --git a/Fit/Kernel/Minimizer.h b/Fit/Kernel/Minimizer.h
index fdeb09b0247..f32e292986f 100644
--- a/Fit/Kernel/Minimizer.h
+++ b/Fit/Kernel/Minimizer.h
@@ -45,9 +45,9 @@ public:
     void setMinimizer(IMinimizer* minimizer);
 
 #ifndef SWIG
-    MinimizerResult minimize(const fcn_scalar_t fcn, const Parameters& parameters) const;
+    MinimizerResult minimize(fcn_scalar_t fcn, const Parameters& parameters) const;
 
-    MinimizerResult minimize(const fcn_residual_t fcn, const Parameters& parameters) const;
+    MinimizerResult minimize(fcn_residual_t fcn, const Parameters& parameters) const;
 #endif
 
     //! Finds minimum of user objective function (to be called from Python).
diff --git a/Fit/Kernel/MinimizerFactory.cpp b/Fit/Kernel/MinimizerFactory.cpp
index 887306ed935..d655e4e7581 100644
--- a/Fit/Kernel/MinimizerFactory.cpp
+++ b/Fit/Kernel/MinimizerFactory.cpp
@@ -112,9 +112,9 @@ std::string MinimizerFactory::catalogDetailsToString()
 
         // list of minimizer options
         std::unique_ptr<IMinimizer> minimizer(createMinimizer(minimizerName));
-        if (auto rootMinimizer = dynamic_cast<MinimizerAdapter*>(minimizer.get())) {
+        if (auto *rootMinimizer = dynamic_cast<MinimizerAdapter*>(minimizer.get())) {
             result << "\nOptions\n";
-            for (auto option : rootMinimizer->options()) {
+            for (const auto& option : rootMinimizer->options()) {
                 std::ostringstream opt;
                 opt << std::setw(5) << std::left << option->value_str() << option->description();
                 result << boost::format(fmt) % option->name() % opt.str();
diff --git a/Fit/Minimizer/MinimizerInfo.h b/Fit/Minimizer/MinimizerInfo.h
index 6d1a1962082..ad8e95a2771 100644
--- a/Fit/Minimizer/MinimizerInfo.h
+++ b/Fit/Minimizer/MinimizerInfo.h
@@ -21,14 +21,15 @@
 #define BORNAGAIN_FIT_MINIMIZER_MINIMIZERINFO_H
 
 #include <string>
+#include <utility>
 #include <vector>
 
 //! A name and a description.
 
 class AlgorithmInfo {
 public:
-    AlgorithmInfo(const std::string& itemName, const std::string& itemDescription)
-        : m_itemName(itemName), m_itemDescription(itemDescription)
+    AlgorithmInfo(std::string  itemName, std::string  itemDescription)
+        : m_itemName(std::move(itemName)), m_itemDescription(std::move(itemDescription))
     {
     }
 
@@ -44,8 +45,8 @@ private:
 
 class MinimizerInfo {
 public:
-    MinimizerInfo(const std::string& minimizerType, const std::string& minimizerDescription)
-        : m_name(minimizerType), m_description(minimizerDescription)
+    MinimizerInfo(std::string  minimizerType, std::string  minimizerDescription)
+        : m_name(std::move(minimizerType)), m_description(std::move(minimizerDescription))
     {
     }
 
diff --git a/Fit/Minimizer/MinimizerOptions.cpp b/Fit/Minimizer/MinimizerOptions.cpp
index 31e512ca345..5d9bfa5ac7a 100644
--- a/Fit/Minimizer/MinimizerOptions.cpp
+++ b/Fit/Minimizer/MinimizerOptions.cpp
@@ -25,7 +25,7 @@ const std::string delimeter = ";";
 std::string MinimizerOptions::toOptionString() const
 {
     std::ostringstream result;
-    for (auto option : m_options) {
+    for (const auto& option : m_options) {
         result << option->name() << "=" << option->value_str() << delimeter;
     }
     return result.str();
@@ -36,7 +36,7 @@ void MinimizerOptions::setOptionString(const std::string& options)
     // splits multiple option string "Strategy=1;Tolerance=0.01;"
     std::vector<std::string> tokens = mumufit::stringUtils::split(options, delimeter);
     try {
-        for (std::string opt : tokens)
+        for (const std::string& opt : tokens)
             if (!opt.empty())
                 processCommand(opt);
     } catch (std::exception& ex) {
diff --git a/Fit/Param/Attributes.h b/Fit/Param/Attributes.h
index b2dd074bef0..6e5e36af54c 100644
--- a/Fit/Param/Attributes.h
+++ b/Fit/Param/Attributes.h
@@ -25,7 +25,7 @@
 
 class Attributes {
 public:
-    Attributes() : m_is_fixed(false) {}
+    Attributes()  {}
     //! Creates a fixed value object
     static Attributes fixed() { return Attributes(true); }
     static Attributes free() { return Attributes(false); }
@@ -46,7 +46,7 @@ public:
 protected:
     Attributes(bool is_fixed) : m_is_fixed(is_fixed) {}
 
-    bool m_is_fixed; //! parameter is fixed
+    bool m_is_fixed{false}; //! parameter is fixed
 
     void print(std::ostream& ostr) const;
 };
diff --git a/Fit/Param/Parameter.cpp b/Fit/Param/Parameter.cpp
index 26d6a638da9..b5e7a99aa91 100644
--- a/Fit/Param/Parameter.cpp
+++ b/Fit/Param/Parameter.cpp
@@ -14,6 +14,7 @@
 
 #include "Fit/Param/Parameter.h"
 #include <cmath>
+#include <utility>
 
 namespace {
 const double default_step = 0.01;
@@ -29,8 +30,8 @@ using namespace mumufit;
 
 Parameter::Parameter() : m_start_value(0.0), m_value(0.0), m_step(0.0), m_error(0.0) {}
 
-Parameter::Parameter(const std::string& name, double value, const AttLimits& limits, double step)
-    : m_name(name)
+Parameter::Parameter(std::string  name, double value, const AttLimits& limits, double step)
+    : m_name(std::move(name))
     , m_start_value(value)
     , m_value(value)
     , m_step(step)
diff --git a/Fit/Param/Parameter.h b/Fit/Param/Parameter.h
index 5d465d16307..9f5ab358fe0 100644
--- a/Fit/Param/Parameter.h
+++ b/Fit/Param/Parameter.h
@@ -33,7 +33,7 @@ public:
     //! @param limits: fit parameter limits
     //! @param step: initial step of fit parameter during the minimization,
     //! will be calculated automatically, if zero.
-    Parameter(const std::string& name, double value,
+    Parameter(std::string  name, double value,
               const AttLimits& limits = AttLimits::limitless(), double step = 0.0);
 
     std::string name() const;
diff --git a/Fit/Param/RealLimits.h b/Fit/Param/RealLimits.h
index f657c913409..65550268606 100644
--- a/Fit/Param/RealLimits.h
+++ b/Fit/Param/RealLimits.h
@@ -83,7 +83,7 @@ public:
     std::string toString() const;
 
     //! Throws if value is outside limits. Parameter 'name' is for exception message.
-    void check(const std::string& name, const double value) const;
+    void check(const std::string& name, double value) const;
 
     //! Prints class
     friend std::ostream& operator<<(std::ostream& ostr, const RealLimits& m)
diff --git a/Fit/TestEngine/MinimizerTestPlan.h b/Fit/TestEngine/MinimizerTestPlan.h
index e2f450b2fde..e4b15edb381 100644
--- a/Fit/TestEngine/MinimizerTestPlan.h
+++ b/Fit/TestEngine/MinimizerTestPlan.h
@@ -21,6 +21,7 @@
 #define BORNAGAIN_FIT_TESTENGINE_MINIMIZERTESTPLAN_H
 
 #include "Fit/Param/Parameter.h"
+#include <utility>
 #include <vector>
 
 //! Defines initial settings of single fit parameter and the final value which has to be found
@@ -44,8 +45,8 @@ class Minimizer;
 class MinimizerTestPlan {
 public:
     MinimizerTestPlan() {}
-    MinimizerTestPlan(const std::vector<ParameterReference>& parameter_references)
-        : m_parameter_references(parameter_references)
+    MinimizerTestPlan(std::vector<ParameterReference>  parameter_references)
+        : m_parameter_references(std::move(parameter_references))
     {
     }
 
diff --git a/Fit/Tools/MultiOption.cpp b/Fit/Tools/MultiOption.cpp
index 57ddf95bccb..332378eef4b 100644
--- a/Fit/Tools/MultiOption.cpp
+++ b/Fit/Tools/MultiOption.cpp
@@ -14,8 +14,9 @@
 
 #include "Fit/Tools/MultiOption.h"
 #include <string>
+#include <utility>
 
-MultiOption::MultiOption(const std::string& name) : m_name(name) {}
+MultiOption::MultiOption(std::string  name) : m_name(std::move(name)) {}
 
 std::string MultiOption::name() const
 {
diff --git a/Fit/Tools/MultiOption.h b/Fit/Tools/MultiOption.h
index 871cb432c24..10e4870d798 100644
--- a/Fit/Tools/MultiOption.h
+++ b/Fit/Tools/MultiOption.h
@@ -29,7 +29,7 @@ class MultiOption {
 public:
     using variant_t = std::variant<int, double, std::string>;
 
-    explicit MultiOption(const std::string& name = "");
+    explicit MultiOption(std::string  name = "");
 
     template <typename T>
     explicit MultiOption(const std::string& name, const T& t, const std::string& descripion = "");
diff --git a/Fit/Tools/OptionContainer.cpp b/Fit/Tools/OptionContainer.cpp
index 504fdd6df60..f6a4a61570d 100644
--- a/Fit/Tools/OptionContainer.cpp
+++ b/Fit/Tools/OptionContainer.cpp
@@ -42,7 +42,7 @@ OptionContainer::option_t OptionContainer::option(const std::string& optionName)
                              + optionName + "'.");
 }
 
-const OptionContainer::option_t OptionContainer::option(const std::string& optionName) const
+OptionContainer::option_t OptionContainer::option(const std::string& optionName) const
 {
     for (const auto& option : m_options) {
         if (option->name() == optionName)
diff --git a/Fit/Tools/OptionContainer.h b/Fit/Tools/OptionContainer.h
index 6af5c2a8ca5..3fec32f6430 100644
--- a/Fit/Tools/OptionContainer.h
+++ b/Fit/Tools/OptionContainer.h
@@ -43,7 +43,7 @@ public:
     option_t addOption(const std::string& optionName, T value, const std::string& description = "");
 
     option_t option(const std::string& optionName);
-    const option_t option(const std::string& optionName) const;
+    option_t option(const std::string& optionName) const;
 
     template <class T> T optionValue(const std::string& optionName) const;
 
diff --git a/Fit/Tools/StringUtils.h b/Fit/Tools/StringUtils.h
index e66beee7cc1..8af1114fb52 100644
--- a/Fit/Tools/StringUtils.h
+++ b/Fit/Tools/StringUtils.h
@@ -30,10 +30,10 @@
 namespace mumufit::stringUtils {
 
 //! Split string into vector of string using delimeter.
-std::vector<std::string> split(const std::string& text, const std::string& delimeter);
+std::vector<std::string> split(const std::string& text, const std::string& delimiter);
 
 //! Returns scientific string representing given value of any numeric type.
-template <typename T> std::string scientific(const T value, int n = 10);
+template <typename T> std::string scientific(T value, int n = 10);
 
 template <typename T> std::string scientific(const T value, int n)
 {
diff --git a/auto/Wrap/doxygenFit.i b/auto/Wrap/doxygenFit.i
index ec44a379932..4f66422c999 100644
--- a/auto/Wrap/doxygenFit.i
+++ b/auto/Wrap/doxygenFit.i
@@ -218,7 +218,7 @@ A name and a description.
 C++ includes: MinimizerInfo.h
 ";
 
-%feature("docstring")  AlgorithmInfo::AlgorithmInfo "AlgorithmInfo::AlgorithmInfo(const std::string &itemName, const std::string &itemDescription)
+%feature("docstring")  AlgorithmInfo::AlgorithmInfo "AlgorithmInfo::AlgorithmInfo(std::string itemName, std::string itemDescription)
 ";
 
 %feature("docstring")  AlgorithmInfo::name "std::string AlgorithmInfo::name() const
@@ -1894,30 +1894,6 @@ Update configuration after a fit using the  FitResult.
 ";
 
 
-// File: classFitOptions.xml
-%feature("docstring") FitOptions "
-
-General fitting options.
-
-C++ includes: FitOptions.h
-";
-
-%feature("docstring")  FitOptions::FitOptions "FitOptions::FitOptions()
-";
-
-%feature("docstring")  FitOptions::derivEpsilon "double FitOptions::derivEpsilon() const
-";
-
-%feature("docstring")  FitOptions::setDerivEpsilon "void FitOptions::setDerivEpsilon(double deriv_epsilon)
-";
-
-%feature("docstring")  FitOptions::stepFactor "double FitOptions::stepFactor() const
-";
-
-%feature("docstring")  FitOptions::setStepFactor "void FitOptions::setStepFactor(double step_factor)
-";
-
-
 // File: classROOT_1_1Fit_1_1FitResult.xml
 %feature("docstring") ROOT::Fit::FitResult "
 
@@ -5974,10 +5950,10 @@ C++ includes: Kernel.h
 %feature("docstring")  mumufit::Kernel::setMinimizer "void Kernel::setMinimizer(IMinimizer *minimizer)
 ";
 
-%feature("docstring")  mumufit::Kernel::minimize "MinimizerResult Kernel::minimize(const fcn_scalar_t fcn, const Parameters &parameters) const
+%feature("docstring")  mumufit::Kernel::minimize "MinimizerResult Kernel::minimize(fcn_scalar_t fcn, const Parameters &parameters) const
 ";
 
-%feature("docstring")  mumufit::Kernel::minimize "MinimizerResult Kernel::minimize(const fcn_residual_t fcn, const Parameters &parameters) const
+%feature("docstring")  mumufit::Kernel::minimize "MinimizerResult Kernel::minimize(fcn_residual_t fcn, const Parameters &parameters) const
 ";
 
 
@@ -6299,10 +6275,10 @@ C++ includes: Minimizer.h
 %feature("docstring")  mumufit::Minimizer::setMinimizer "void Minimizer::setMinimizer(IMinimizer *minimizer)
 ";
 
-%feature("docstring")  mumufit::Minimizer::minimize "MinimizerResult Minimizer::minimize(const fcn_scalar_t fcn, const Parameters &parameters) const
+%feature("docstring")  mumufit::Minimizer::minimize "MinimizerResult Minimizer::minimize(fcn_scalar_t fcn, const Parameters &parameters) const
 ";
 
-%feature("docstring")  mumufit::Minimizer::minimize "MinimizerResult Minimizer::minimize(const fcn_residual_t fcn, const Parameters &parameters) const
+%feature("docstring")  mumufit::Minimizer::minimize "MinimizerResult Minimizer::minimize(fcn_residual_t fcn, const Parameters &parameters) const
 ";
 
 %feature("docstring")  mumufit::Minimizer::minimize "MinimizerResult Minimizer::minimize(const PyCallback &callback, const Parameters &parameters) const
@@ -6778,7 +6754,7 @@ Info about a minimizer, including list of defined minimization algorithms.
 C++ includes: MinimizerInfo.h
 ";
 
-%feature("docstring")  MinimizerInfo::MinimizerInfo "MinimizerInfo::MinimizerInfo(const std::string &minimizerType, const std::string &minimizerDescription)
+%feature("docstring")  MinimizerInfo::MinimizerInfo "MinimizerInfo::MinimizerInfo(std::string minimizerType, std::string minimizerDescription)
 ";
 
 %feature("docstring")  MinimizerInfo::setAlgorithmName "void MinimizerInfo::setAlgorithmName(const std::string &algorithmName)
@@ -7013,7 +6989,7 @@ C++ includes: MinimizerTestPlan.h
 %feature("docstring")  MinimizerTestPlan::MinimizerTestPlan "MinimizerTestPlan::MinimizerTestPlan()
 ";
 
-%feature("docstring")  MinimizerTestPlan::MinimizerTestPlan "MinimizerTestPlan::MinimizerTestPlan(const std::vector< ParameterReference > &parameter_references)
+%feature("docstring")  MinimizerTestPlan::MinimizerTestPlan "MinimizerTestPlan::MinimizerTestPlan(std::vector< ParameterReference > parameter_references)
 ";
 
 %feature("docstring")  MinimizerTestPlan::~MinimizerTestPlan "MinimizerTestPlan::~MinimizerTestPlan()
@@ -10102,7 +10078,7 @@ Stores a single option for minimization algorithm. Int, double, string values ar
 C++ includes: MultiOption.h
 ";
 
-%feature("docstring")  MultiOption::MultiOption "MultiOption::MultiOption(const std::string &name=\"\")
+%feature("docstring")  MultiOption::MultiOption "MultiOption::MultiOption(std::string name=\"\")
 ";
 
 %feature("docstring")  MultiOption::MultiOption "MultiOption::MultiOption(const std::string &name, const T &t, const std::string &descripion=\"\")
@@ -10331,7 +10307,7 @@ Returns true if option with such name already exists.
 %feature("docstring")  OptionContainer::option "OptionContainer::option_t OptionContainer::option(const std::string &optionName)
 ";
 
-%feature("docstring")  OptionContainer::option "const OptionContainer::option_t OptionContainer::option(const std::string &optionName) const
+%feature("docstring")  OptionContainer::option "OptionContainer::option_t OptionContainer::option(const std::string &optionName) const
 ";
 
 %feature("docstring")  OptionContainer::optionValue "T OptionContainer::optionValue(const std::string &optionName) const
@@ -10376,7 +10352,7 @@ C++ includes: Parameter.h
 %feature("docstring")  mumufit::Parameter::Parameter "Parameter::Parameter()
 ";
 
-%feature("docstring")  mumufit::Parameter::Parameter "Parameter::Parameter(const std::string &name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)
+%feature("docstring")  mumufit::Parameter::Parameter "Parameter::Parameter(std::string name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)
 
 Fit parameter constructor.
 
@@ -11278,7 +11254,7 @@ returns true if proposed value is in limits range
 %feature("docstring")  RealLimits::toString "std::string RealLimits::toString() const
 ";
 
-%feature("docstring")  RealLimits::check "void RealLimits::check(const std::string &name, const double value) const
+%feature("docstring")  RealLimits::check "void RealLimits::check(const std::string &name, double value) const
 
 Throws if value is outside limits. Parameter 'name' is for exception message. 
 ";
@@ -11422,7 +11398,7 @@ More precisely,  ROOT call to std::function<double(const double*)> will cause th
 C++ includes: ScalarFunctionAdapter.h
 ";
 
-%feature("docstring")  mumufit::ScalarFunctionAdapter::ScalarFunctionAdapter "ScalarFunctionAdapter::ScalarFunctionAdapter(fcn_scalar_t func, const Parameters &parameters)
+%feature("docstring")  mumufit::ScalarFunctionAdapter::ScalarFunctionAdapter "ScalarFunctionAdapter::ScalarFunctionAdapter(fcn_scalar_t func, Parameters parameters)
 ";
 
 %feature("docstring")  mumufit::ScalarFunctionAdapter::rootObjectiveFunction "const RootScalarFunction * ScalarFunctionAdapter::rootObjectiveFunction()
@@ -12580,22 +12556,22 @@ Retrieve the dimension of the function
 // File: namespace_0d217.xml
 
 
-// File: namespace_0d229.xml
+// File: namespace_0d227.xml
 
 
-// File: namespace_0d243.xml
+// File: namespace_0d241.xml
 
 
-// File: namespace_0d245.xml
+// File: namespace_0d243.xml
 
 
-// File: namespace_0d253.xml
+// File: namespace_0d251.xml
 
 
-// File: namespace_0d262.xml
+// File: namespace_0d260.xml
 
 
-// File: namespace_0d275.xml
+// File: namespace_0d273.xml
 
 
 // File: namespace_0d65.xml
@@ -12615,14 +12591,14 @@ Reports results of minimization in the form of multi-line string.
 
 
 // File: namespacemumufit_1_1stringUtils.xml
-%feature("docstring")  mumufit::stringUtils::split "std::vector< std::string > mumufit::stringUtils::split(const std::string &text, const std::string &delimeter)
+%feature("docstring")  mumufit::stringUtils::split "std::vector< std::string > mumufit::stringUtils::split(const std::string &text, const std::string &delimiter)
 
 Split string into vector of string using delimeter.
 
 Returns token vector obtained by splitting string at delimiters. 
 ";
 
-%feature("docstring")  mumufit::stringUtils::scientific "std::string mumufit::stringUtils::scientific(const T value, int n=10)
+%feature("docstring")  mumufit::stringUtils::scientific "std::string mumufit::stringUtils::scientific(T value, int n=10)
 
 Returns scientific string representing given value of any numeric type. 
 ";
@@ -14617,12 +14593,6 @@ Decaying sinus from lmfit tutorial.
 // File: SimAnMinimizer_8h.xml
 
 
-// File: FitOptions_8cpp.xml
-
-
-// File: FitOptions_8h.xml
-
-
 // File: Kernel_8cpp.xml
 
 
diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py
index 7916d64f267..a248b30d0b6 100644
--- a/auto/Wrap/libBornAgainFit.py
+++ b/auto/Wrap/libBornAgainFit.py
@@ -1861,8 +1861,8 @@ class RealLimits(object):
 
     def check(self, name, value):
         r"""
-        check(RealLimits self, std::string const & name, double const value)
-        void RealLimits::check(const std::string &name, const double value) const
+        check(RealLimits self, std::string const & name, double value)
+        void RealLimits::check(const std::string &name, double value) const
 
         Throws if value is outside limits. Parameter 'name' is for exception message. 
 
@@ -2137,8 +2137,8 @@ class Parameter(object):
     def __init__(self, *args):
         r"""
         __init__(Parameter self) -> Parameter
-        __init__(Parameter self, std::string const & name, double value, AttLimits limits=AttLimits::limitless(), double step=0.0) -> Parameter
-        Parameter::Parameter(const std::string &name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)
+        __init__(Parameter self, std::string name, double value, AttLimits limits=AttLimits::limitless(), double step=0.0) -> Parameter
+        Parameter::Parameter(std::string name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)
 
         Fit parameter constructor.
 
diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp
index ef50cba3367..a1ed1611925 100644
--- a/auto/Wrap/libBornAgainFit_wrap.cpp
+++ b/auto/Wrap/libBornAgainFit_wrap.cpp
@@ -24956,11 +24956,10 @@ fail:
 
 SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
-  std::string *arg1 = 0 ;
+  std::string arg1 ;
   double arg2 ;
   AttLimits *arg3 = 0 ;
   double arg4 ;
-  int res1 = SWIG_OLDOBJ ;
   double val2 ;
   int ecode2 = 0 ;
   void *argp3 = 0 ;
@@ -24972,14 +24971,12 @@ SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self),
   if ((nobjs < 4) || (nobjs > 4)) SWIG_fail;
   {
     std::string *ptr = (std::string *)0;
-    res1 = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
+    int res = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
+    if (!SWIG_IsOK(res) || !ptr) {
+      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string""'"); 
     }
-    arg1 = ptr;
+    arg1 = *ptr;
+    if (SWIG_IsNewObj(res)) delete ptr;
   }
   ecode2 = SWIG_AsVal_double(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
@@ -24999,22 +24996,19 @@ SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self),
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_Parameter" "', argument " "4"" of type '" "double""'");
   } 
   arg4 = static_cast< double >(val4);
-  result = (mumufit::Parameter *)new mumufit::Parameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3,arg4);
+  result = (mumufit::Parameter *)new mumufit::Parameter(arg1,arg2,(AttLimits const &)*arg3,arg4);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__Parameter, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
-  std::string *arg1 = 0 ;
+  std::string arg1 ;
   double arg2 ;
   AttLimits *arg3 = 0 ;
-  int res1 = SWIG_OLDOBJ ;
   double val2 ;
   int ecode2 = 0 ;
   void *argp3 = 0 ;
@@ -25024,14 +25018,12 @@ SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self),
   if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
   {
     std::string *ptr = (std::string *)0;
-    res1 = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
+    int res = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
+    if (!SWIG_IsOK(res) || !ptr) {
+      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string""'"); 
     }
-    arg1 = ptr;
+    arg1 = *ptr;
+    if (SWIG_IsNewObj(res)) delete ptr;
   }
   ecode2 = SWIG_AsVal_double(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
@@ -25046,21 +25038,18 @@ SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self),
     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Parameter" "', argument " "3"" of type '" "AttLimits const &""'"); 
   }
   arg3 = reinterpret_cast< AttLimits * >(argp3);
-  result = (mumufit::Parameter *)new mumufit::Parameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3);
+  result = (mumufit::Parameter *)new mumufit::Parameter(arg1,arg2,(AttLimits const &)*arg3);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__Parameter, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
 
 SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self), Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
-  std::string *arg1 = 0 ;
+  std::string arg1 ;
   double arg2 ;
-  int res1 = SWIG_OLDOBJ ;
   double val2 ;
   int ecode2 = 0 ;
   mumufit::Parameter *result = 0 ;
@@ -25068,26 +25057,22 @@ SWIGINTERN PyObject *_wrap_new_Parameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self),
   if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
   {
     std::string *ptr = (std::string *)0;
-    res1 = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
-    if (!SWIG_IsOK(res1)) {
-      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
-    }
-    if (!ptr) {
-      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string const &""'"); 
+    int res = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
+    if (!SWIG_IsOK(res) || !ptr) {
+      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_Parameter" "', argument " "1"" of type '" "std::string""'"); 
     }
-    arg1 = ptr;
+    arg1 = *ptr;
+    if (SWIG_IsNewObj(res)) delete ptr;
   }
   ecode2 = SWIG_AsVal_double(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_Parameter" "', argument " "2"" of type '" "double""'");
   } 
   arg2 = static_cast< double >(val2);
-  result = (mumufit::Parameter *)new mumufit::Parameter((std::string const &)*arg1,arg2);
+  result = (mumufit::Parameter *)new mumufit::Parameter(arg1,arg2);
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mumufit__Parameter, SWIG_POINTER_NEW |  0 );
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return resultobj;
 fail:
-  if (SWIG_IsNewObj(res1)) delete arg1;
   return NULL;
 }
 
@@ -25164,9 +25149,9 @@ fail:
   SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Parameter'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    mumufit::Parameter::Parameter()\n"
-    "    mumufit::Parameter::Parameter(std::string const &,double,AttLimits const &,double)\n"
-    "    mumufit::Parameter::Parameter(std::string const &,double,AttLimits const &)\n"
-    "    mumufit::Parameter::Parameter(std::string const &,double)\n");
+    "    mumufit::Parameter::Parameter(std::string,double,AttLimits const &,double)\n"
+    "    mumufit::Parameter::Parameter(std::string,double,AttLimits const &)\n"
+    "    mumufit::Parameter::Parameter(std::string,double)\n");
   return 0;
 }
 
@@ -28311,8 +28296,8 @@ static PyMethodDef SwigMethods[] = {
 		"\n"
 		""},
 	 { "RealLimits_check", _wrap_RealLimits_check, METH_VARARGS, "\n"
-		"RealLimits_check(RealLimits self, std::string const & name, double const value)\n"
-		"void RealLimits::check(const std::string &name, const double value) const\n"
+		"RealLimits_check(RealLimits self, std::string const & name, double value)\n"
+		"void RealLimits::check(const std::string &name, double value) const\n"
 		"\n"
 		"Throws if value is outside limits. Parameter 'name' is for exception message. \n"
 		"\n"
@@ -28416,8 +28401,8 @@ static PyMethodDef SwigMethods[] = {
 	 { "AttLimits_swiginit", AttLimits_swiginit, METH_VARARGS, NULL},
 	 { "new_Parameter", _wrap_new_Parameter, METH_VARARGS, "\n"
 		"Parameter()\n"
-		"Parameter(std::string const & name, double value, AttLimits limits=AttLimits::limitless(), double step=0.0)\n"
-		"Parameter::Parameter(const std::string &name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)\n"
+		"Parameter(std::string name, double value, AttLimits limits=AttLimits::limitless(), double step=0.0)\n"
+		"Parameter::Parameter(std::string name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)\n"
 		"\n"
 		"Fit parameter constructor.\n"
 		"\n"
-- 
GitLab