diff --git a/Fit/Parameters/FitParameterSet.cpp b/Core/Fitting/FitParameterSet.cpp similarity index 95% rename from Fit/Parameters/FitParameterSet.cpp rename to Core/Fitting/FitParameterSet.cpp index 46d2b2226eacad3ee8a1152ae5f966e4b0f373a0..59799b46258c6b49866e695cf3abaf0ccf2a281d 100644 --- a/Fit/Parameters/FitParameterSet.cpp +++ b/Core/Fitting/FitParameterSet.cpp @@ -15,6 +15,7 @@ #include "FitParameterSet.h" #include "IFitParameter.h" #include "MinimizerUtils.h" +#include "Parameters.h" #include <cmath> #include <iostream> #include <sstream> @@ -229,6 +230,18 @@ void FitParameterSet::setCorrelationMatrix(const FitParameterSet::corr_matrix_t& m_corr_matrix = matrix; } +//! Refactoring temp: returns set of new fit parameters. + +Fit::Parameters FitParameterSet::fitParametersNewKernel() const +{ + Fit::Parameters result; + + for (const auto par: m_parameters) + result.add(Fit::Parameter(par->name(), par->value(), par->limits(), par->step())); + + return result; +} + //! Returns true if parameter with such name exists. bool FitParameterSet::isExistingName(const std::string& name) const diff --git a/Fit/Parameters/FitParameterSet.h b/Core/Fitting/FitParameterSet.h similarity index 96% rename from Fit/Parameters/FitParameterSet.h rename to Core/Fitting/FitParameterSet.h index f42003dc7bedb9babc3e0c693d4f0f872771c89d..f1ad2188ec40134fad42a62f1e90b64536637d66 100644 --- a/Fit/Parameters/FitParameterSet.h +++ b/Core/Fitting/FitParameterSet.h @@ -19,6 +19,8 @@ #include <vector> #include <string> +namespace Fit { class Parameters; } + class IFitParameter; //! The set of fit parameters. @@ -71,6 +73,8 @@ class BA_CORE_API_ FitParameterSet corr_matrix_t correlationMatrix() const { return m_corr_matrix; } void setCorrelationMatrix(const corr_matrix_t& matrix); + Fit::Parameters fitParametersNewKernel() const; + private: bool isExistingName(const std::string& name) const; std::string suggestParameterName() const; diff --git a/Core/Fitting/FitSuite.cpp b/Core/Fitting/FitSuite.cpp index 818303514554c3ad1b0a3f72921e3e9ed692d50f..63df8faafdb45d12492d90b37837c887b405a87a 100644 --- a/Core/Fitting/FitSuite.cpp +++ b/Core/Fitting/FitSuite.cpp @@ -14,7 +14,6 @@ #include "FitSuite.h" #include "FitSuiteImpl.h" -#include "FitKernel.h" #include "FitSuitePrintObserver.h" #include "IHistogram.h" #include "MinimizerFactory.h" @@ -100,11 +99,17 @@ void FitSuite::setMinimizer(IMinimizer* minimizer) m_impl->setMinimizer(minimizer); } -const IMinimizer *FitSuite::minimizer() const +std::string FitSuite::minimizerName() const { - return m_impl->kernel()->minimizer(); + // FIXME + return std::string("FIXME"); } +//const IMinimizer *FitSuite::minimizer() const +//{ +// return m_impl->kernel()->minimizer(); +//} + void FitSuite::initPrint(int print_every_nth) { std::shared_ptr<FitSuitePrintObserver> observer(new FitSuitePrintObserver(print_every_nth)); diff --git a/Core/Fitting/FitSuite.h b/Core/Fitting/FitSuite.h index 318f7b0cc164edb5da53bf3fccfb786c583efce4..a914fdcf2653522c6f5785e5e4b7806d7109091c 100644 --- a/Core/Fitting/FitSuite.h +++ b/Core/Fitting/FitSuite.h @@ -100,7 +100,8 @@ public: void setMinimizer(IMinimizer* minimizer); //! Returns minimizer. - const IMinimizer *minimizer() const; +// const IMinimizer *minimizer() const; + std::string minimizerName() const; //! Initializes printing to standard output during the fitting. //! Prints also the summary when completed. diff --git a/Core/Fitting/FitSuiteFunctions.cpp b/Core/Fitting/FitSuiteFunctions.cpp deleted file mode 100644 index 8144f612d0e6128fc330acaff338db8db9be4ca6..0000000000000000000000000000000000000000 --- a/Core/Fitting/FitSuiteFunctions.cpp +++ /dev/null @@ -1,148 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Core/Fitting/FitSuiteFunctions.cpp -//! @brief Implements classes FitSuiteChiSquaredFunction and FitSuiteGradientFunction. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "FitSuiteFunctions.h" -#include "FitSuiteImpl.h" -#include <cassert> -#include <iostream> -#include <stdexcept> - -//! evaluate chi squared value -double FitSuiteChiSquaredFunction::evaluate(const std::vector<double> &pars) -{ - assert(m_kernel != nullptr); - if (m_kernel->isInterrupted()) - throw std::runtime_error("Fitting was interrupted by the user."); - - m_kernel->fitParameters()->setValues(pars); - m_kernel->fitObjects()->runSimulations(); - double chi_squared = m_kernel->fitObjects()->getChiSquaredValue(); - m_kernel->notifyObservers(); - m_ncall++; - return chi_squared; -} - -//! evaluate residual and derivative for given data element -// (calculations are done for all dataset when index==0, when index!=0 already -// calculated data just returned -double FitSuiteGradientFunction::evaluate( - const std::vector<double>& pars, unsigned int index, std::vector<double>& gradients) -{ - assert(m_kernel != nullptr); - if (m_kernel->isInterrupted()) - throw std::runtime_error("Fitting was interrupted by the user."); - - bool parameters_changed(true); - if(m_ncalls_total != 0) - parameters_changed = m_kernel->fitParameters()->valuesDifferFrom(pars, 2.); - - verify_arrays(); - verify_minimizer_logic(parameters_changed, (int)index); - - if(parameters_changed) - calculate_residuals(pars); - - if(gradients.size()) { - if(index == 0 || parameters_changed ) { - calculate_gradients(pars); - m_ncalls_gradient++; - } - for(size_t i_par=0; i_par<m_npars; ++i_par) - gradients[i_par] = m_gradients[i_par][index]; - } - - m_ncalls_total++; - if(index == 0 ) { - m_kernel->notifyObservers(); - m_ncall++; - } - return m_residuals[index]; -} - -void FitSuiteGradientFunction::verify_arrays() -{ - if ( m_npars == m_kernel->fitParameters()->size() && - m_ndatasize == m_kernel->fitObjects()->getSizeOfDataSet() ) - return; - m_npars = m_kernel->fitParameters()->size(); - m_ndatasize = m_kernel->fitObjects()->getSizeOfDataSet(); - m_residuals.clear(); - m_residuals.resize(m_ndatasize, 0.0); - m_gradients.clear(); - m_gradients.resize(m_npars); - for(size_t i_par=0; i_par<m_npars; ++i_par) - m_gradients[i_par].resize(m_ndatasize, 0.0); -} - -void FitSuiteGradientFunction::verify_minimizer_logic( - bool /*parameters_have_changed*/, int current_index) -{ - // FIXME: only outputs warnings; is it necessary and if so, prefer exceptions? -// int index_difference = current_index - m_prev_index; -// if(index_difference != 1 && (current_index!=0 && int(m_prev_index)!= int(m_ndatasize-1) ) ) { -// std::cout << "FitSuiteGradientFunction::verify_minimizer_logic() -> Warning! " -// << "Non sequential access to elements."; -// std::cout << " current_index:" << current_index -// << " prev_index:" << m_prev_index; -// } -// if(parameters_have_changed && current_index != 0) { -// std::cout << "FitSuiteGradientFunction::verify_minimizer_logic() -> Warning! " -// << "Parameters have changed while current_index!=0"; -// std::cout << " current_index:" << current_index -// << " prev_index:" << m_prev_index; -// } -// if(parameters_have_changed && current_index == m_prev_index) { -// std::cout << "FitSuiteGradientFunction::verify_minimizer_logic() -> Warning! " -// << "Parameters have changed while index remained the same"; -// std::cout << " current_index:" << current_index -// << " prev_index:" << m_prev_index; -// } - m_prev_index = current_index; -} - -void FitSuiteGradientFunction::calculate_residuals(const std::vector<double>& pars) -{ - runSimulation(pars); - for(size_t i_data=0; i_data<m_ndatasize; ++i_data) - m_residuals[i_data] = m_kernel->fitObjects()->getResidualValue(i_data); -} - -void FitSuiteGradientFunction::calculate_gradients(const std::vector<double>& pars) -{ - // FIXME get kEps from outside fit_suite->getMinimizer()->getPrecision(); - const double kEps = 1.0E-9; // Good for Fumili - //const double kEps = 1.0E-5; - for(size_t i_par=0; i_par<m_npars; ++i_par ) { - std::vector<double > pars_deriv = pars; // values of parameters for derivative calculation - pars_deriv[i_par] += kEps; - - runSimulation(pars_deriv); - - std::vector<double> residuals2; - residuals2.resize(m_ndatasize); - for(size_t i_data=0; i_data<m_ndatasize; ++i_data) - residuals2[i_data] = m_kernel->fitObjects()->getResidualValue(i_data); - for(size_t i_data=0; i_data <m_ndatasize; ++i_data) - m_gradients[i_par][i_data] = (residuals2[i_data] - m_residuals[i_data])/kEps; - } - // returning back old parameters - m_kernel->fitParameters()->setValues(pars); - runSimulation(pars); -} - -void FitSuiteGradientFunction::runSimulation(const std::vector<double> &pars){ - assert(m_kernel); - m_kernel->fitParameters()->setValues(pars); - m_kernel->fitObjects()->runSimulations(); -} diff --git a/Core/Fitting/FitSuiteFunctions.h b/Core/Fitting/FitSuiteFunctions.h deleted file mode 100644 index 0e259708451d96000f9d471b25cd3fe6c15dd526..0000000000000000000000000000000000000000 --- a/Core/Fitting/FitSuiteFunctions.h +++ /dev/null @@ -1,88 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Core/Fitting/FitSuiteFunctions.h -//! @brief Defines classes IFitSuiteFunction, -//! FitSuiteChiSquaredFunction, FitSuiteGradientFunction -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef FITSUITEFUNCTIONS_H -#define FITSUITEFUNCTIONS_H - -#include "WinDllMacros.h" -#include <vector> -#include <cstddef> - -class FitSuiteImpl; - -//! Fitting functions interface to be used by Minimizer. -//! @ingroup fitting_internal - -class BA_CORE_API_ IFitSuiteFunction -{ - public: - IFitSuiteFunction() : m_kernel(0), m_ncall(0) {} - virtual ~IFitSuiteFunction() {} - virtual void init(FitSuiteImpl* fit_suite) { m_kernel = fit_suite; } - virtual size_t getNCalls() const { return m_ncall; } - protected: - FitSuiteImpl* m_kernel; - size_t m_ncall; -}; - - -//! Chi squared fitting function for minimizer. -//! @ingroup fitting_internal - -class BA_CORE_API_ FitSuiteChiSquaredFunction : public IFitSuiteFunction -{ - public: - FitSuiteChiSquaredFunction() {} - virtual ~FitSuiteChiSquaredFunction() {} - //! evaluate method for chi2 value called directly from the minimizer - double evaluate(const std::vector<double>& pars); -}; - - -//! Gradient fitting function for minimizer. -//! @ingroup fitting_internal - -class BA_CORE_API_ FitSuiteGradientFunction : public IFitSuiteFunction -{ - public: - FitSuiteGradientFunction() - : m_npars(0), m_ndatasize(0), m_prev_index(-1), - m_ncalls_total(0), m_ncalls_gradient(0) {} - virtual ~FitSuiteGradientFunction() {} - - //! evaluate method for gradients and residuals called directly from the minimizer - double evaluate(const std::vector<double>& pars, unsigned int index, - std::vector<double>& gradients); - - virtual size_t getNCallsTotal() const { return m_ncalls_total; } - virtual size_t getNCallsGradient() const { return m_ncalls_gradient; } - - private: - void verify_arrays(); - void verify_minimizer_logic(bool parameters_have_changed, int current_index); - void calculate_residuals(const std::vector<double>& pars); - void calculate_gradients(const std::vector<double>& pars); - void runSimulation(const std::vector<double>& pars); - - size_t m_npars; - size_t m_ndatasize; - int m_prev_index; - std::vector<double> m_residuals; // [m_ndatasize] - std::vector<std::vector<double>> m_gradients; // [m_npars][m_ndatasize] - size_t m_ncalls_total; - size_t m_ncalls_gradient; -}; - -#endif // FITSUITEFUNCTIONS_H diff --git a/Core/Fitting/FitSuiteImpl.cpp b/Core/Fitting/FitSuiteImpl.cpp index 438f41f6cda9f4dccd63dd5d586080bf08b387d7..97d4f4691ec1e99b315c4d1fa4c6e772c568f39b 100644 --- a/Core/Fitting/FitSuiteImpl.cpp +++ b/Core/Fitting/FitSuiteImpl.cpp @@ -18,18 +18,20 @@ #include "MinimizerFactory.h" #include "ParameterPool.h" #include "IMinimizer.h" -#include "FitKernel.h" #include "FitSuiteUtils.h" +#include "Minimizer.h" +#include "MinimizerConstants.h" #include <stdexcept> + FitSuiteImpl::FitSuiteImpl(const std::function<void()>& notifyObservers) : m_is_last_iteration(false) , m_is_interrupted(false) , m_notifyObservers(notifyObservers) - , m_kernel(new FitKernel) + , m_new_kernel(new Fit::Minimizer) + , m_iteration_count(0) + , m_is_gradient_based(false) { - m_function_chi2.init(this); - m_function_gradient.init(this); m_fit_strategies.init(this); } @@ -42,7 +44,6 @@ FitSuiteImpl::~FitSuiteImpl() void FitSuiteImpl::clear() { m_fit_objects.clear(); - m_kernel->clear(); m_fit_strategies.clear(); m_is_last_iteration = false; m_is_interrupted = false; @@ -63,7 +64,7 @@ FitParameter* FitSuiteImpl::addFitParameter(const std::string& pattern, double v step = value * getOptions().stepFactor(); FitParameter* result = new FitParameter(pattern, value, limits, step); - m_kernel->fitParameters()->addFitParameter(result); + fitParameters()->addFitParameter(result); return result; } @@ -73,7 +74,7 @@ FitParameter* FitSuiteImpl::addFitParameter(const FitParameter& fitPar) if(result->step() <= 0.0) result->setStep(result->value() * getOptions().stepFactor()); - m_kernel->fitParameters()->addFitParameter(result); + fitParameters()->addFitParameter(result); return result; } @@ -84,7 +85,13 @@ void FitSuiteImpl::addFitStrategy(const IFitStrategy& strategy) void FitSuiteImpl::setMinimizer(IMinimizer* minimizer) { - m_kernel->setMinimizer(minimizer); + if (minimizer->algorithmName() == AlgorithmNames::Fumili) + m_is_gradient_based = true; + + if (minimizer->minimizerName() == MinimizerNames::GSLLMA) + m_is_gradient_based = true; + + m_new_kernel->setMinimizer(minimizer); } void FitSuiteImpl::runFit() @@ -107,37 +114,33 @@ void FitSuiteImpl::runFit() void FitSuiteImpl::minimize() { - objective_function_t fun_chi2 = - [&] (const std::vector<double>& pars) {return m_function_chi2.evaluate(pars);}; - m_kernel->setObjectiveFunction( fun_chi2); + fcn_scalar_t scalar_fcn = + [&] (const Fit::Parameters& pars) {return scalar_func_new_kernel(pars);}; - gradient_function_t fun_gradient = - [&] (const std::vector<double>& pars, int index, std::vector<double> &gradients) - { - return m_function_gradient.evaluate(pars, index, gradients); - }; - m_kernel->setGradientFunction( - fun_gradient, static_cast<int>(m_fit_objects.getSizeOfDataSet()) ); + fcn_residual_t residual_fcn = + [&] (const Fit::Parameters& pars) {return residual_func_new_kernel(pars);}; m_fit_objects.setNfreeParameters((int)fitParameters()->freeFitParameterCount()); - // minimize - try { -// m_minimizer->minimize(); - m_kernel->minimize(); - } catch (int) {} + Fit::Parameters pars = fitParameters()->fitParametersNewKernel(); - m_fit_objects.runSimulations(); // we run simulation once again for best values found + if (m_is_gradient_based) + m_minimizerResult = m_new_kernel->minimize(residual_fcn, pars); + else + m_minimizerResult = m_new_kernel->minimize(scalar_fcn, pars); + + m_fit_parameters.setValues(m_minimizerResult.parameters().values()); } + FitParameterSet* FitSuiteImpl::fitParameters() { - return m_kernel->fitParameters(); + return &m_fit_parameters; } // get current number of minimization function calls size_t FitSuiteImpl::numberOfIterations() const { - return m_kernel->functionCalls(); + return m_iteration_count; } size_t FitSuiteImpl::currentStrategyIndex() const @@ -147,12 +150,7 @@ size_t FitSuiteImpl::currentStrategyIndex() const std::string FitSuiteImpl::reportResults() const { - return m_kernel->reportResults(); -} - -const FitKernel* FitSuiteImpl::kernel() const -{ - return m_kernel.get(); + return m_minimizerResult.toString(); } // method is not const because we have to link fit parameters with the sample, @@ -162,7 +160,7 @@ std::string FitSuiteImpl::setupToString() check_prerequisites(); link_fit_parameters(); std::stringstream result; - result << FitSuiteUtils::fitParameterSettingsToString(*m_kernel->fitParameters()); + result << FitSuiteUtils::fitParameterSettingsToString(*fitParameters()); return result.str(); } @@ -180,7 +178,7 @@ bool FitSuiteImpl::check_prerequisites() const void FitSuiteImpl::link_fit_parameters() { std::unique_ptr<ParameterPool> pool(m_fit_objects.createParameterTree()); - auto parameters = FitSuiteUtils::linkedParameters(*m_kernel->fitParameters()); + auto parameters = FitSuiteUtils::linkedParameters(*fitParameters()); if(parameters.empty()) throw Exceptions::RuntimeErrorException("No fit Parameters defined."); @@ -188,13 +186,42 @@ void FitSuiteImpl::link_fit_parameters() for (auto par: parameters) par->addMatchedParameters(*pool); - if(FitSuiteUtils::hasConflicts(*m_kernel->fitParameters())) { + if(FitSuiteUtils::hasConflicts(*fitParameters())) { std::ostringstream message; message << "FitSuite::runFit() -> Error. Fit parameters are conflicting with each other, " << "meaning that one sample parameter can be controlled by " << "two different fit parameters.\n"; - message << FitSuiteUtils::fitParameterSettingsToString(*m_kernel->fitParameters()); + message << FitSuiteUtils::fitParameterSettingsToString(*fitParameters()); throw Exceptions::RuntimeErrorException(message.str()); } } + +//! Refactoring temp: new minimizer's objective functions. + +double FitSuiteImpl::scalar_func_new_kernel(const Fit::Parameters& fit_pars) +{ + if (isInterrupted()) + throw std::runtime_error("Fitting was interrupted by the user."); + + ++m_iteration_count; + fitParameters()->setValues(fit_pars.values()); + fitObjects()->runSimulations(); + double chi_squared = fitObjects()->getChiSquaredValue(); + notifyObservers(); + return chi_squared; +} + +std::vector<double> FitSuiteImpl::residual_func_new_kernel(const Fit::Parameters& fit_pars) +{ + if (isInterrupted()) + throw std::runtime_error("Fitting was interrupted by the user."); + + ++m_iteration_count; + + fitParameters()->setValues(fit_pars.values()); + fitObjects()->runSimulations(); + notifyObservers(); + + return fitObjects()->residuals(); +} diff --git a/Core/Fitting/FitSuiteImpl.h b/Core/Fitting/FitSuiteImpl.h index 49d698313266407ff734d68870d4e2073ad1a64e..9b8aa80a4b4a41782d38ab2309de9ddd08470c0d 100644 --- a/Core/Fitting/FitSuiteImpl.h +++ b/Core/Fitting/FitSuiteImpl.h @@ -16,10 +16,12 @@ #define FITSUITEIMPL_H #include "FitOptions.h" -#include "FitSuiteFunctions.h" #include "FitSuiteObjects.h" #include "FitParameterSet.h" #include "FitSuiteStrategies.h" +#include "KernelTypes.h" +#include "Parameters.h" +#include "MinimizerResult.h" #include <functional> #ifndef SWIG #include <atomic> @@ -28,9 +30,10 @@ class AttLimits; class Simulation; class IMinimizer; -class FitKernel; class FitParameter; +namespace Fit { class Minimizer; } + //! Fitting kernel for FitSuite. //! @ingroup fitting_internal @@ -103,8 +106,6 @@ class BA_CORE_API_ FitSuiteImpl void resetInterrupt() { m_is_interrupted = false; } bool isInterrupted() const { return m_is_interrupted; } - const FitKernel* kernel() const; - //! Returns multiline string representing fit setup std::string setupToString(); @@ -112,17 +113,23 @@ private: bool check_prerequisites() const; void link_fit_parameters(); + double scalar_func_new_kernel(const Fit::Parameters& fit_pars); + std::vector<double> residual_func_new_kernel(const Fit::Parameters& fit_pars); + FitOptions m_fit_options; FitSuiteObjects m_fit_objects; FitSuiteStrategies m_fit_strategies; - FitSuiteChiSquaredFunction m_function_chi2; - FitSuiteGradientFunction m_function_gradient; bool m_is_last_iteration; #ifndef SWIG std::atomic<bool> m_is_interrupted; #endif std::function<void()> m_notifyObservers; - std::unique_ptr<FitKernel> m_kernel; + std::unique_ptr<Fit::Minimizer> m_new_kernel; + size_t m_iteration_count; + Fit::MinimizerResult m_minimizerResult; + FitParameterSet m_fit_parameters; + bool m_is_gradient_based; + }; #endif // FITSUITEIMPL_H diff --git a/Core/Fitting/FitSuiteObjects.cpp b/Core/Fitting/FitSuiteObjects.cpp index 264aedcfaf6eb5ab8539e43908b99fcc57a5188a..ffe803df94d780dbe596fbf7b365a78cc74d76c1 100644 --- a/Core/Fitting/FitSuiteObjects.cpp +++ b/Core/Fitting/FitSuiteObjects.cpp @@ -109,6 +109,19 @@ double FitSuiteObjects::getResidualValue(size_t global_index) return m_fit_elements[global_index].getResidual(); } +std::vector<double> FitSuiteObjects::residuals() const +{ + std::vector<double> result; + result.resize(m_fit_elements.size()); + size_t index(0); + for(const auto& element: m_fit_elements) { + result[index] = element.getResidual(); + ++index; + } + + return result; +} + void FitSuiteObjects::clear() { m_fit_objects.clear(); diff --git a/Core/Fitting/FitSuiteObjects.h b/Core/Fitting/FitSuiteObjects.h index 8541998444ba6de719d785905a90a4dc5c40821d..5b476d2a3c7b3a20ed716f109397bd745bc5bb09 100644 --- a/Core/Fitting/FitSuiteObjects.h +++ b/Core/Fitting/FitSuiteObjects.h @@ -66,6 +66,8 @@ public: //! @param global_index index across all element in FitElement vector double getResidualValue(size_t global_index); + std::vector<double> residuals() const; + void setNfreeParameters(int nfree_parameters) { m_nfree_parameters = nfree_parameters; } //! clear all data diff --git a/Fit/Parameters/IFitParameter.cpp b/Core/Fitting/IFitParameter.cpp similarity index 100% rename from Fit/Parameters/IFitParameter.cpp rename to Core/Fitting/IFitParameter.cpp diff --git a/Fit/Parameters/IFitParameter.h b/Core/Fitting/IFitParameter.h similarity index 100% rename from Fit/Parameters/IFitParameter.h rename to Core/Fitting/IFitParameter.h diff --git a/Fit/CMakeLists.txt b/Fit/CMakeLists.txt index a8dd56af4688e06e4fbd89998742c2e8bb657061..29cb9a1a55cd176fd14cc0d1f896d68a77ed48a5 100644 --- a/Fit/CMakeLists.txt +++ b/Fit/CMakeLists.txt @@ -10,7 +10,6 @@ endif() # --- source and include files ------ set(FIT_SOURCE_DIRS - ${CMAKE_CURRENT_SOURCE_DIR}/NewKernel ${CMAKE_CURRENT_SOURCE_DIR}/Kernel ${CMAKE_CURRENT_SOURCE_DIR}/Minimizer ${CMAKE_CURRENT_SOURCE_DIR}/Options diff --git a/Fit/Kernel/FitKernel.cpp b/Fit/Kernel/FitKernel.cpp deleted file mode 100644 index d47641532c4033dd0c1d5408810add38a7a9ffbc..0000000000000000000000000000000000000000 --- a/Fit/Kernel/FitKernel.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/FitKernel.cpp -//! @brief Implements class FitKernel. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "FitKernel.h" -#include "FitKernelImpl.h" -#include "MinimizerFactory.h" -#include "IFitParameter.h" - -namespace { - const std::string default_minimizer = "Minuit2"; - const std::string default_algorithm = "Migrad"; -} - -FitKernel::FitKernel() - : m_impl(new FitKernelImpl) -{ - setMinimizer(default_minimizer, default_algorithm); -} - -FitKernel::~FitKernel() {} - -void FitKernel::clear() -{ - m_impl->clear(); -} - -//! Sets minimizer with given name and algorithm type. -//! @param minimizerName The name of the minimizer -//! @param algorithmName Optional name of the minimizer's algorithm -void FitKernel::setMinimizer(const std::string& minimizerName, const std::string& algorithmName) -{ - m_impl->setMinimizer(MinimizerFactory::createMinimizer(minimizerName, algorithmName)); -} - -void FitKernel::setMinimizer(IMinimizer* minimizer) -{ - if(!minimizer) - throw std::runtime_error("FitKernel::setMinimizer() -> Error. Nullptr minimizer"); - - m_impl->setMinimizer(minimizer); -} - -//! Returns the minimizer. -const IMinimizer* FitKernel::minimizer() const -{ - return m_impl->minimizer(); -} - -//! Adds fit parameter -void FitKernel::addFitParameter( - const std::string& name, double value, const AttLimits& limits, double step) -{ - if(step <= 0.0) - throw std::runtime_error("FitKernel::addFitParameter() -> Error. Step can't be <= 0.0."); - - m_impl->addFitParameter(new IFitParameter(name, value, limits, step)); -} - - -void FitKernel::setObjectiveFunction(objective_function_t func) -{ - m_impl->setObjectiveFunction(func); -} - -void FitKernel::setGradientFunction(gradient_function_t func, int ndatasize) -{ - m_impl->setGradientFunction(func, ndatasize); -} - -void FitKernel::minimize() -{ - m_impl->minimize(); -} - -//! Returns multi-line string to report results of minimization. -std::string FitKernel::reportResults() const -{ - return m_impl->reportResults(); -} - -FitParameterSet* FitKernel::fitParameters() -{ - return const_cast<FitParameterSet*>(static_cast<const FitKernel*>(this)->fitParameters()); -} - -const FitParameterSet* FitKernel::fitParameters() const -{ - return m_impl->fitParameters(); -} - -//! Returns number of objective function calls. -int FitKernel::functionCalls() const -{ - return m_impl->functionCalls(); -} diff --git a/Fit/Kernel/FitKernel.h b/Fit/Kernel/FitKernel.h deleted file mode 100644 index fb7090e47dd8c7188b178c4682f6420d4a19d4c5..0000000000000000000000000000000000000000 --- a/Fit/Kernel/FitKernel.h +++ /dev/null @@ -1,66 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/FitKernel.h -//! @brief Defines class FitKernel. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef FITKERNEL_H -#define FITKERNEL_H - -#include "WinDllMacros.h" -#include "KernelTypes.h" -#include <memory> -#include <string> - -class FitKernelImpl; -class AttLimits; -class FitParameterSet; -class IMinimizer; - -//! Main class to setup and run a minimization. Implemented in pimpl idiom. -//! @ingroup fitting_internal - -class BA_CORE_API_ FitKernel -{ -public: - FitKernel(); - ~FitKernel(); - - void clear(); - - void setMinimizer(const std::string& minimizerName, const std::string& algorithmName = ""); - void setMinimizer(IMinimizer* minimizer); - - const IMinimizer* minimizer() const; - - void addFitParameter( - const std::string& name, double value, const AttLimits& limits, double step); - - void setObjectiveFunction(objective_function_t func); - - void setGradientFunction(gradient_function_t func, int ndatasize); - - void minimize(); - - //! Returns multi-line string to report results of minimization. - std::string reportResults() const; - - FitParameterSet* fitParameters(); - const FitParameterSet* fitParameters() const; - - //! Returns number of objective function calls. - int functionCalls() const; - -private: - std::unique_ptr<FitKernelImpl> m_impl; //!< Pointer to implementation. -}; - -#endif // FITKERNEL_H diff --git a/Fit/Kernel/FitKernelImpl.cpp b/Fit/Kernel/FitKernelImpl.cpp deleted file mode 100644 index 8268c5f98154f09f057e4beaa287f4f7f0f3a85d..0000000000000000000000000000000000000000 --- a/Fit/Kernel/FitKernelImpl.cpp +++ /dev/null @@ -1,107 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/FitKernelImpl.cpp -//! @brief Declares class FitKernelImpl. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "FitKernelImpl.h" -#include "IMinimizer.h" -#include "MinimizerResultsHelper.h" -#include "MinimizerUtils.h" -#include <sstream> - -FitKernelImpl::FitKernelImpl() {} - -FitKernelImpl::~FitKernelImpl() {} - -void FitKernelImpl::clear() -{ - m_fit_parameters.clear(); - m_minimizer.reset(); -} - -void FitKernelImpl::setMinimizer(IMinimizer* minimizer) -{ - m_minimizer.reset(minimizer); -} - -void FitKernelImpl::addFitParameter(IFitParameter* par) -{ - m_fit_parameters.addFitParameter(par); -} - -void FitKernelImpl::setObjectiveFunction(objective_function_t func) -{ - m_objective_function.setObjectiveFunction(func); -} - -void FitKernelImpl::setGradientFunction(gradient_function_t func, int ndatasize) -{ - m_objective_function.setGradientFunction(func, ndatasize); -} - -void FitKernelImpl::minimize() -{ - if(!m_minimizer) - throw std::runtime_error("FitKernelImpl::minimize() -> Error. Minimizer is not defined."); - - if(m_fit_parameters.size() == 0) - return; - - m_time_interval.start(); - - objective_function_t func = - [&](const std::vector<double> &pars) { return m_objective_function.evaluate(pars); }; - m_minimizer->setObjectiveFunction(func); - - gradient_function_t gradient_func = - [&](const std::vector<double>& pars, int index, std::vector<double>& gradients) - { - return m_objective_function.evaluate_gradient(pars, index, gradients); - }; - m_minimizer->setGradientFunction(gradient_func, m_objective_function.sizeOfData()); - - m_minimizer->setParameters(m_fit_parameters); - - m_minimizer->minimize(); - - // set found values to the parameters - m_minimizer->propagateResults(m_fit_parameters); - - m_time_interval.stop(); -} - -std::string FitKernelImpl::reportResults() const -{ - std::ostringstream result; - result << std::endl; - result << MinimizerUtils::sectionString("FitSuite::printResults"); - result << "functionCalls: " << m_objective_function.functionCalls() - << " (" << m_time_interval.runTime() << " sec total)" << "\n"; - result << m_minimizer->reportOutcome(); - result << MinimizerResultsHelper().reportParameters(&m_fit_parameters); - return result.str(); -} - -FitParameterSet* FitKernelImpl::fitParameters() -{ - return &m_fit_parameters; -} - -IMinimizer* FitKernelImpl::minimizer() -{ - return m_minimizer.get(); -} - -int FitKernelImpl::functionCalls() const -{ - return m_objective_function.functionCalls(); -} diff --git a/Fit/Kernel/FitKernelImpl.h b/Fit/Kernel/FitKernelImpl.h deleted file mode 100644 index 88392f918429ed3ac47fb0413cc7f2291a212bfa..0000000000000000000000000000000000000000 --- a/Fit/Kernel/FitKernelImpl.h +++ /dev/null @@ -1,68 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/FitKernelImpl.h -//! @brief Defines class FitKernelImpl. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef FITKERNELIMPL_H -#define FITKERNELIMPL_H - -#include "WinDllMacros.h" -#include "KernelTypes.h" -#include "FitParameterSet.h" -#include "ObjectiveFunction.h" -#include "TimeInterval.h" -#include <memory> - -class IMinimizer; -class IFitParameter; - -//! The implementation of class FitKernel. -//! @ingroup fitting_internal - -class BA_CORE_API_ FitKernelImpl -{ -public: - FitKernelImpl(); - ~FitKernelImpl(); - - void clear(); - - //! Sets minimizer - void setMinimizer(IMinimizer* minimizer); - - //! Adds fit parameter - void addFitParameter(IFitParameter* par); - - void setObjectiveFunction(objective_function_t func); - - void setGradientFunction(gradient_function_t func, int ndatasize); - - void minimize(); - - //! Reports results of minimization in the form of multi-line string. - std::string reportResults() const; - - FitParameterSet* fitParameters(); - - IMinimizer* minimizer(); - - //! Number of objective function calls. - int functionCalls() const; - -private: - FitParameterSet m_fit_parameters; - std::unique_ptr<IMinimizer> m_minimizer; - ObjectiveFunction m_objective_function; - TimeInterval m_time_interval; -}; - -#endif // FITKERNELIMPL_H diff --git a/Fit/NewKernel/IFunctionAdapter.cpp b/Fit/Kernel/IFunctionAdapter.cpp similarity index 100% rename from Fit/NewKernel/IFunctionAdapter.cpp rename to Fit/Kernel/IFunctionAdapter.cpp diff --git a/Fit/NewKernel/IFunctionAdapter.h b/Fit/Kernel/IFunctionAdapter.h similarity index 100% rename from Fit/NewKernel/IFunctionAdapter.h rename to Fit/Kernel/IFunctionAdapter.h diff --git a/Fit/NewKernel/Kernel.cpp b/Fit/Kernel/Kernel.cpp similarity index 95% rename from Fit/NewKernel/Kernel.cpp rename to Fit/Kernel/Kernel.cpp index 4a467cb557835e3155630b3f9062f25040c331e1..32dc53f5275cf4a77dbd226c9f07426c3bd27299 100644 --- a/Fit/NewKernel/Kernel.cpp +++ b/Fit/Kernel/Kernel.cpp @@ -36,6 +36,11 @@ void Kernel::setMinimizer(const std::string& minimizerName, const std::string& a m_minimizer.reset(MinimizerFactory::createMinimizer(minimizerName, algorithmName, options)); } +void Kernel::setMinimizer(IMinimizer* minimizer) +{ + m_minimizer.reset(minimizer); +} + MinimizerResult Kernel::minimize(fcn_scalar_t fcn, const Parameters& parameters) { setParameters(parameters); diff --git a/Fit/NewKernel/Kernel.h b/Fit/Kernel/Kernel.h similarity index 96% rename from Fit/NewKernel/Kernel.h rename to Fit/Kernel/Kernel.h index 03af0819a978a908dd8d53404567fbaff7da8370..8573905afd827ec3f2517e57782a1eb0558bee76 100644 --- a/Fit/NewKernel/Kernel.h +++ b/Fit/Kernel/Kernel.h @@ -40,6 +40,8 @@ public: void setMinimizer(const std::string& minimizerName, const std::string& algorithmName = "", const std::string& options = ""); + void setMinimizer(IMinimizer* minimizer); + MinimizerResult minimize(fcn_scalar_t fcn, const Parameters& parameters); MinimizerResult minimize(fcn_residual_t fcn, const Parameters& parameters); diff --git a/Fit/NewKernel/Minimizer.cpp b/Fit/Kernel/Minimizer.cpp similarity index 95% rename from Fit/NewKernel/Minimizer.cpp rename to Fit/Kernel/Minimizer.cpp index 404102197b5f6c256572331028fcce11b7eb8e9f..e3636fe9a98c2045f2a3b1c8c0d827cacbdac826 100644 --- a/Fit/NewKernel/Minimizer.cpp +++ b/Fit/Kernel/Minimizer.cpp @@ -30,6 +30,11 @@ void Minimizer::setMinimizer(const std::string& minimizerName, const std::string m_kernel->setMinimizer(minimizerName, algorithmName, options); } +void Minimizer::setMinimizer(IMinimizer* minimizer) +{ + m_kernel->setMinimizer(minimizer); +} + Minimizer::~Minimizer() = default; MinimizerResult Minimizer::minimize(fcn_scalar_t fcn, const Parameters& parameters) diff --git a/Fit/NewKernel/Minimizer.h b/Fit/Kernel/Minimizer.h similarity index 95% rename from Fit/NewKernel/Minimizer.h rename to Fit/Kernel/Minimizer.h index a97e2abfc184574c48e286a4bc6b8ae09f0b1a10..f131f07b677365659757c93e4a0ae13d05185e7b 100644 --- a/Fit/NewKernel/Minimizer.h +++ b/Fit/Kernel/Minimizer.h @@ -25,6 +25,7 @@ #include <memory> class PyCallback; +class IMinimizer; namespace Fit { @@ -42,6 +43,8 @@ public: void setMinimizer(const std::string& minimizerName, const std::string& algorithmName = "", const std::string& options = ""); + void setMinimizer(IMinimizer* minimizer); + #ifndef SWIG MinimizerResult minimize(fcn_scalar_t fcn, const Parameters& parameters); diff --git a/Fit/NewKernel/MinimizerResult.cpp b/Fit/Kernel/MinimizerResult.cpp similarity index 100% rename from Fit/NewKernel/MinimizerResult.cpp rename to Fit/Kernel/MinimizerResult.cpp diff --git a/Fit/NewKernel/MinimizerResult.h b/Fit/Kernel/MinimizerResult.h similarity index 100% rename from Fit/NewKernel/MinimizerResult.h rename to Fit/Kernel/MinimizerResult.h diff --git a/Fit/Kernel/ObjectiveFunction.cpp b/Fit/Kernel/ObjectiveFunction.cpp deleted file mode 100644 index 0b20ff82be34b83b2f7e97cda69663b0688c3938..0000000000000000000000000000000000000000 --- a/Fit/Kernel/ObjectiveFunction.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/ObjectiveFunction.cpp -//! @brief Declares class ObjectiveFunction -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "ObjectiveFunction.h" -#include <stdexcept> - -ObjectiveFunction::ObjectiveFunction() - : m_ncalls(0) - , m_ndatasize(0) -{ - -} - -void ObjectiveFunction::setObjectiveFunction(objective_function_t func) -{ - m_objective_function = func; -} - -void ObjectiveFunction::setGradientFunction(gradient_function_t func, int ndatasize) -{ - m_gradient_function = func; - m_ndatasize = ndatasize; -} - -//! Evaluates the value of the function for given vector of function parameters using -//! callback mechanism. - -double ObjectiveFunction::evaluate(const std::vector<double> &pars) -{ - if(!m_objective_function) - throw std::runtime_error("ObjectiveFunction::evaluate() -> Error. " - "Objective function is not set"); - - double result = m_objective_function(pars); - ++m_ncalls; - return result; -} - -//! Evaluates residual and gradients of the function for given vector of function parameters -//! and index of dataelement using callback mechanism. - -double ObjectiveFunction::evaluate_gradient(const std::vector<double>& pars, int index, - std::vector<double> &gradient) -{ - if(!m_gradient_function) - throw std::runtime_error("ObjectiveFunction::evaluate() -> Error. " - "Gradient function is not set"); - - double result = m_gradient_function(pars, index, gradient); - - if(index == 0) - ++m_ncalls; - - return result; -} diff --git a/Fit/Kernel/ObjectiveFunction.h b/Fit/Kernel/ObjectiveFunction.h deleted file mode 100644 index 6bb24ed21066433d42afc30878f2c11759447839..0000000000000000000000000000000000000000 --- a/Fit/Kernel/ObjectiveFunction.h +++ /dev/null @@ -1,48 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/Kernel/ObjectiveFunction.h -//! @brief Declares class ObjectiveFunction -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef OBJECTIVEFUNCTION_H -#define OBJECTIVEFUNCTION_H - -#include "WinDllMacros.h" -#include "KernelTypes.h" - -//! Information about an objective function, i.e. a function that shall be minimized. -//! @ingroup fitting_internal - -class BA_CORE_API_ ObjectiveFunction -{ -public: - ObjectiveFunction(); - - void setObjectiveFunction(objective_function_t func); - void setGradientFunction(gradient_function_t func, int ndatasize); - - double evaluate(const std::vector<double>& pars); - - double evaluate_gradient(const std::vector<double>& pars, int index, - std::vector<double> &gradient); - - int functionCalls() const { return m_ncalls; } - - int sizeOfData() const { return m_ndatasize; } - -private: - objective_function_t m_objective_function; - gradient_function_t m_gradient_function; - int m_ncalls; - int m_ndatasize; -}; - -#endif // OBJECTIVEFUNCTION_H diff --git a/Fit/NewKernel/ObjectiveFunctionAdapter.cpp b/Fit/Kernel/ObjectiveFunctionAdapter.cpp similarity index 90% rename from Fit/NewKernel/ObjectiveFunctionAdapter.cpp rename to Fit/Kernel/ObjectiveFunctionAdapter.cpp index b41c4e8750212af240e3ca9cc396b6a6ab0cb5b2..e16254922ba110b3e2031f292e9646c38c9234f4 100644 --- a/Fit/NewKernel/ObjectiveFunctionAdapter.cpp +++ b/Fit/Kernel/ObjectiveFunctionAdapter.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit scattering at grazing incidence // -//! @file Fit/RootAdapter/RootObjectiveFuncAdapter.cpp -//! @brief Implements class RootObjectiveFunctionAdapter. +//! @file Fit/RootAdapter/ObjectiveFunctionAdapter.cpp +//! @brief Implements class ObjectiveFunctionAdapter. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -14,7 +14,7 @@ #include "ObjectiveFunctionAdapter.h" #include "ResidualFunctionAdapter.h" -#include "RootMinimizerFunctions.h" +#include "RootScalarFunction.h" #include "RootResidualFunction.h" #include "ScalarFunctionAdapter.h" @@ -24,7 +24,7 @@ ObjectiveFunctionAdapter::ObjectiveFunctionAdapter() = default; ObjectiveFunctionAdapter::~ObjectiveFunctionAdapter() = default; -const RootObjectiveFunction* +const RootScalarFunction* ObjectiveFunctionAdapter::rootObjectiveFunction(fcn_scalar_t fcn, const Parameters& parameters) { std::unique_ptr<ScalarFunctionAdapter> temp_adapter(new ScalarFunctionAdapter(fcn, parameters)); diff --git a/Fit/NewKernel/ObjectiveFunctionAdapter.h b/Fit/Kernel/ObjectiveFunctionAdapter.h similarity index 86% rename from Fit/NewKernel/ObjectiveFunctionAdapter.h rename to Fit/Kernel/ObjectiveFunctionAdapter.h index 5806ba3f8f259fc09e94c5dcc2032a3c859326f7..044ed2426fbec2eebe44ef1d52af691217d72362 100644 --- a/Fit/NewKernel/ObjectiveFunctionAdapter.h +++ b/Fit/Kernel/ObjectiveFunctionAdapter.h @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit scattering at grazing incidence // -//! @file Fit/RootAdapter/RootObjectiveFuncAdapter.h -//! @brief Declares class RootObjectiveFunctionAdapter. +//! @file Fit/RootAdapter/ObjectiveFunctionAdapter.h +//! @brief Declares class ObjectiveFunctionAdapter. //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -19,7 +19,7 @@ #include "KernelTypes.h" #include <memory> -class RootObjectiveFunction; +class RootScalarFunction; class RootResidualFunction; namespace Fit { @@ -35,7 +35,7 @@ public: ObjectiveFunctionAdapter(); ~ObjectiveFunctionAdapter(); - const RootObjectiveFunction* rootObjectiveFunction(fcn_scalar_t fcn, + const RootScalarFunction* rootObjectiveFunction(fcn_scalar_t fcn, const Parameters& parameters); const RootResidualFunction* rootResidualFunction(fcn_residual_t fcn, diff --git a/Fit/NewKernel/Parameter.cpp b/Fit/Kernel/Parameter.cpp similarity index 100% rename from Fit/NewKernel/Parameter.cpp rename to Fit/Kernel/Parameter.cpp diff --git a/Fit/NewKernel/Parameter.h b/Fit/Kernel/Parameter.h similarity index 100% rename from Fit/NewKernel/Parameter.h rename to Fit/Kernel/Parameter.h diff --git a/Fit/NewKernel/Parameters.cpp b/Fit/Kernel/Parameters.cpp similarity index 90% rename from Fit/NewKernel/Parameters.cpp rename to Fit/Kernel/Parameters.cpp index 7c262556543c5fffd8fcd6a3813f026c0cb3bcea..d935d63810760b535b984d465665e7318971cf14 100644 --- a/Fit/NewKernel/Parameters.cpp +++ b/Fit/Kernel/Parameters.cpp @@ -113,6 +113,19 @@ const Parameter& Parameters::operator[](size_t index) const return m_parameters[check_index(index)]; } +Parameters::corr_matrix_t Parameters::correlationMatrix() const +{ + return m_corr_matrix; +} + +void Parameters::setCorrelationMatrix(const Parameters::corr_matrix_t& matrix) +{ + if(matrix.size() != size()) + throw std::runtime_error("Parameters::setCorrelationMatrix() -> Error. Wrong " + "dimension of correlation matrix."); + m_corr_matrix = matrix; +} + bool Parameters::exists(const std::string& name) const { for (const auto& par: m_parameters) diff --git a/Fit/NewKernel/Parameters.h b/Fit/Kernel/Parameters.h similarity index 88% rename from Fit/NewKernel/Parameters.h rename to Fit/Kernel/Parameters.h index f768164e8e7dd823710cf7e43084a8b5e544c5ee..f7a08d2dbb62f812d3d23e38e0322036c2b68590 100644 --- a/Fit/NewKernel/Parameters.h +++ b/Fit/Kernel/Parameters.h @@ -30,6 +30,7 @@ public: using parameters_t = std::vector<Parameter>; using const_iterator = parameters_t::const_iterator; using iterator = parameters_t::iterator; + using corr_matrix_t = std::vector<std::vector<double>>; Parameters() = default; @@ -52,12 +53,16 @@ public: const Parameter& operator[](const std::string& name) const; const Parameter& operator[](size_t index) const; + corr_matrix_t correlationMatrix() const; + void setCorrelationMatrix(const corr_matrix_t& matrix); + private: bool exists(const std::string& parameter_name) const; void check_array_size(const std::vector<double>& values) const; size_t check_index(size_t index) const; parameters_t m_parameters; + corr_matrix_t m_corr_matrix; //!< correlation matrix }; } // namespace Fit diff --git a/Fit/NewKernel/PyCallback.cpp b/Fit/Kernel/PyCallback.cpp similarity index 100% rename from Fit/NewKernel/PyCallback.cpp rename to Fit/Kernel/PyCallback.cpp diff --git a/Fit/NewKernel/PyCallback.h b/Fit/Kernel/PyCallback.h similarity index 100% rename from Fit/NewKernel/PyCallback.h rename to Fit/Kernel/PyCallback.h diff --git a/Fit/NewKernel/ResidualFunctionAdapter.cpp b/Fit/Kernel/ResidualFunctionAdapter.cpp similarity index 100% rename from Fit/NewKernel/ResidualFunctionAdapter.cpp rename to Fit/Kernel/ResidualFunctionAdapter.cpp diff --git a/Fit/NewKernel/ResidualFunctionAdapter.h b/Fit/Kernel/ResidualFunctionAdapter.h similarity index 100% rename from Fit/NewKernel/ResidualFunctionAdapter.h rename to Fit/Kernel/ResidualFunctionAdapter.h diff --git a/Fit/NewKernel/ScalarFunctionAdapter.cpp b/Fit/Kernel/ScalarFunctionAdapter.cpp similarity index 85% rename from Fit/NewKernel/ScalarFunctionAdapter.cpp rename to Fit/Kernel/ScalarFunctionAdapter.cpp index ce4428a62f381780363e112f8e96424a322f6dc9..477d2951ee53236c9988a490cddfa9d6c3ed144a 100644 --- a/Fit/NewKernel/ScalarFunctionAdapter.cpp +++ b/Fit/Kernel/ScalarFunctionAdapter.cpp @@ -14,7 +14,7 @@ #include "ScalarFunctionAdapter.h" #include "KernelTypes.h" -#include "RootMinimizerFunctions.h" +#include "RootScalarFunction.h" using namespace Fit; @@ -23,7 +23,7 @@ ScalarFunctionAdapter::ScalarFunctionAdapter(fcn_scalar_t func, const Parameters { } -const RootObjectiveFunction* ScalarFunctionAdapter::rootObjectiveFunction() +const RootScalarFunction* ScalarFunctionAdapter::rootObjectiveFunction() { root_objective_t rootfun = [&](const double* pars) { std::vector<double> vec; @@ -35,6 +35,6 @@ const RootObjectiveFunction* ScalarFunctionAdapter::rootObjectiveFunction() }; m_root_objective.reset( - new RootObjectiveFunction(rootfun, static_cast<int>(m_parameters.size()))); + new RootScalarFunction(rootfun, static_cast<int>(m_parameters.size()))); return m_root_objective.get(); } diff --git a/Fit/NewKernel/ScalarFunctionAdapter.h b/Fit/Kernel/ScalarFunctionAdapter.h similarity index 90% rename from Fit/NewKernel/ScalarFunctionAdapter.h rename to Fit/Kernel/ScalarFunctionAdapter.h index 37cea3d5a7e35a3789b9b11701e02300c7b4d97b..7803c3dcf1aa28584299831a3f6edf42661233ef 100644 --- a/Fit/NewKernel/ScalarFunctionAdapter.h +++ b/Fit/Kernel/ScalarFunctionAdapter.h @@ -22,7 +22,7 @@ #include <vector> #include <memory> -class RootObjectiveFunction; +class RootScalarFunction; namespace Fit { @@ -36,12 +36,12 @@ class ScalarFunctionAdapter : public IFunctionAdapter { public: ScalarFunctionAdapter(fcn_scalar_t func, const Parameters& parameters); - const RootObjectiveFunction* rootObjectiveFunction(); + const RootScalarFunction* rootObjectiveFunction(); private: fcn_scalar_t m_fcn; // user function to minimize Parameters m_parameters; - std::unique_ptr<RootObjectiveFunction> m_root_objective; + std::unique_ptr<RootScalarFunction> m_root_objective; }; } // namespace Fit diff --git a/Fit/Minimizer/IMinimizer.cpp b/Fit/Minimizer/IMinimizer.cpp index 989d50dd0b9cfc6df3e7892cc96c5ee755032797..fdbbb55f24a95eede92962b57ef7a95df28ba417 100644 --- a/Fit/Minimizer/IMinimizer.cpp +++ b/Fit/Minimizer/IMinimizer.cpp @@ -29,16 +29,6 @@ double IMinimizer::minValue() const throw std::runtime_error("IMinimizer::minValue() -> Not implemented."); } -void IMinimizer::propagateResults(FitParameterSet&) -{ - throw std::runtime_error("IMinimizer::propagateResults() -> Not implemented."); -} - -void IMinimizer::propagateResults(Fit::Parameters&) -{ - throw std::runtime_error("IMinimizer::propagateResults() -> Not implemented."); -} - void IMinimizer::setOptions(const std::string&) { throw std::runtime_error("IMinimizer::setOptions() -> Not implemented."); diff --git a/Fit/Minimizer/IMinimizer.h b/Fit/Minimizer/IMinimizer.h index 163cc3213accc23613a02227cbf4224924e7d2ee..38f2f6d27e787f1b074fc73f0815be0fddf350a3 100644 --- a/Fit/Minimizer/IMinimizer.h +++ b/Fit/Minimizer/IMinimizer.h @@ -20,7 +20,6 @@ #include "MinimizerResult.h" #include <string> -class FitParameterSet; namespace Fit {class Parameters;} //! Pure virtual interface for all kind minimizers. @@ -42,29 +41,15 @@ class BA_CORE_API_ IMinimizer virtual std::string algorithmName() const =0; //! run minimization - virtual void minimize() =0; virtual Fit::MinimizerResult minimize_scalar(fcn_scalar_t, Fit::Parameters); virtual Fit::MinimizerResult minimize_residual(fcn_residual_t, Fit::Parameters); //! clear resources (parameters) for consecutives minimizations virtual void clear() {} - //! Sets internal minimizer parameters using external parameter list - virtual void setParameters(const FitParameterSet& parameters) =0; - - virtual void setObjectiveFunction(objective_function_t ) {} - - virtual void setGradientFunction(gradient_function_t, int ) {} - //! Returns minimum function value virtual double minValue() const; - virtual std::string reportOutcome() const =0; - - //! Propagates results of minimization to fit parameter set - virtual void propagateResults(FitParameterSet& parameters); - virtual void propagateResults(Fit::Parameters& parameters); - //! Sets option string to the minimizer virtual void setOptions(const std::string& options); }; diff --git a/Fit/Kernel/MinimizerCatalogue.cpp b/Fit/Minimizer/MinimizerCatalogue.cpp similarity index 100% rename from Fit/Kernel/MinimizerCatalogue.cpp rename to Fit/Minimizer/MinimizerCatalogue.cpp diff --git a/Fit/Kernel/MinimizerCatalogue.h b/Fit/Minimizer/MinimizerCatalogue.h similarity index 100% rename from Fit/Kernel/MinimizerCatalogue.h rename to Fit/Minimizer/MinimizerCatalogue.h diff --git a/Fit/Kernel/MinimizerFactory.cpp b/Fit/Minimizer/MinimizerFactory.cpp similarity index 100% rename from Fit/Kernel/MinimizerFactory.cpp rename to Fit/Minimizer/MinimizerFactory.cpp diff --git a/Fit/Kernel/MinimizerFactory.h b/Fit/Minimizer/MinimizerFactory.h similarity index 100% rename from Fit/Kernel/MinimizerFactory.h rename to Fit/Minimizer/MinimizerFactory.h diff --git a/Fit/Minimizer/TestMinimizer.cpp b/Fit/Minimizer/TestMinimizer.cpp index 3ac0c17f07fa68961e2df79def77fe84226fed7f..e4b590cbfa5a7548967330bb02494f69875fb713 100644 --- a/Fit/Minimizer/TestMinimizer.cpp +++ b/Fit/Minimizer/TestMinimizer.cpp @@ -14,7 +14,6 @@ #include "TestMinimizer.h" #include "MinimizerConstants.h" -#include "FitParameterSet.h" #include "Parameters.h" #include <sstream> @@ -25,35 +24,6 @@ std::string TestMinimizer::minimizerName() const return std::string(MinimizerNames::Test); } -//! run minimization -void TestMinimizer::minimize() -{ - m_min_value = m_fcn(m_parameter_values); -} - -void TestMinimizer::setParameters(const FitParameterSet& parameters) -{ - m_parameter_values = parameters.values(); -} - -void TestMinimizer::setObjectiveFunction(objective_function_t func) -{ - m_fcn = func; -} - -std::string TestMinimizer::reportOutcome() const -{ - std::ostringstream result; - result << "TestMinimizer::printOutcome() -> Done. Objective function value = " - << m_min_value << std::endl; - return result.str(); -} - -void TestMinimizer::propagateResults(FitParameterSet &) -{ - // nothing to do -} - MinimizerResult TestMinimizer::minimize_scalar(fcn_scalar_t fcn, Fit::Parameters parameters) { // calling user function once diff --git a/Fit/Minimizer/TestMinimizer.h b/Fit/Minimizer/TestMinimizer.h index ab0e2d05cbbd963847bfcbc7d4500298eb714deb..83008daf7aa7c818ed355ee6022e0f0e28748e77 100644 --- a/Fit/Minimizer/TestMinimizer.h +++ b/Fit/Minimizer/TestMinimizer.h @@ -16,7 +16,6 @@ #define TESTMINIMIZER_H #include "IMinimizer.h" -class FitParameterSet; //! A trivial minimizer that calls the objective function once. Used to test the whole chain. @@ -29,17 +28,6 @@ class BA_CORE_API_ TestMinimizer : public IMinimizer std::string minimizerName() const final; std::string algorithmName() const final { return ""; } - void minimize() override; - - void setParameters(const FitParameterSet& parameters) override; - - void setObjectiveFunction(objective_function_t func) override; - - std::string reportOutcome() const override; - - using IMinimizer::propagateResults; - void propagateResults(FitParameterSet&) override; - Fit::MinimizerResult minimize_scalar(fcn_scalar_t fcn, Fit::Parameters parameters) override; private: diff --git a/Fit/RootAdapter/GeneticMinimizer.cpp b/Fit/RootAdapter/GeneticMinimizer.cpp index 2c2641bd4493918c8ba349bb2956f31cc2f4d1fa..c42f04057c1ba95b634f78855479853eccf0ccb8 100644 --- a/Fit/RootAdapter/GeneticMinimizer.cpp +++ b/Fit/RootAdapter/GeneticMinimizer.cpp @@ -13,7 +13,6 @@ // ************************************************************************** // #include "GeneticMinimizer.h" -#include "IFitParameter.h" #include "MinimizerConstants.h" #include "Math/GeneticMinimizer.h" #include "Parameter.h" @@ -106,21 +105,6 @@ int GeneticMinimizer::randomSeed() const return optionValue<int>(OptionNames::RandomSeed); } -//! Sets minimizer parameter. Overload is required to check that parameter is properly limited. - -void GeneticMinimizer::setParameter(size_t index, const IFitParameter *par) -{ - if( !par->limits().isFixed() && !par->limits().isLimited()) { - std::ostringstream ostr; - ostr << "GeneticMinimizer::setParameter() -> Error! " - << "Genetic minimizer requires either fixed or " - << "limited AttLimits::limited(left,right) parameter. " - << " Parameter name '" << par->name() << "', limits:" << par->limits().toString(); - throw std::runtime_error(ostr.str()); - } - RootMinimizerAdapter::setParameter(index, par); -} - void GeneticMinimizer::setParameter(unsigned int index, const Fit::Parameter& par) { if( !par.limits().isFixed() && !par.limits().isLimited()) { diff --git a/Fit/RootAdapter/GeneticMinimizer.h b/Fit/RootAdapter/GeneticMinimizer.h index 683a35c14e5fc643968283937aa08b53a2839e3a..7f2c1892d623fb0ff4bbc13aa4b2762cd6938390 100644 --- a/Fit/RootAdapter/GeneticMinimizer.h +++ b/Fit/RootAdapter/GeneticMinimizer.h @@ -58,7 +58,6 @@ protected: const root_minimizer_t* rootMinimizer() const override; using RootMinimizerAdapter::setParameter; - void setParameter(size_t index, const IFitParameter* par) override; void setParameter(unsigned int index, const Fit::Parameter& par) override; private: diff --git a/Fit/RootAdapter/MinimizerResultsHelper.cpp b/Fit/RootAdapter/MinimizerResultsHelper.cpp index bb8686e1fbe4e8988b42efbc562fb6e2111813c5..cc62709ffa90dd811048fb297af2fc479e0dbed2 100644 --- a/Fit/RootAdapter/MinimizerResultsHelper.cpp +++ b/Fit/RootAdapter/MinimizerResultsHelper.cpp @@ -14,8 +14,6 @@ #include "MinimizerResultsHelper.h" #include "RootMinimizerAdapter.h" -#include "FitParameterSet.h" -#include "IFitParameter.h" #include "MinimizerUtils.h" #include "Parameters.h" #include <boost/format.hpp> @@ -51,7 +49,8 @@ std::string MinimizerResultsHelper::reportOutcome(const RootMinimizerAdapter* mi return result.str(); } -std::string MinimizerResultsHelper::reportParameters(const FitParameterSet* parameters) + +std::string MinimizerResultsHelper::reportParameters(const Fit::Parameters& parameters) { std::ostringstream result; @@ -59,16 +58,17 @@ std::string MinimizerResultsHelper::reportParameters(const FitParameterSet* para result << "Name StartValue Limits FitValue Error" << std::endl; - for(const IFitParameter* par : *parameters) { + for(const auto& par : parameters) { result << boost::format("# %-8s %-7.4f %-20s %-6.4f %5.4f \n") - % par->name() - % par->startValue() - % par->limits().toString() - % par->value() - % par->error(); + % par.name() + % par.startValue() + % par.limits().toString() + % par.value() + % par.error(); } - FitParameterSet::corr_matrix_t matrix = parameters->correlationMatrix(); + + Fit::Parameters::corr_matrix_t matrix = parameters.correlationMatrix(); if(matrix.size()) { result << MinimizerUtils::sectionString("Correlations"); for(size_t i=0; i<matrix.size(); ++i) { @@ -83,26 +83,6 @@ std::string MinimizerResultsHelper::reportParameters(const FitParameterSet* para return result.str(); } -std::string MinimizerResultsHelper::reportParameters(const Fit::Parameters& parameters) -{ - std::ostringstream result; - - result << MinimizerUtils::sectionString("FitParameters"); - - result << "Name StartValue Limits FitValue Error" << std::endl; - - for(const auto& par : parameters) { - result << boost::format("# %-8s %-7.4f %-20s %-6.4f %5.4f \n") - % par.name() - % par.startValue() - % par.limits().toString() - % par.value() - % par.error(); - } - - return result.str(); -} - std::string MinimizerResultsHelper::reportDescription(const RootMinimizerAdapter* minimizer) { std::ostringstream result; diff --git a/Fit/RootAdapter/MinimizerResultsHelper.h b/Fit/RootAdapter/MinimizerResultsHelper.h index 5aeab32b57fbe9c8c26ce3a22877892589ad299e..3860ec72d7fbef340b00efb4b5132ed8dee633d2 100644 --- a/Fit/RootAdapter/MinimizerResultsHelper.h +++ b/Fit/RootAdapter/MinimizerResultsHelper.h @@ -19,7 +19,6 @@ #include <string> class RootMinimizerAdapter; -class FitParameterSet; namespace Fit { class Parameters; } //! Contains all logic to generate reports with the result of minimization. @@ -33,7 +32,6 @@ public: static std::string reportOutcome(const RootMinimizerAdapter* minimizer); //! Reports fit parameters settings and final results - static std::string reportParameters(const FitParameterSet* parameters); static std::string reportParameters(const Fit::Parameters& parameters); private: diff --git a/Fit/RootAdapter/RootMinimizerAdapter.cpp b/Fit/RootAdapter/RootMinimizerAdapter.cpp index 3eb74b94efb74b3e17edccbfb0df4383504b2adb..a0f5f93d447d6bbf69a8bf25bfb2f48e3baf48d8 100644 --- a/Fit/RootAdapter/RootMinimizerAdapter.cpp +++ b/Fit/RootAdapter/RootMinimizerAdapter.cpp @@ -13,12 +13,9 @@ // ************************************************************************** // #include "RootMinimizerAdapter.h" -#include "IFitParameter.h" -#include "FitParameterSet.h" #include "Math/Minimizer.h" #include "MinimizerResultsHelper.h" -#include "RootMinimizerFunctions.h" -#include "RootObjectiveFuncAdapter.h" +#include "RootScalarFunction.h" #include "StringUtils.h" #include "Parameter.h" #include "Parameters.h" @@ -29,19 +26,12 @@ using namespace Fit; RootMinimizerAdapter::RootMinimizerAdapter(const MinimizerInfo &minimizerInfo) : m_minimizerInfo(minimizerInfo) - , m_obj_func(new RootObjectiveFunctionAdapter) , m_adapter(new Fit::ObjectiveFunctionAdapter) , m_status(false) {} RootMinimizerAdapter::~RootMinimizerAdapter() {} -void RootMinimizerAdapter::minimize() -{ - propagateOptions(); - m_status = rootMinimizer()->Minimize(); -} - MinimizerResult RootMinimizerAdapter::minimize_scalar(fcn_scalar_t fcn, Parameters parameters) { @@ -56,7 +46,7 @@ MinimizerResult RootMinimizerAdapter::minimize_scalar(fcn_scalar_t fcn, MinimizerResult result; result.setParameters(parameters); result.setMinValue(minValue()); - result.setReport(reportOutcome()); + result.setReport( MinimizerResultsHelper().reportOutcome(this)); result.setNumberOfCalls(m_adapter->numberOfCalls()); return result; @@ -75,7 +65,7 @@ MinimizerResult RootMinimizerAdapter::minimize_residual(fcn_residual_t fcn, Para MinimizerResult result; result.setParameters(parameters); result.setMinValue(minValue()); - result.setReport(reportOutcome()); + result.setReport(MinimizerResultsHelper().reportOutcome(this)); result.setNumberOfCalls(m_adapter->numberOfCalls()); result.setNumberOfGradientCalls(m_adapter->numberOfGradientCalls()); @@ -92,30 +82,6 @@ std::string RootMinimizerAdapter::algorithmName() const return m_minimizerInfo.algorithmName(); } -void RootMinimizerAdapter::setParameters(const FitParameterSet ¶meters) -{ - m_obj_func->setNumberOfParameters(static_cast<int>(parameters.size())); - - // Genetic minimizer requires SetFunction before setParameters, others don't care - if( isGradientBasedAgorithm() ) { - rootMinimizer()->SetFunction(*m_obj_func->rootGradientFunction()); - } else { - rootMinimizer()->SetFunction(*m_obj_func->rootChiSquaredFunction()); - } - - size_t index(0); - for (auto par: parameters) - setParameter(index++, par ); - - if( parameters.size() != fitDimension()) { - std::ostringstream ostr; - ostr << "BasicMinimizer::setParameters() -> Error! Unconsistency in fit parameter number: "; - ostr << "fitParameterCount = " << fitDimension() << ","; - ostr << "parameters.size = " << parameters.size(); - throw std::runtime_error(ostr.str()); - } -} - void RootMinimizerAdapter::setParameters(const Fit::Parameters& parameters) { unsigned int index(0); @@ -123,26 +89,11 @@ void RootMinimizerAdapter::setParameters(const Fit::Parameters& parameters) setParameter(index++, par ); } -void RootMinimizerAdapter::setObjectiveFunction(objective_function_t func) -{ - m_obj_func->setObjectiveCallback(func); -} - -void RootMinimizerAdapter::setGradientFunction(gradient_function_t func, int ndatasize) -{ - m_obj_func->setGradientCallback(func, ndatasize); -} - double RootMinimizerAdapter::minValue() const { return rootMinimizer()->MinValue(); } -std::string RootMinimizerAdapter::reportOutcome() const -{ - return MinimizerResultsHelper().reportOutcome(this); -} - std::string RootMinimizerAdapter::statusToString() const { return m_status ? std::string("Minimum found") : std::string("Error in solving"); @@ -168,15 +119,20 @@ std::map<std::string, std::string> RootMinimizerAdapter::statusMap() const return result; } -void RootMinimizerAdapter::propagateResults(FitParameterSet ¶meters) +void RootMinimizerAdapter::setOptions(const std::string &optionString) +{ + options().setOptionString(optionString); +} + +//! Propagates results of minimization to fit parameter set + +void RootMinimizerAdapter::propagateResults(Fit::Parameters& parameters) { - // sets values and errors found parameters.setValues(parValuesAtMinimum()); parameters.setErrors(parErrorsAtMinimum()); - // sets correlation matrix if(providesError()) { - FitParameterSet::corr_matrix_t matrix; + Fit::Parameters::corr_matrix_t matrix; matrix.resize(fitDimension()); for(unsigned i=0; i<(size_t)fitDimension(); ++i) { @@ -188,64 +144,6 @@ void RootMinimizerAdapter::propagateResults(FitParameterSet ¶meters) } } -void RootMinimizerAdapter::propagateResults(Fit::Parameters& parameters) -{ - parameters.setValues(parValuesAtMinimum()); - parameters.setErrors(parErrorsAtMinimum()); -} - -void RootMinimizerAdapter::setOptions(const std::string &optionString) -{ - options().setOptionString(optionString); -} - -//! Propagate fit parameter down to ROOT minimizer. - -void RootMinimizerAdapter::setParameter(size_t index, const IFitParameter *par) -{ - bool success; - if (par->limits().isFixed()) { - success = rootMinimizer()->SetFixedVariable((int)index, par->name().c_str(), - par->value()); - - } - - else if (par->limits().isLimited()) { - success = rootMinimizer()->SetLimitedVariable((int)index, par->name().c_str(), - par->value(), par->step(), - par->limits().lowerLimit(), - par->limits().upperLimit()); - } - - else if (par->limits().isLowerLimited()) { - success = rootMinimizer()->SetLowerLimitedVariable((int)index, par->name().c_str(), - par->value(), par->step(), - par->limits().lowerLimit()); - } - - else if (par->limits().isUpperLimited()) { - success = rootMinimizer()->SetUpperLimitedVariable((int)index, par->name().c_str(), - par->value(), par->step(), - par->limits().upperLimit()); - } - - else if (par->limits().isLimitless()) { - success = rootMinimizer()->SetVariable((int)index, par->name().c_str(), par->value(), - par->step()); - } - - else { - throw std::runtime_error("BasicMinimizer::setParameter() -> Error! Unexpected parameter."); - } - - if( !success ) { - std::ostringstream ostr; - ostr << "BasicMinimizer::setParameter() -> Error! Can't set minimizer's fit parameter"; - ostr << "Index:" << index << " name '" << par->name() << "'"; - throw std::runtime_error(ostr.str()); - } -} - void RootMinimizerAdapter::setParameter(unsigned int index, const Fit::Parameter& par) { bool success; diff --git a/Fit/RootAdapter/RootMinimizerAdapter.h b/Fit/RootAdapter/RootMinimizerAdapter.h index 27df7ffb5765b5c4c6c04f17f451482d745e2c50..209b36ad64c60ebb16eb7e0b546c65a9f5f0756e 100644 --- a/Fit/RootAdapter/RootMinimizerAdapter.h +++ b/Fit/RootAdapter/RootMinimizerAdapter.h @@ -21,8 +21,6 @@ #include <string> #include <memory> -class RootObjectiveFunctionAdapter; -class IFitParameter; namespace Fit { class Parameters; class Parameter; class ObjectiveFunctionAdapter; class MinimizerResult; } @@ -38,7 +36,6 @@ public: virtual ~RootMinimizerAdapter(); - void minimize() override; Fit::MinimizerResult minimize_scalar(fcn_scalar_t fcn, Fit::Parameters parameters) override; Fit::MinimizerResult minimize_residual(fcn_residual_t fcn, Fit::Parameters parameters) override; @@ -48,17 +45,10 @@ public: //! Returns name of the minimization algorithm. std::string algorithmName() const override final; - void setParameters(const FitParameterSet& parameters) override final; void setParameters(const Fit::Parameters& parameters); - void setObjectiveFunction(objective_function_t func) override final; - - void setGradientFunction(gradient_function_t func, int ndatasize) override final; - double minValue() const override final; - std::string reportOutcome() const override final; - MinimizerOptions& options() { return m_options; } const MinimizerOptions& options() const { return m_options; } @@ -71,18 +61,15 @@ public: //! Returns map of string representing different minimizer statuses virtual std::map<std::string, std::string> statusMap() const; - //! Propagates results of minimization to fit parameter set - void propagateResults(FitParameterSet& parameters) override; - void propagateResults(Fit::Parameters& parameters) override; - //! Sets option string to the minimizer void setOptions(const std::string& optionString) override final; protected: RootMinimizerAdapter(const MinimizerInfo& minimizerInfo); + void propagateResults(Fit::Parameters& parameters); + virtual bool isGradientBasedAgorithm() { return false;} - virtual void setParameter(size_t index, const IFitParameter *par); virtual void setParameter(unsigned int index, const Fit::Parameter& par); size_t fitDimension() const; std::vector<double> parValuesAtMinimum() const; @@ -105,7 +92,6 @@ protected: private: MinimizerOptions m_options; MinimizerInfo m_minimizerInfo; - std::unique_ptr<RootObjectiveFunctionAdapter> m_obj_func; std::unique_ptr<Fit::ObjectiveFunctionAdapter> m_adapter; bool m_status; }; diff --git a/Fit/RootAdapter/RootMinimizerFunctions.h b/Fit/RootAdapter/RootMinimizerFunctions.h deleted file mode 100644 index caa323ed9c0b6c1d6b0fbbb819ef4e4e19b9fca5..0000000000000000000000000000000000000000 --- a/Fit/RootAdapter/RootMinimizerFunctions.h +++ /dev/null @@ -1,78 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/RootAdapter/RootMinimizerFunctions.h -//! @brief Defines classes RootObjectiveFunction and RootGradientFunction -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef ROOTMINIMIZERFUNCTIONS_H -#define ROOTMINIMIZERFUNCTIONS_H - -#include "KernelTypes.h" - -#ifdef _WIN32 -#include "Math/Functor.h" -#include "Math/FitMethodFunction.h" -#else -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#include "Math/Functor.h" -#include "Math/FitMethodFunction.h" -#pragma GCC diagnostic pop -#endif - -//! The chi2 function for use in minimizers. -//! @ingroup fitting_internal - -class RootObjectiveFunction : public ROOT::Math::Functor -{ - public: - RootObjectiveFunction(root_objective_t fcn, int ndims ) - : ROOT::Math::Functor(fcn, ndims) {} -}; - -//! Minimizer function with access to single data element residuals, -//! required by Fumili, Fumili2 and GSLMultiMin minimizers. -//! @ingroup fitting_internal - -class RootGradientFunction : public ROOT::Math::FitMethodFunction -{ - public: - typedef ROOT::Math::BasicFitMethodFunction<ROOT::Math::IMultiGenFunction>::Type_t Type_t; - - RootGradientFunction(root_gradient_t fun_gradient, size_t npars, size_t ndatasize) - : ROOT::Math::FitMethodFunction((int)npars, (int)ndatasize) - , m_fun_gradient(fun_gradient) { } - - Type_t Type() const { return ROOT::Math::FitMethodFunction::kLeastSquare; } - - ROOT::Math::IMultiGenFunction* Clone() const { - return new RootGradientFunction(m_fun_gradient, NDim(), NPoints()); } - - //! evaluation of single data element residual - double DataElement(const double* pars, unsigned int i_data, double* gradient = 0) const { - return m_fun_gradient(pars, i_data, gradient); - } - - private: - //! evaluation of chi2 - double DoEval(const double* pars) const { - double chi2 = 0.0; - for(size_t i_data=0; i_data<NPoints(); ++i_data) { - double res = DataElement(pars, (unsigned)i_data); - chi2 += res*res; - } - return chi2/double(NPoints()); - } - - root_gradient_t m_fun_gradient; -}; - -#endif // ROOTMINIMIZERFUNCTIONS_H diff --git a/Fit/RootAdapter/RootObjectiveFuncAdapter.cpp b/Fit/RootAdapter/RootObjectiveFuncAdapter.cpp deleted file mode 100644 index faf5965a73c5e71c4865d4a39646fa63e4bde1b3..0000000000000000000000000000000000000000 --- a/Fit/RootAdapter/RootObjectiveFuncAdapter.cpp +++ /dev/null @@ -1,124 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/RootAdapter/RootObjectiveFuncAdapter.cpp -//! @brief Implements class RootObjectiveFunctionAdapter. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "RootObjectiveFuncAdapter.h" -#include "RootMinimizerFunctions.h" -#include "IMinimizer.h" -#include <stdexcept> - -RootObjectiveFunctionAdapter::RootObjectiveFunctionAdapter() - : m_nparameters(0) - , m_ndatasize(0) -{} - -//! Sets the function which will be used for finding objective function minimum value - -void RootObjectiveFunctionAdapter::setObjectiveCallback(objective_function_t func) -{ - m_objective_callback = func; -} - -//! Sets the function which will be used for gradient calculations. - -void RootObjectiveFunctionAdapter::setGradientCallback(gradient_function_t func, int ndatasize) -{ - m_gradient_callback = func; - m_ndatasize = ndatasize; -} - -//! Sets number of fit parameters (needed to construct correct ROOT's functions). - -void RootObjectiveFunctionAdapter::setNumberOfParameters(int nparameters) -{ - m_nparameters = nparameters; -} - -//! Creates and returns objective function suitable for ROOT minimizers. - -const RootObjectiveFunction* - RootObjectiveFunctionAdapter::rootChiSquaredFunction() -{ - if(!m_objective_callback) - throw std::runtime_error("RootObjectiveFunctionAdapter::rootChiSquaredFunction() -> Error. " - "Objective function is not set."); - - if(m_nparameters <= 0) - throw std::runtime_error("RootObjectiveFunctionAdapter::rootChiSquaredFunction() -> Error. " - "Number of parameters must be >0"); - - root_objective_t rootfun = - [&] (const double* pars) {return evaluate(pars); }; - - m_root_objective_function.reset(new RootObjectiveFunction(rootfun, m_nparameters)); - - return m_root_objective_function.get(); -} - -//! Creates and returns gradient function suitable for ROOT minimizers. - -const RootGradientFunction* RootObjectiveFunctionAdapter::rootGradientFunction() -{ - if(!m_gradient_callback) - throw std::runtime_error("RootObjectiveFunctionAdapter::rootGradientFunction() -> Error. " - "Objective function is not set."); - - if(m_nparameters <= 0) - throw std::runtime_error("RootObjectiveFunctionAdapter::rootGradientFunction() -> Error. " - "Number of parameters must be >0"); - - if(m_ndatasize <= 0) - throw std::runtime_error("RootObjectiveFunctionAdapter::rootGradientFunction() -> Error. " - "Number of data elements is not defined."); - - root_gradient_t rootfun = - [&] (const double* pars, unsigned int index, double* gradients) - { return evaluate_gradient(pars, index, gradients); }; - - m_root_gradient_function.reset(new RootGradientFunction(rootfun, m_nparameters, - m_ndatasize)); - - return m_root_gradient_function.get(); -} - -//! Transfers call of root's pointer based objective function to our callback - -double RootObjectiveFunctionAdapter::evaluate(const double* pars) -{ - std::vector<double> vec; - vec.resize(m_nparameters, 0.0); - std::copy(pars, pars+m_nparameters, vec.begin()); - return m_objective_callback(vec); -} - -//! Transfers call of root's pointer based gradient function to our callback - -double RootObjectiveFunctionAdapter::evaluate_gradient( - const double* pars, unsigned int index, double* gradients) -{ - std::vector<double> vec; - vec.resize(m_nparameters, 0.0); - std::copy(pars, pars+m_nparameters, vec.begin()); - - std::vector<double> vec_gradients; - - if(gradients) - vec_gradients.resize(m_nparameters); - - double result = m_gradient_callback(vec, index, vec_gradients); - - if(gradients) - for(int i=0; i<(int)m_nparameters; ++i) gradients[i] = vec_gradients[i]; - - return result; -} diff --git a/Fit/RootAdapter/RootObjectiveFuncAdapter.h b/Fit/RootAdapter/RootObjectiveFuncAdapter.h deleted file mode 100644 index b7b1d4dad6abb6736330bc4f88a5388b9a9e328a..0000000000000000000000000000000000000000 --- a/Fit/RootAdapter/RootObjectiveFuncAdapter.h +++ /dev/null @@ -1,57 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Fit/RootAdapter/RootObjectiveFuncAdapter.h -//! @brief Declares class RootObjectiveFunctionAdapter. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef ROOTOBJECTIVEFUNCADAPTER_H -#define ROOTOBJECTIVEFUNCADAPTER_H - -#include "WinDllMacros.h" -#include "KernelTypes.h" -#include <memory> -#include <vector> - -class RootObjectiveFunction; -class RootGradientFunction; - -//! Adapts our objective functions to ROOT. -//! @ingroup fitting_internal - -class BA_CORE_API_ RootObjectiveFunctionAdapter -{ -public: - RootObjectiveFunctionAdapter(); - - void setObjectiveCallback(objective_function_t func); - void setGradientCallback(gradient_function_t func, int ndatasize); - - void setNumberOfParameters(int nparameters); - - const RootObjectiveFunction* rootChiSquaredFunction(); - - const RootGradientFunction* rootGradientFunction(); - -private: - double evaluate(const double* pars); - double evaluate_gradient(const double* pars, unsigned int index, double* gradients); - - objective_function_t m_objective_callback; - gradient_function_t m_gradient_callback; - - std::unique_ptr<RootObjectiveFunction> m_root_objective_function; - std::unique_ptr<RootGradientFunction> m_root_gradient_function; - - int m_nparameters; - int m_ndatasize; -}; - -#endif // ROOTOBJECTIVEFUNCADAPTER_H diff --git a/Tests/Functional/Fit/FitKernel/main.cpp b/Fit/RootAdapter/RootScalarFunction.cpp similarity index 60% rename from Tests/Functional/Fit/FitKernel/main.cpp rename to Fit/RootAdapter/RootScalarFunction.cpp index af87f23a1bb6ba2ac058a95bf158c20f12ea9014..303ffd6d27830309d96a4f9f2d9b41e21140df46 100644 --- a/Tests/Functional/Fit/FitKernel/main.cpp +++ b/Fit/RootAdapter/RootScalarFunction.cpp @@ -2,8 +2,8 @@ // // BornAgain: simulate and fit scattering at grazing incidence // -//! @file Tests/Functional/Fit/main.cpp -//! @brief Implements program FitTest to run fit functional tests +//! @file Fit/RootAdapter/RootScalarFunction.h +//! @brief Implements class RootScalarFunction //! //! @homepage http://www.bornagainproject.org //! @license GNU General Public License v3 or higher (see COPYING) @@ -12,12 +12,7 @@ // // ************************************************************************** // -#include "TestService.h" -#include "FitKernelTestFactory.h" +#include "RootScalarFunction.h" -//! Runs functional tests. - -int main(int argc, char **argv) -{ - return TestService<FitKernelTestFactory>().execute(argc, argv) ? 0 : 1; -} +RootScalarFunction::RootScalarFunction(root_objective_t fcn, int ndims) + : ROOT::Math::Functor(fcn, ndims) {} diff --git a/Fit/RootAdapter/RootScalarFunction.h b/Fit/RootAdapter/RootScalarFunction.h new file mode 100644 index 0000000000000000000000000000000000000000..986a787247aea16453c7079040fb8455406ad133 --- /dev/null +++ b/Fit/RootAdapter/RootScalarFunction.h @@ -0,0 +1,38 @@ +// ************************************************************************** // +// +// BornAgain: simulate and fit scattering at grazing incidence +// +//! @file Fit/RootAdapter/RootScalarFunction.h +//! @brief Defines classes RootScalarFunction +//! +//! @homepage http://www.bornagainproject.org +//! @license GNU General Public License v3 or higher (see COPYING) +//! @copyright Forschungszentrum Jülich GmbH 2018 +//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) +// +// ************************************************************************** // + +#ifndef ROOTSCALARFUNCTION_H +#define ROOTSCALARFUNCTION_H + +#include "KernelTypes.h" + +#ifdef _WIN32 +#include "Math/Functor.h" +#else +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#include "Math/Functor.h" +#pragma GCC diagnostic pop +#endif + +//! The chi2 function for use in minimizers. +//! @ingroup fitting_internal + +class RootScalarFunction : public ROOT::Math::Functor +{ + public: + RootScalarFunction(root_objective_t fcn, int ndims); +}; + +#endif // ROOTSCALARFUNCTION_H diff --git a/Tests/Functional/Fit/CMakeLists.txt b/Tests/Functional/Fit/CMakeLists.txt index ff5639a3773ab05bd5d404073db31f3d0d9e61b4..69c48ad3b61c140fde808bab39cfcfd341d49740 100644 --- a/Tests/Functional/Fit/CMakeLists.txt +++ b/Tests/Functional/Fit/CMakeLists.txt @@ -2,12 +2,9 @@ # Tests/Functional/Core/CMakeLists.txt ############################################################################ -# fitting via FitSuite +# testing fitting via FitSuite add_subdirectory(FitSuite) -# fitting via FitKernel -add_subdirectory(FitKernel) - -# fitting via new Kernel machinery +# testing standalone fitting of arbitrary objective functions add_subdirectory(Minimizer) diff --git a/Tests/Functional/Fit/FitKernel/CMakeLists.txt b/Tests/Functional/Fit/FitKernel/CMakeLists.txt deleted file mode 100644 index cbbe35e27a553bdf53d90ca0a7309442927fcebd..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -set(test TestFitKernel) - -set(test_cases - StandaloneFit -) - -include_directories(${RootMinimizers_INCLUDE_DIRS}) - -file(GLOB source_files "*.cpp") -file(GLOB include_files "*.h") - -add_executable(${test} ${include_files} ${source_files}) -target_link_libraries(${test} BornAgainCore BornAgainTestMachinery) - -foreach(test_case ${test_cases}) - add_test(${test}/${test_case} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${test} ${test_case}) -endforeach() diff --git a/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.cpp b/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.cpp deleted file mode 100644 index 61dfc9616ca48d482065aca4e72e5f82c00e6e81..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.cpp +++ /dev/null @@ -1,24 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/StandardFitsFactory.cpp -//! @brief Implements class StandardFitsFactory -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "FitKernelTestFactory.h" -#include "StandaloneFitTest.h" - -FitKernelTestFactory::FitKernelTestFactory() -{ - registerItem( - "StandaloneFit", - create_new<StandaloneFitTest>, - "Test of standalone fit of arbitrary functions"); -} diff --git a/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.h b/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.h deleted file mode 100644 index 214c9d848b29c5e0d9e59bd977a3a61c9685fc1f..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/FitKernelTestFactory.h +++ /dev/null @@ -1,28 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/FitKernelTestFactory.h -//! @brief Defines class FitKernelTestFactory -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef FITKERNELTESTFACTORY_H -#define FITKERNELTESTFACTORY_H - -#include "FunctionalTestFactory.h" - -//! Factory to generate standalone fit tests. - -class FitKernelTestFactory : public FunctionalTestFactory -{ -public: - FitKernelTestFactory(); -}; - -#endif // FITKERNELTESTFACTORY_H diff --git a/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.cpp b/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.cpp deleted file mode 100644 index a6804ed0c5381cf9e9e2c961986a913648bd330e..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/ObjectiveFunctionPlan.cpp -//! @brief Declares classes to define plans for testing objective functions. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "ObjectiveFunctionPlan.h" -#include "ObjectiveTestFunctions.h" - -ObjectiveFunctionPlan::ObjectiveFunctionPlan(const std::string &name, objective_function_t func, - double , double ) - : m_name(name) - , m_objective_function(func) -{ - -} - -ObjectiveFunctionPlan::~ObjectiveFunctionPlan() -{ - for(auto par : m_parameters) - delete par; - -} - -void ObjectiveFunctionPlan::addParameter(double start_value, double expected_value, - const AttLimits &limits, double step) -{ - std::string name = "par"+std::to_string(m_parameters.size()); - m_parameters.push_back(new FitParameterPlan(name, start_value, expected_value, limits, step)); -} - -std::vector<const FitParameterPlan*> ObjectiveFunctionPlan::parameterPlan() const -{ - std::vector<const FitParameterPlan*> result{m_parameters.begin(), m_parameters.end()}; - return result; -} - -//! Plan for finding rosenbrock function minimum -//! start point: F(-1.2,1.0) = 24.20 -//! minimum : F(1.0,1.0) = 0. - -Rosenbrock1::Rosenbrock1() - : ObjectiveFunctionPlan("Rosenbrock1", TestFunctions::RosenBrock, 0.0) -{ - addParameter(-1.2, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); - addParameter(1.0, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); -} - -//! Plan for WoodFour function -//! start point: F(-3,-1,-3,-1) = 19192 -//! minimum : F(1,1,1,1) = 0. - -WoodFour::WoodFour() - : ObjectiveFunctionPlan("WoodFour", TestFunctions::WoodFour, 0.0) -{ - addParameter(-3.0, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); - addParameter(-1.0, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); - addParameter(-3.0, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); - addParameter(-1.0, 1.0, AttLimits::limited(-5.0, 5.0), 0.01); -} - diff --git a/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.h b/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.h deleted file mode 100644 index ba090fccdcef9437b333fee9c6ed00207481672c..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/ObjectiveFunctionPlan.h +++ /dev/null @@ -1,68 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/ObjectiveFunctionPlan.h -//! @brief Declares classes to define plans for testing objective functions. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef OBJECTIVEFUNCTIONPLAN_H -#define OBJECTIVEFUNCTIONPLAN_H - -#include <memory> -#include "KernelTypes.h" -#include "FitParameterPlan.h" - -//! @class ObjectiveFunctionPlan -//! @ingroup standard_samples -//! @brief The ObjectiveFunctionPlan defines objective function to fit and its fit parameters. - -class ObjectiveFunctionPlan -{ -public: - ObjectiveFunctionPlan(const std::string &name, objective_function_t func, double expected_minimum, - double threshold = 0.01); - - virtual ~ObjectiveFunctionPlan(); - - void addParameter(double start_value, double expected_value, - const AttLimits &limits, double step); - - objective_function_t objectiveFunction() const { return m_objective_function; } - - std::vector<const FitParameterPlan*> parameterPlan() const; - - std::string name() const { return m_name; } -private: - std::string m_name; - objective_function_t m_objective_function; - std::vector<FitParameterPlan*> m_parameters; -}; - -//! @class Rosenbrock1 -//! @ingroup standard_samples -//! @brief Setting for standalone fit of rosenbrock function. - -class Rosenbrock1 : public ObjectiveFunctionPlan -{ -public: - Rosenbrock1(); -}; - -//! @class Rosenbrock1 -//! @ingroup standard_samples -//! @brief Setting for standalone fit of Wood4 function. - -class WoodFour : public ObjectiveFunctionPlan -{ -public: - WoodFour(); -}; - -#endif // OBJECTIVEFUNCTIONPLAN_H diff --git a/Tests/Functional/Fit/FitKernel/README b/Tests/Functional/Fit/FitKernel/README deleted file mode 100644 index 7d6e1c8329ee2b5f20fb6c5d20da01b10d730418..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/README +++ /dev/null @@ -1,9 +0,0 @@ -Collection of functional tests (C++) - -Collection of standalone fitting tests using various minimizers and objective functions. -No BornAgain simulation involved. - -Tests are compiled and executed automatically when user builds -the whole project with 'check' target cmake; make check - -One can run tests manually by running in the build directory ./bin/FitKernel diff --git a/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.cpp b/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.cpp deleted file mode 100644 index 33e5d16b06b4dd10866664dd3a55f31d874ac46d..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/StandaloneFitPlan.cpp -//! @brief Implements classes to define plans for testing standalone fit. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "StandaloneFitPlan.h" -#include "ObjectiveFunctionPlan.h" -#include <iostream> -#include <boost/format.hpp> -#include <cmath> - - -StandaloneFitPlan::StandaloneFitPlan(const std::string &minimizerName, - const std::string &algorithmName, - ObjectiveFunctionPlan *plan) - : m_minimizerName(minimizerName) - , m_algorithmName(algorithmName) - , m_plan(plan){} - -StandaloneFitPlan::~StandaloneFitPlan() -{ - -} - -std::string StandaloneFitPlan::functionPlanName() const -{ - return m_plan->name(); -} - -objective_function_t StandaloneFitPlan::objectiveFunction() const -{ - return m_plan->objectiveFunction(); -} - -std::vector<const FitParameterPlan*> StandaloneFitPlan::parameterPlan() const -{ - return m_plan->parameterPlan(); -} - -//! Returns true if found values coincide with FitParameterPlan - -bool StandaloneFitPlan::planSucceeded(const std::vector<double> &foundParValues) -{ - bool success(true); - - if(parameterPlan().size() != foundParValues.size()) - throw std::runtime_error("StandaloneFitPlan::planSucceeded() -> Error. Sizes differ."); - - for(size_t i=0; i<foundParValues.size(); ++i) { - double expected_value = parameterPlan()[i]->expectedValue(); - double diff = std::abs(foundParValues[i] - expected_value)/expected_value; - if (diff > parameterPlan()[i]->tolerance()) - success = false; - - std::string name = "par"+std::to_string(i); - std::cout << boost::format("%|12t| %-10s : %-6.4f (diff %6.4g) %s\n") % - name % foundParValues[i] % diff % - (success ? "OK" : "FAILED"); - - } - - return success; -} - - diff --git a/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.h b/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.h deleted file mode 100644 index 073292b8df799ed0fe45424c5c6e593b6246f634..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/StandaloneFitPlan.h +++ /dev/null @@ -1,51 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/StandaloneFitPlan.h -//! @brief Declares classes to define plans for testing standalone fit. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef STANDALONEFITPLAN_H -#define STANDALONEFITPLAN_H - -#include "FitParameterPlan.h" -#include "KernelTypes.h" -#include <string> -#include <memory> -class ObjectiveFunctionPlan; - -//! @class StandaloneFitPlan -//! @ingroup standard_samples -//! @brief Represent FitKernel setting for testing arbitrary objective functions. - -class StandaloneFitPlan -{ -public: - StandaloneFitPlan(const std::string &minimizerName, const std::string &algorithmName, - ObjectiveFunctionPlan *plan); - ~StandaloneFitPlan(); - - std::string minimizerName() const { return m_minimizerName; } - std::string algorithmName() const { return m_algorithmName; } - std::string functionPlanName() const; - - objective_function_t objectiveFunction() const; - - std::vector<const FitParameterPlan*> parameterPlan() const; - - bool planSucceeded(const std::vector<double> &foundParValues); - -private: - std::string m_minimizerName; - std::string m_algorithmName; - std::unique_ptr<ObjectiveFunctionPlan> m_plan; -}; - -#endif // STANDALONEFITPLAN_H diff --git a/Tests/Functional/Fit/FitKernel/StandaloneFitTest.cpp b/Tests/Functional/Fit/FitKernel/StandaloneFitTest.cpp deleted file mode 100644 index 67445fc3a5631d0b2579fda6deaa3446544136ed..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/StandaloneFitTest.cpp +++ /dev/null @@ -1,69 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/StandaloneFitTest.cpp -//! @brief Implements class StandaloneFitTest. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#include "StandaloneFitTest.h" -#include "FitKernel.h" -#include "AttLimits.h" -#include "ObjectiveFunctionPlan.h" -#include "FitParameterSet.h" -#include <iostream> - -StandaloneFitTest::StandaloneFitTest() - : IFunctionalTest("StandaloneFit", "Collection of standalone tests for fitting library") -{ - addTest<Rosenbrock1>("Minuit2", "Migrad"); - addTest<WoodFour>("Minuit2", "Migrad"); - addTest<Rosenbrock1>("GSLMultiMin", "BFGS2"); -} - -bool StandaloneFitTest::runTest() -{ - bool success(true); - for(auto plan: m_plans) { - std::cout << plan->minimizerName() - << " " << plan->algorithmName() - << " " << plan->functionPlanName() << std::endl; - - success &= runPlan(plan); - } - - std::cout << "StandaloneFitTest::runTest() -> " << (success ? "OK" : "FAILED") << std::endl; - - return success; -} - -bool StandaloneFitTest::runPlan(std::shared_ptr<StandaloneFitPlan> plan) -{ - bool success(true); - - std::unique_ptr<FitKernel> fitKernel(new FitKernel); - fitKernel->setMinimizer(plan->minimizerName(), plan->algorithmName()); - - // TODO refactor fitKernel to add IFitParameter directly, similar to FitSuite - int index(0); - for(auto p : plan->parameterPlan()) - fitKernel->addFitParameter("par"+std::to_string(index++), p->fitParameter().startValue(), - p->fitParameter().limits(), p->fitParameter().step()); - - fitKernel->setObjectiveFunction(plan->objectiveFunction()); - fitKernel->minimize(); - std::cout << fitKernel->reportResults() << std::endl; - - std::vector<double> foundValues = fitKernel->fitParameters()->values(); - - if(!plan->planSucceeded(foundValues)) - success = false; - - return success; -} diff --git a/Tests/Functional/Fit/FitKernel/StandaloneFitTest.h b/Tests/Functional/Fit/FitKernel/StandaloneFitTest.h deleted file mode 100644 index b1d4ef24ff8f3f17fab5eb1e09666b96ea667f18..0000000000000000000000000000000000000000 --- a/Tests/Functional/Fit/FitKernel/StandaloneFitTest.h +++ /dev/null @@ -1,49 +0,0 @@ -// ************************************************************************** // -// -// BornAgain: simulate and fit scattering at grazing incidence -// -//! @file Tests/Functional/Fit/StandaloneFitTest.h -//! @brief Declares class StandaloneFitTest. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2018 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************** // - -#ifndef STANDALONEFITTEST_H -#define STANDALONEFITTEST_H - -#include "IFunctionalTest.h" -#include "StandaloneFitPlan.h" - -//! @class StandaloneFitTest -//! @ingroup standard_samples -//! @brief Collection of standalone tests for fitting library. - -class StandaloneFitTest : public IFunctionalTest -{ -public: - StandaloneFitTest(); - - bool runTest(); - - template<typename T> - void addTest(const std::string &minimizerName, const std::string &algorithmName); - -private: - bool runPlan(std::shared_ptr<StandaloneFitPlan> plan); - - std::vector<std::shared_ptr<StandaloneFitPlan>> m_plans; -}; - -template<typename T> -void StandaloneFitTest::addTest(const std::string &minimizerName, const std::string &algorithmName) -{ - m_plans.push_back( - std::shared_ptr<StandaloneFitPlan>(new StandaloneFitPlan(minimizerName, algorithmName, new T())) - ); -} - -#endif // STANDALONEFITTEST_H diff --git a/Wrap/python/plot_utils.py b/Wrap/python/plot_utils.py index a613090a87da1fe0bfeaab54e2527a25dddf17f6..621b0b52f9654c3296757ceff044ac2e2ed80b16 100644 --- a/Wrap/python/plot_utils.py +++ b/Wrap/python/plot_utils.py @@ -260,7 +260,7 @@ class PlotterGISAS(Plotter): plt.title('Parameters') plt.axis('off') plt.text(0.01, 0.85, "Iterations " + '{:d} {:s}'. - format(fit_suite.numberOfIterations(), fit_suite.minimizer().minimizerName())) + format(fit_suite.numberOfIterations(), fit_suite.minimizerName())) plt.text(0.01, 0.75, "Chi2 " + '{:8.4f}'.format(fit_suite.getChi2())) for index, fitPar in enumerate(fit_suite.fitParameters()): plt.text(0.01, 0.55 - index * 0.1, '{:30.30s}: {:6.3f}'.format(fitPar.name(), fitPar.value())) @@ -314,7 +314,7 @@ class PlotterSpecular(Plotter): trunc_length = 9 # max string field width in the table n_digits = 1 # number of decimal digits to print n_iterations = fit_suite.numberOfIterations() # number of iterations - minimizer = fit_suite.minimizer().minimizerName() + minimizer = fit_suite.minimizerName() rel_dif = fit_suite.relativeDifference().array().max() # maximum relative difference fitted_parameters = fit_suite.fitParameters() diff --git a/Wrap/swig/extendCore.i b/Wrap/swig/extendCore.i index 14b94e07c3902481e458ab00d635fb9b6c841830..14007d6f2976b1fdab94b2c13833d6c874c8da85 100644 --- a/Wrap/swig/extendCore.i +++ b/Wrap/swig/extendCore.i @@ -114,3 +114,46 @@ class ParameterPoolIterator(object): }; +// FitParameterSet iterator + +%pythoncode %{ +class FitParameterSetIterator(object): + + def __init__(self, fitParameters): + self.fitParameters = fitParameters + self.index = -1 + + def __iter__(self): + return self + + def next(self): + self.index += 1 + if self.index < self.fitParameters.size(): + return self.fitParameters[self.index] + else: + raise StopIteration + + def __next__(self): + return self.next() +%} + +// FitParameterSet accessors + +%extend FitParameterSet { + const IFitParameter* __getitem__(std::string name) const + { + return (*($self))[name]; + } + const IFitParameter* __getitem__(size_t index) const + { + return (*($self))[index]; + } + +%pythoncode { + def __iter__(self): + return FitParameterSetIterator(self) +} +}; + + + diff --git a/Wrap/swig/extendFit.i b/Wrap/swig/extendFit.i index a30ee82bd8a6c052ebb45022cb50d04cd04038c0..c99b66b30fe195d425cc2b08607324b53a98e1e2 100644 --- a/Wrap/swig/extendFit.i +++ b/Wrap/swig/extendFit.i @@ -1,46 +1,3 @@ - -// FitParameterSet iterator - -%pythoncode %{ -class FitParameterSetIterator(object): - - def __init__(self, fitParameters): - self.fitParameters = fitParameters - self.index = -1 - - def __iter__(self): - return self - - def next(self): - self.index += 1 - if self.index < self.fitParameters.size(): - return self.fitParameters[self.index] - else: - raise StopIteration - - def __next__(self): - return self.next() -%} - -// FitParameterSet accessors - -%extend FitParameterSet { - const IFitParameter* __getitem__(std::string name) const - { - return (*($self))[name]; - } - const IFitParameter* __getitem__(size_t index) const - { - return (*($self))[index]; - } - -%pythoncode { - def __iter__(self): - return FitParameterSetIterator(self) -} -}; - - %pythoncode %{ class ParametersIterator(object): diff --git a/Wrap/swig/libBornAgainCore.i b/Wrap/swig/libBornAgainCore.i index 101d94a4064d5fb2b24c48573b993753a884ae72..59935f810ee08597c1092f05140fd1bb9cfdbbce 100644 --- a/Wrap/swig/libBornAgainCore.i +++ b/Wrap/swig/libBornAgainCore.i @@ -90,11 +90,12 @@ #include "FTDistributions2D.h" #include "FitObject.h" #include "FitOptions.h" +#include "IFitParameter.h" +#include "FitParameterSet.h" #include "FitParameter.h" #include "FitSuite.h" #include "FitSuiteImpl.h" #include "FitSuiteObjects.h" -#include "FitParameterSet.h" #include "FixedBinAxis.h" #include "FootprintFactorGaussian.h" #include "FootprintFactorSquare.h" @@ -244,7 +245,6 @@ %import(module="libBornAgainFit") "AttLimits.h" %import(module="libBornAgainFit") "Attributes.h" %import(module="libBornAgainFit") "RealLimits.h" -%import(module="libBornAgainFit") "IFitParameter.h" %include "BAVersion.h" %include "BasicVector3D.h" @@ -292,6 +292,8 @@ %include "ChiSquaredModule.h" %include "FitObject.h" %include "FitOptions.h" +%include "IFitParameter.h" +%include "FitParameterSet.h" %include "FitParameter.h" %include "FitSuite.h" %include "FitSuiteObjects.h" diff --git a/Wrap/swig/libBornAgainFit.i b/Wrap/swig/libBornAgainFit.i index 2c2462077d98f99b4f46c45c34fc7fe4f47f662e..46356fdaa08e7ba1ef723ab9597e8df6ac19edf3 100644 --- a/Wrap/swig/libBornAgainFit.i +++ b/Wrap/swig/libBornAgainFit.i @@ -66,8 +66,6 @@ import_array(); #include "AttLimits.h" #include "Parameter.h" #include "Parameters.h" -#include "IFitParameter.h" -#include "FitParameterSet.h" #include "IMinimizer.h" #include "MinimizerCatalogue.h" #include "MinimizerFactory.h" @@ -90,8 +88,6 @@ import_array(); %include "Parameter.h" %include "Parameters.h" %include "IMinimizer.h" -%include "IFitParameter.h" -%include "FitParameterSet.h" %include "MinimizerCatalogue.h" %include "MinimizerFactory.h" diff --git a/auto/Wrap/libBornAgainCore.py b/auto/Wrap/libBornAgainCore.py index 369feaaa2765faec10c7266085493897babc5048..a0a902ad7604e078bfe9d414537aa503b98c279c 100644 --- a/auto/Wrap/libBornAgainCore.py +++ b/auto/Wrap/libBornAgainCore.py @@ -244,6 +244,26 @@ class ParameterPoolIterator(object): def __next__(self): return self.next() + +class FitParameterSetIterator(object): + + def __init__(self, fitParameters): + self.fitParameters = fitParameters + self.index = -1 + + def __iter__(self): + return self + + def next(self): + self.index += 1 + if self.index < self.fitParameters.size(): + return self.fitParameters[self.index] + else: + raise StopIteration + + def __next__(self): + return self.next() + class vdouble1d_t(_object): """Proxy of C++ std::vector<(double)> class.""" @@ -6465,7 +6485,276 @@ class FitOptions(_object): FitOptions_swigregister = _libBornAgainCore.FitOptions_swigregister FitOptions_swigregister(FitOptions) -class FitParameter(libBornAgainFit.IFitParameter): +class IFitParameter(_object): + """Proxy of C++ IFitParameter class.""" + + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, IFitParameter, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, IFitParameter, name) + __repr__ = _swig_repr + + def __init__(self, *args): + """ + __init__(IFitParameter self) -> IFitParameter + __init__(IFitParameter self, std::string const & name, double value, AttLimits limits, double step=0.0) -> IFitParameter + __init__(IFitParameter self, std::string const & name, double value, AttLimits limits) -> IFitParameter + __init__(IFitParameter self, std::string const & name, double value) -> IFitParameter + """ + this = _libBornAgainCore.new_IFitParameter(*args) + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _libBornAgainCore.delete_IFitParameter + __del__ = lambda self: None + + def clone(self): + """clone(IFitParameter self) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_clone(self) + + + def name(self): + """name(IFitParameter self) -> std::string""" + return _libBornAgainCore.IFitParameter_name(self) + + + def setName(self, name): + """setName(IFitParameter self, std::string const & name) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setName(self, name) + + + def startValue(self): + """startValue(IFitParameter self) -> double""" + return _libBornAgainCore.IFitParameter_startValue(self) + + + def setStartValue(self, value): + """setStartValue(IFitParameter self, double value)""" + return _libBornAgainCore.IFitParameter_setStartValue(self, value) + + + def value(self): + """value(IFitParameter self) -> double""" + return _libBornAgainCore.IFitParameter_value(self) + + + def setValue(self, value): + """setValue(IFitParameter self, double value)""" + return _libBornAgainCore.IFitParameter_setValue(self, value) + + + def addPattern(self, pattern): + """addPattern(IFitParameter self, std::string const & pattern) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_addPattern(self, pattern) + + + def step(self): + """step(IFitParameter self) -> double""" + return _libBornAgainCore.IFitParameter_step(self) + + + def setStep(self, value): + """setStep(IFitParameter self, double value) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setStep(self, value) + + + def error(self): + """error(IFitParameter self) -> double""" + return _libBornAgainCore.IFitParameter_error(self) + + + def setError(self, value): + """setError(IFitParameter self, double value)""" + return _libBornAgainCore.IFitParameter_setError(self, value) + + + def limits(self, *args): + """ + limits(IFitParameter self) -> AttLimits + limits(IFitParameter self) -> AttLimits + """ + return _libBornAgainCore.IFitParameter_limits(self, *args) + + + def setLimits(self, limits): + """setLimits(IFitParameter self, AttLimits limits) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setLimits(self, limits) + + + def setLowerLimited(self, bound_value): + """setLowerLimited(IFitParameter self, double bound_value) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setLowerLimited(self, bound_value) + + + def setPositive(self): + """setPositive(IFitParameter self) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setPositive(self) + + + def setNonnegative(self): + """setNonnegative(IFitParameter self) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setNonnegative(self) + + + def setUpperLimited(self, bound_value): + """setUpperLimited(IFitParameter self, double bound_value) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setUpperLimited(self, bound_value) + + + def setLimited(self, left_bound_value, right_bound_value): + """setLimited(IFitParameter self, double left_bound_value, double right_bound_value) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setLimited(self, left_bound_value, right_bound_value) + + + def setFixed(self): + """setFixed(IFitParameter self) -> IFitParameter""" + return _libBornAgainCore.IFitParameter_setFixed(self) + + + def toString(self): + """toString(IFitParameter self) -> std::string""" + return _libBornAgainCore.IFitParameter_toString(self) + +IFitParameter_swigregister = _libBornAgainCore.IFitParameter_swigregister +IFitParameter_swigregister(IFitParameter) + +class FitParameterSet(_object): + """Proxy of C++ FitParameterSet class.""" + + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, FitParameterSet, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, FitParameterSet, name) + __repr__ = _swig_repr + + def __init__(self): + """__init__(FitParameterSet self) -> FitParameterSet""" + this = _libBornAgainCore.new_FitParameterSet() + try: + self.this.append(this) + except __builtin__.Exception: + self.this = this + __swig_destroy__ = _libBornAgainCore.delete_FitParameterSet + __del__ = lambda self: None + + def clear(self): + """clear(FitParameterSet self)""" + return _libBornAgainCore.FitParameterSet_clear(self) + + + def size(self): + """size(FitParameterSet self) -> size_t""" + return _libBornAgainCore.FitParameterSet_size(self) + + + def begin(self, *args): + """ + begin(FitParameterSet self) -> FitParameterSet::iterator + begin(FitParameterSet self) -> FitParameterSet::const_iterator + """ + return _libBornAgainCore.FitParameterSet_begin(self, *args) + + + def end(self, *args): + """ + end(FitParameterSet self) -> FitParameterSet::iterator + end(FitParameterSet self) -> FitParameterSet::const_iterator + """ + return _libBornAgainCore.FitParameterSet_end(self, *args) + + + def addFitParameter(self, par): + """addFitParameter(FitParameterSet self, IFitParameter par)""" + return _libBornAgainCore.FitParameterSet_addFitParameter(self, par) + + + def fitParameter(self, *args): + """ + fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter + fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter + """ + return _libBornAgainCore.FitParameterSet_fitParameter(self, *args) + + + def values(self): + """values(FitParameterSet self) -> vdouble1d_t""" + return _libBornAgainCore.FitParameterSet_values(self) + + + def setValues(self, pars_values): + """setValues(FitParameterSet self, vdouble1d_t pars_values)""" + return _libBornAgainCore.FitParameterSet_setValues(self, pars_values) + + + def valuesDifferFrom(self, par_values, tolerance=2.0): + """ + valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values, double tolerance=2.0) -> bool + valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values) -> bool + """ + return _libBornAgainCore.FitParameterSet_valuesDifferFrom(self, par_values, tolerance) + + + def errors(self): + """errors(FitParameterSet self) -> vdouble1d_t""" + return _libBornAgainCore.FitParameterSet_errors(self) + + + def setErrors(self, pars_errors): + """setErrors(FitParameterSet self, vdouble1d_t pars_errors)""" + return _libBornAgainCore.FitParameterSet_setErrors(self, pars_errors) + + + def freeFitParameterCount(self): + """freeFitParameterCount(FitParameterSet self) -> size_t""" + return _libBornAgainCore.FitParameterSet_freeFitParameterCount(self) + + + def fixAll(self): + """fixAll(FitParameterSet self)""" + return _libBornAgainCore.FitParameterSet_fixAll(self) + + + def releaseAll(self): + """releaseAll(FitParameterSet self)""" + return _libBornAgainCore.FitParameterSet_releaseAll(self) + + + def setFixed(self, pars, is_fixed): + """setFixed(FitParameterSet self, vector_string_t pars, bool is_fixed)""" + return _libBornAgainCore.FitParameterSet_setFixed(self, pars, is_fixed) + + + def correlationMatrix(self): + """correlationMatrix(FitParameterSet self) -> vdouble2d_t""" + return _libBornAgainCore.FitParameterSet_correlationMatrix(self) + + + def setCorrelationMatrix(self, matrix): + """setCorrelationMatrix(FitParameterSet self, vdouble2d_t matrix)""" + return _libBornAgainCore.FitParameterSet_setCorrelationMatrix(self, matrix) + + + def fitParametersNewKernel(self): + """fitParametersNewKernel(FitParameterSet self) -> Fit::Parameters""" + return _libBornAgainCore.FitParameterSet_fitParametersNewKernel(self) + + + def __getitem__(self, *args): + """ + __getitem__(FitParameterSet self, std::string name) -> IFitParameter + __getitem__(FitParameterSet self, size_t index) -> IFitParameter + """ + return _libBornAgainCore.FitParameterSet___getitem__(self, *args) + + + def __iter__(self): + return FitParameterSetIterator(self) + +FitParameterSet_swigregister = _libBornAgainCore.FitParameterSet_swigregister +FitParameterSet_swigregister(FitParameterSet) + +class FitParameter(IFitParameter): """ @@ -6476,11 +6765,11 @@ class FitParameter(libBornAgainFit.IFitParameter): """ __swig_setmethods__ = {} - for _s in [libBornAgainFit.IFitParameter]: + for _s in [IFitParameter]: __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {})) __setattr__ = lambda self, name, value: _swig_setattr(self, FitParameter, name, value) __swig_getmethods__ = {} - for _s in [libBornAgainFit.IFitParameter]: + for _s in [IFitParameter]: __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {})) __getattr__ = lambda self, name: _swig_getattr(self, FitParameter, name) __repr__ = _swig_repr @@ -6726,16 +7015,9 @@ class FitSuite(IObservable): return _libBornAgainCore.FitSuite_setMinimizer(self, *args) - def minimizer(self): - """ - minimizer(FitSuite self) -> IMinimizer const * - - const IMinimizer * FitSuite::minimizer() const - - Returns minimizer. - - """ - return _libBornAgainCore.FitSuite_minimizer(self) + def minimizerName(self): + """minimizerName(FitSuite self) -> std::string""" + return _libBornAgainCore.FitSuite_minimizerName(self) def initPrint(self, print_every_nth): @@ -6794,7 +7076,7 @@ class FitSuite(IObservable): def fitParameters(self): """ - fitParameters(FitSuite self) -> FitParameterSet * + fitParameters(FitSuite self) -> FitParameterSet FitParameterSet * FitSuite::fitParameters() @@ -7200,6 +7482,11 @@ class FitSuiteObjects(INode): return _libBornAgainCore.FitSuiteObjects_getResidualValue(self, global_index) + def residuals(self): + """residuals(FitSuiteObjects self) -> vdouble1d_t""" + return _libBornAgainCore.FitSuiteObjects_residuals(self) + + def setNfreeParameters(self, nfree_parameters): """ setNfreeParameters(FitSuiteObjects self, int nfree_parameters) diff --git a/auto/Wrap/libBornAgainCore_wrap.cpp b/auto/Wrap/libBornAgainCore_wrap.cpp index 4ffa0032486a484958b4d0e238229ae3f4fca398..a2a0fe1bd2d9a2fa6ff3c3190f84b9dad83eaa6e 100644 --- a/auto/Wrap/libBornAgainCore_wrap.cpp +++ b/auto/Wrap/libBornAgainCore_wrap.cpp @@ -3513,269 +3513,274 @@ namespace Swig { #define SWIGTYPE_p_FitSuiteImpl swig_types[59] #define SWIGTYPE_p_FitSuiteObjects swig_types[60] #define SWIGTYPE_p_FitSuiteStrategies swig_types[61] -#define SWIGTYPE_p_FixedBinAxis swig_types[62] -#define SWIGTYPE_p_FootprintFactorGaussian swig_types[63] -#define SWIGTYPE_p_FootprintFactorSquare swig_types[64] -#define SWIGTYPE_p_FormFactorAnisoPyramid swig_types[65] -#define SWIGTYPE_p_FormFactorBox swig_types[66] -#define SWIGTYPE_p_FormFactorCone swig_types[67] -#define SWIGTYPE_p_FormFactorCone6 swig_types[68] -#define SWIGTYPE_p_FormFactorCoreShell swig_types[69] -#define SWIGTYPE_p_FormFactorCrystal swig_types[70] -#define SWIGTYPE_p_FormFactorCuboctahedron swig_types[71] -#define SWIGTYPE_p_FormFactorCylinder swig_types[72] -#define SWIGTYPE_p_FormFactorDWBA swig_types[73] -#define SWIGTYPE_p_FormFactorDWBAPol swig_types[74] -#define SWIGTYPE_p_FormFactorDecoratorDebyeWaller swig_types[75] -#define SWIGTYPE_p_FormFactorDecoratorMaterial swig_types[76] -#define SWIGTYPE_p_FormFactorDecoratorPositionFactor swig_types[77] -#define SWIGTYPE_p_FormFactorDecoratorRotation swig_types[78] -#define SWIGTYPE_p_FormFactorDodecahedron swig_types[79] -#define SWIGTYPE_p_FormFactorDot swig_types[80] -#define SWIGTYPE_p_FormFactorEllipsoidalCylinder swig_types[81] -#define SWIGTYPE_p_FormFactorFullSphere swig_types[82] -#define SWIGTYPE_p_FormFactorFullSpheroid swig_types[83] -#define SWIGTYPE_p_FormFactorGauss swig_types[84] -#define SWIGTYPE_p_FormFactorHemiEllipsoid swig_types[85] -#define SWIGTYPE_p_FormFactorIcosahedron swig_types[86] -#define SWIGTYPE_p_FormFactorLongBoxGauss swig_types[87] -#define SWIGTYPE_p_FormFactorLongBoxLorentz swig_types[88] -#define SWIGTYPE_p_FormFactorLongRipple1Gauss swig_types[89] -#define SWIGTYPE_p_FormFactorLongRipple1Lorentz swig_types[90] -#define SWIGTYPE_p_FormFactorLongRipple2Gauss swig_types[91] -#define SWIGTYPE_p_FormFactorLongRipple2Lorentz swig_types[92] -#define SWIGTYPE_p_FormFactorLorentz swig_types[93] -#define SWIGTYPE_p_FormFactorPolygonalPrism swig_types[94] -#define SWIGTYPE_p_FormFactorPolygonalSurface swig_types[95] -#define SWIGTYPE_p_FormFactorPolyhedron swig_types[96] -#define SWIGTYPE_p_FormFactorPrism3 swig_types[97] -#define SWIGTYPE_p_FormFactorPrism6 swig_types[98] -#define SWIGTYPE_p_FormFactorPyramid swig_types[99] -#define SWIGTYPE_p_FormFactorRipple1 swig_types[100] -#define SWIGTYPE_p_FormFactorRipple2 swig_types[101] -#define SWIGTYPE_p_FormFactorSphereGaussianRadius swig_types[102] -#define SWIGTYPE_p_FormFactorSphereLogNormalRadius swig_types[103] -#define SWIGTYPE_p_FormFactorSphereUniformRadius swig_types[104] -#define SWIGTYPE_p_FormFactorTetrahedron swig_types[105] -#define SWIGTYPE_p_FormFactorTruncatedCube swig_types[106] -#define SWIGTYPE_p_FormFactorTruncatedSphere swig_types[107] -#define SWIGTYPE_p_FormFactorTruncatedSpheroid swig_types[108] -#define SWIGTYPE_p_FormFactorWeighted swig_types[109] -#define SWIGTYPE_p_GISASSimulation swig_types[110] -#define SWIGTYPE_p_HexagonalLattice swig_types[111] -#define SWIGTYPE_p_Histogram1D swig_types[112] -#define SWIGTYPE_p_Histogram2D swig_types[113] -#define SWIGTYPE_p_HorizontalLine swig_types[114] -#define SWIGTYPE_p_IAbstractParticle swig_types[115] -#define SWIGTYPE_p_IAxis swig_types[116] -#define SWIGTYPE_p_IBackground swig_types[117] -#define SWIGTYPE_p_IChiSquaredModule swig_types[118] -#define SWIGTYPE_p_ICloneable swig_types[119] -#define SWIGTYPE_p_IClusteredParticles swig_types[120] -#define SWIGTYPE_p_IDetector swig_types[121] -#define SWIGTYPE_p_IDetector2D swig_types[122] -#define SWIGTYPE_p_IDetectorResolution swig_types[123] -#define SWIGTYPE_p_IDistribution1D swig_types[124] -#define SWIGTYPE_p_IFTDecayFunction1D swig_types[125] -#define SWIGTYPE_p_IFTDecayFunction2D swig_types[126] -#define SWIGTYPE_p_IFTDistribution1D swig_types[127] -#define SWIGTYPE_p_IFTDistribution2D swig_types[128] -#define SWIGTYPE_p_IFactoryT_std__string_IMultiLayerBuilder_t swig_types[129] -#define SWIGTYPE_p_IFactoryT_std__string_Simulation_t swig_types[130] -#define SWIGTYPE_p_IFitObserver swig_types[131] -#define SWIGTYPE_p_IFitParameter swig_types[132] -#define SWIGTYPE_p_IFitStrategy swig_types[133] -#define SWIGTYPE_p_IFootprintFactor swig_types[134] -#define SWIGTYPE_p_IFormFactor swig_types[135] -#define SWIGTYPE_p_IFormFactorBorn swig_types[136] -#define SWIGTYPE_p_IFormFactorDecorator swig_types[137] -#define SWIGTYPE_p_IHistogram swig_types[138] -#define SWIGTYPE_p_IIntensityFunction swig_types[139] -#define SWIGTYPE_p_IIntensityNormalizer swig_types[140] -#define SWIGTYPE_p_IInterferenceFunction swig_types[141] -#define SWIGTYPE_p_ILayout swig_types[142] -#define SWIGTYPE_p_IMinimizer swig_types[143] -#define SWIGTYPE_p_IMultiLayerBuilder swig_types[144] -#define SWIGTYPE_p_INamed swig_types[145] -#define SWIGTYPE_p_INode swig_types[146] -#define SWIGTYPE_p_INodeVisitor swig_types[147] -#define SWIGTYPE_p_IObservable swig_types[148] -#define SWIGTYPE_p_IObserver swig_types[149] -#define SWIGTYPE_p_IParameterT_double_t swig_types[150] -#define SWIGTYPE_p_IParameterized swig_types[151] -#define SWIGTYPE_p_IParticle swig_types[152] -#define SWIGTYPE_p_IPixel swig_types[153] -#define SWIGTYPE_p_IResolutionFunction2D swig_types[154] -#define SWIGTYPE_p_IRotation swig_types[155] -#define SWIGTYPE_p_ISample swig_types[156] -#define SWIGTYPE_p_ISelectionRule swig_types[157] -#define SWIGTYPE_p_IShape2D swig_types[158] -#define SWIGTYPE_p_ISquaredFunction swig_types[159] -#define SWIGTYPE_p_IUnitConverter swig_types[160] -#define SWIGTYPE_p_IdentityRotation swig_types[161] -#define SWIGTYPE_p_Instrument swig_types[162] -#define SWIGTYPE_p_IntensityDataIOFactory swig_types[163] -#define SWIGTYPE_p_IntensityFunctionLog swig_types[164] -#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[165] -#define SWIGTYPE_p_IntensityNormalizer swig_types[166] -#define SWIGTYPE_p_IntensityScaleAndShiftNormalizer swig_types[167] -#define SWIGTYPE_p_InterferenceFunction1DLattice swig_types[168] -#define SWIGTYPE_p_InterferenceFunction2DLattice swig_types[169] -#define SWIGTYPE_p_InterferenceFunction2DParaCrystal swig_types[170] -#define SWIGTYPE_p_InterferenceFunction2DSuperLattice swig_types[171] -#define SWIGTYPE_p_InterferenceFunctionFinite2DLattice swig_types[172] -#define SWIGTYPE_p_InterferenceFunctionNone swig_types[173] -#define SWIGTYPE_p_InterferenceFunctionRadialParaCrystal swig_types[174] -#define SWIGTYPE_p_IsGISAXSDetector swig_types[175] -#define SWIGTYPE_p_Lattice swig_types[176] -#define SWIGTYPE_p_Lattice1DParameters swig_types[177] -#define SWIGTYPE_p_Lattice2D swig_types[178] -#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[179] -#define SWIGTYPE_p_Layer swig_types[180] -#define SWIGTYPE_p_LayerInterface swig_types[181] -#define SWIGTYPE_p_LayerRoughness swig_types[182] -#define SWIGTYPE_p_Line swig_types[183] -#define SWIGTYPE_p_Material swig_types[184] -#define SWIGTYPE_p_MesoCrystal swig_types[185] -#define SWIGTYPE_p_MultiLayer swig_types[186] -#define SWIGTYPE_p_OffSpecSimulation swig_types[187] -#define SWIGTYPE_p_OutputDataIteratorT_double_OutputDataT_double_t_t swig_types[188] -#define SWIGTYPE_p_OutputDataIteratorT_double_const_OutputDataT_double_t_const_t swig_types[189] -#define SWIGTYPE_p_OutputDataT_CumulativeValue_t swig_types[190] -#define SWIGTYPE_p_OutputDataT_bool_t swig_types[191] -#define SWIGTYPE_p_OutputDataT_double_t swig_types[192] -#define SWIGTYPE_p_ParameterDistribution swig_types[193] -#define SWIGTYPE_p_ParameterPool swig_types[194] -#define SWIGTYPE_p_ParameterSample swig_types[195] -#define SWIGTYPE_p_Particle swig_types[196] -#define SWIGTYPE_p_ParticleComposition swig_types[197] -#define SWIGTYPE_p_ParticleCoreShell swig_types[198] -#define SWIGTYPE_p_ParticleDistribution swig_types[199] -#define SWIGTYPE_p_ParticleLayout swig_types[200] -#define SWIGTYPE_p_ParticleLimits swig_types[201] -#define SWIGTYPE_p_PoissonNoiseBackground swig_types[202] -#define SWIGTYPE_p_Polygon swig_types[203] -#define SWIGTYPE_p_PolygonPrivate swig_types[204] -#define SWIGTYPE_p_PolygonalTopology swig_types[205] -#define SWIGTYPE_p_PolyhedralEdge swig_types[206] -#define SWIGTYPE_p_PolyhedralFace swig_types[207] -#define SWIGTYPE_p_PolyhedralTopology swig_types[208] -#define SWIGTYPE_p_ProgressHandler__Callback_t swig_types[209] -#define SWIGTYPE_p_RealLimits swig_types[210] -#define SWIGTYPE_p_RealParameter swig_types[211] -#define SWIGTYPE_p_Rectangle swig_types[212] -#define SWIGTYPE_p_RectangularDetector swig_types[213] -#define SWIGTYPE_p_RectangularPixel swig_types[214] -#define SWIGTYPE_p_RegionOfInterest swig_types[215] -#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[216] -#define SWIGTYPE_p_RotationEuler swig_types[217] -#define SWIGTYPE_p_RotationX swig_types[218] -#define SWIGTYPE_p_RotationY swig_types[219] -#define SWIGTYPE_p_RotationZ swig_types[220] -#define SWIGTYPE_p_SafePointerVectorT_FitObject_t__iterator swig_types[221] -#define SWIGTYPE_p_SafePointerVectorT_IParticle_const_t swig_types[222] -#define SWIGTYPE_p_SafePointerVectorT_IParticle_t swig_types[223] -#define SWIGTYPE_p_SafePointerVectorT_Layer_t swig_types[224] -#define SWIGTYPE_p_SampleBuilderFactory swig_types[225] -#define SWIGTYPE_p_SimpleSelectionRule swig_types[226] -#define SWIGTYPE_p_Simulation swig_types[227] -#define SWIGTYPE_p_Simulation2D swig_types[228] -#define SWIGTYPE_p_SimulationFactory swig_types[229] -#define SWIGTYPE_p_SimulationOptions swig_types[230] -#define SWIGTYPE_p_SimulationResult swig_types[231] -#define SWIGTYPE_p_SlicedParticle swig_types[232] -#define SWIGTYPE_p_SlicingEffects swig_types[233] -#define SWIGTYPE_p_SpecularDetector1D swig_types[234] -#define SWIGTYPE_p_SpecularSimulation swig_types[235] -#define SWIGTYPE_p_SphericalDetector swig_types[236] -#define SWIGTYPE_p_SphericalPixel swig_types[237] -#define SWIGTYPE_p_SquareLattice swig_types[238] -#define SWIGTYPE_p_SquaredFunctionDefault swig_types[239] -#define SWIGTYPE_p_SquaredFunctionGaussianError swig_types[240] -#define SWIGTYPE_p_SquaredFunctionMeanSquaredError swig_types[241] -#define SWIGTYPE_p_SquaredFunctionSimError swig_types[242] -#define SWIGTYPE_p_SquaredFunctionSystematicError swig_types[243] -#define SWIGTYPE_p_ThreadInfo swig_types[244] -#define SWIGTYPE_p_Transform3D swig_types[245] -#define SWIGTYPE_p_VariableBinAxis swig_types[246] -#define SWIGTYPE_p_VerticalLine swig_types[247] -#define SWIGTYPE_p_WavevectorInfo swig_types[248] -#define SWIGTYPE_p_ZLimits swig_types[249] -#define SWIGTYPE_p_allocator_type swig_types[250] -#define SWIGTYPE_p_bool swig_types[251] -#define SWIGTYPE_p_char swig_types[252] -#define SWIGTYPE_p_const_iterator swig_types[253] -#define SWIGTYPE_p_const_reference swig_types[254] -#define SWIGTYPE_p_difference_type swig_types[255] -#define SWIGTYPE_p_double swig_types[256] -#define SWIGTYPE_p_int swig_types[257] -#define SWIGTYPE_p_iterator swig_types[258] -#define SWIGTYPE_p_long_long swig_types[259] -#define SWIGTYPE_p_observer_t swig_types[260] -#define SWIGTYPE_p_observerlist_t swig_types[261] -#define SWIGTYPE_p_p_PyObject swig_types[262] -#define SWIGTYPE_p_reference swig_types[263] -#define SWIGTYPE_p_short swig_types[264] -#define SWIGTYPE_p_signed_char swig_types[265] -#define SWIGTYPE_p_size_type swig_types[266] -#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[267] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[268] -#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[269] -#define SWIGTYPE_p_std__allocatorT_IFormFactor_p_t swig_types[270] -#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[271] -#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[272] -#define SWIGTYPE_p_std__allocatorT_ParameterSample_t swig_types[273] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[274] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[275] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[276] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[277] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[278] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[279] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[280] -#define SWIGTYPE_p_std__complexT_double_t swig_types[281] -#define SWIGTYPE_p_std__functionT_IMultiLayerBuilder_pfF_t swig_types[282] -#define SWIGTYPE_p_std__functionT_Simulation_pfF_t swig_types[283] -#define SWIGTYPE_p_std__functionT_void_fF_t swig_types[284] -#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[285] -#define SWIGTYPE_p_std__invalid_argument swig_types[286] -#define SWIGTYPE_p_std__mapT_std__string_std__string_t__const_iterator swig_types[287] -#define SWIGTYPE_p_std__shared_ptrT_IFitObserver_t swig_types[288] -#define SWIGTYPE_p_std__shared_ptrT_IMultiLayerBuilder_t swig_types[289] -#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[290] -#define SWIGTYPE_p_std__vectorT_AxesUnitsWrap__AxesUnits_std__allocatorT_AxesUnitsWrap__AxesUnits_t_t swig_types[291] -#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[292] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[293] -#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[294] -#define SWIGTYPE_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t swig_types[295] -#define SWIGTYPE_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator swig_types[296] -#define SWIGTYPE_p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t swig_types[297] -#define SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t swig_types[298] -#define SWIGTYPE_p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t swig_types[299] -#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[300] -#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[301] -#define SWIGTYPE_p_std__vectorT_IParticle_const_p_std__allocatorT_IParticle_const_p_t_t swig_types[302] -#define SWIGTYPE_p_std__vectorT_Material_const_p_std__allocatorT_Material_const_p_t_t swig_types[303] -#define SWIGTYPE_p_std__vectorT_ParameterSample_std__allocatorT_ParameterSample_t_t swig_types[304] -#define SWIGTYPE_p_std__vectorT_PolygonalTopology_std__allocatorT_PolygonalTopology_t_t swig_types[305] -#define SWIGTYPE_p_std__vectorT_RealParameter_p_std__allocatorT_RealParameter_p_t_t swig_types[306] -#define SWIGTYPE_p_std__vectorT_SimulationElement_std__allocatorT_SimulationElement_t_t swig_types[307] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[308] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[309] -#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[310] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[311] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[312] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[313] -#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[314] -#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[315] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[316] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[317] -#define SWIGTYPE_p_unsigned_char swig_types[318] -#define SWIGTYPE_p_unsigned_int swig_types[319] -#define SWIGTYPE_p_unsigned_long_long swig_types[320] -#define SWIGTYPE_p_unsigned_short swig_types[321] -#define SWIGTYPE_p_value_type swig_types[322] -static swig_type_info *swig_types[324]; -static swig_module_info swig_module = {swig_types, 323, 0, 0, 0, 0}; +#define SWIGTYPE_p_Fit__Parameters swig_types[62] +#define SWIGTYPE_p_FixedBinAxis swig_types[63] +#define SWIGTYPE_p_FootprintFactorGaussian swig_types[64] +#define SWIGTYPE_p_FootprintFactorSquare swig_types[65] +#define SWIGTYPE_p_FormFactorAnisoPyramid swig_types[66] +#define SWIGTYPE_p_FormFactorBox swig_types[67] +#define SWIGTYPE_p_FormFactorCone swig_types[68] +#define SWIGTYPE_p_FormFactorCone6 swig_types[69] +#define SWIGTYPE_p_FormFactorCoreShell swig_types[70] +#define SWIGTYPE_p_FormFactorCrystal swig_types[71] +#define SWIGTYPE_p_FormFactorCuboctahedron swig_types[72] +#define SWIGTYPE_p_FormFactorCylinder swig_types[73] +#define SWIGTYPE_p_FormFactorDWBA swig_types[74] +#define SWIGTYPE_p_FormFactorDWBAPol swig_types[75] +#define SWIGTYPE_p_FormFactorDecoratorDebyeWaller swig_types[76] +#define SWIGTYPE_p_FormFactorDecoratorMaterial swig_types[77] +#define SWIGTYPE_p_FormFactorDecoratorPositionFactor swig_types[78] +#define SWIGTYPE_p_FormFactorDecoratorRotation swig_types[79] +#define SWIGTYPE_p_FormFactorDodecahedron swig_types[80] +#define SWIGTYPE_p_FormFactorDot swig_types[81] +#define SWIGTYPE_p_FormFactorEllipsoidalCylinder swig_types[82] +#define SWIGTYPE_p_FormFactorFullSphere swig_types[83] +#define SWIGTYPE_p_FormFactorFullSpheroid swig_types[84] +#define SWIGTYPE_p_FormFactorGauss swig_types[85] +#define SWIGTYPE_p_FormFactorHemiEllipsoid swig_types[86] +#define SWIGTYPE_p_FormFactorIcosahedron swig_types[87] +#define SWIGTYPE_p_FormFactorLongBoxGauss swig_types[88] +#define SWIGTYPE_p_FormFactorLongBoxLorentz swig_types[89] +#define SWIGTYPE_p_FormFactorLongRipple1Gauss swig_types[90] +#define SWIGTYPE_p_FormFactorLongRipple1Lorentz swig_types[91] +#define SWIGTYPE_p_FormFactorLongRipple2Gauss swig_types[92] +#define SWIGTYPE_p_FormFactorLongRipple2Lorentz swig_types[93] +#define SWIGTYPE_p_FormFactorLorentz swig_types[94] +#define SWIGTYPE_p_FormFactorPolygonalPrism swig_types[95] +#define SWIGTYPE_p_FormFactorPolygonalSurface swig_types[96] +#define SWIGTYPE_p_FormFactorPolyhedron swig_types[97] +#define SWIGTYPE_p_FormFactorPrism3 swig_types[98] +#define SWIGTYPE_p_FormFactorPrism6 swig_types[99] +#define SWIGTYPE_p_FormFactorPyramid swig_types[100] +#define SWIGTYPE_p_FormFactorRipple1 swig_types[101] +#define SWIGTYPE_p_FormFactorRipple2 swig_types[102] +#define SWIGTYPE_p_FormFactorSphereGaussianRadius swig_types[103] +#define SWIGTYPE_p_FormFactorSphereLogNormalRadius swig_types[104] +#define SWIGTYPE_p_FormFactorSphereUniformRadius swig_types[105] +#define SWIGTYPE_p_FormFactorTetrahedron swig_types[106] +#define SWIGTYPE_p_FormFactorTruncatedCube swig_types[107] +#define SWIGTYPE_p_FormFactorTruncatedSphere swig_types[108] +#define SWIGTYPE_p_FormFactorTruncatedSpheroid swig_types[109] +#define SWIGTYPE_p_FormFactorWeighted swig_types[110] +#define SWIGTYPE_p_GISASSimulation swig_types[111] +#define SWIGTYPE_p_HexagonalLattice swig_types[112] +#define SWIGTYPE_p_Histogram1D swig_types[113] +#define SWIGTYPE_p_Histogram2D swig_types[114] +#define SWIGTYPE_p_HorizontalLine swig_types[115] +#define SWIGTYPE_p_IAbstractParticle swig_types[116] +#define SWIGTYPE_p_IAxis swig_types[117] +#define SWIGTYPE_p_IBackground swig_types[118] +#define SWIGTYPE_p_IChiSquaredModule swig_types[119] +#define SWIGTYPE_p_ICloneable swig_types[120] +#define SWIGTYPE_p_IClusteredParticles swig_types[121] +#define SWIGTYPE_p_IDetector swig_types[122] +#define SWIGTYPE_p_IDetector2D swig_types[123] +#define SWIGTYPE_p_IDetectorResolution swig_types[124] +#define SWIGTYPE_p_IDistribution1D swig_types[125] +#define SWIGTYPE_p_IFTDecayFunction1D swig_types[126] +#define SWIGTYPE_p_IFTDecayFunction2D swig_types[127] +#define SWIGTYPE_p_IFTDistribution1D swig_types[128] +#define SWIGTYPE_p_IFTDistribution2D swig_types[129] +#define SWIGTYPE_p_IFactoryT_std__string_IMultiLayerBuilder_t swig_types[130] +#define SWIGTYPE_p_IFactoryT_std__string_Simulation_t swig_types[131] +#define SWIGTYPE_p_IFitObserver swig_types[132] +#define SWIGTYPE_p_IFitParameter swig_types[133] +#define SWIGTYPE_p_IFitStrategy swig_types[134] +#define SWIGTYPE_p_IFootprintFactor swig_types[135] +#define SWIGTYPE_p_IFormFactor swig_types[136] +#define SWIGTYPE_p_IFormFactorBorn swig_types[137] +#define SWIGTYPE_p_IFormFactorDecorator swig_types[138] +#define SWIGTYPE_p_IHistogram swig_types[139] +#define SWIGTYPE_p_IIntensityFunction swig_types[140] +#define SWIGTYPE_p_IIntensityNormalizer swig_types[141] +#define SWIGTYPE_p_IInterferenceFunction swig_types[142] +#define SWIGTYPE_p_ILayout swig_types[143] +#define SWIGTYPE_p_IMinimizer swig_types[144] +#define SWIGTYPE_p_IMultiLayerBuilder swig_types[145] +#define SWIGTYPE_p_INamed swig_types[146] +#define SWIGTYPE_p_INode swig_types[147] +#define SWIGTYPE_p_INodeVisitor swig_types[148] +#define SWIGTYPE_p_IObservable swig_types[149] +#define SWIGTYPE_p_IObserver swig_types[150] +#define SWIGTYPE_p_IParameterT_double_t swig_types[151] +#define SWIGTYPE_p_IParameterized swig_types[152] +#define SWIGTYPE_p_IParticle swig_types[153] +#define SWIGTYPE_p_IPixel swig_types[154] +#define SWIGTYPE_p_IResolutionFunction2D swig_types[155] +#define SWIGTYPE_p_IRotation swig_types[156] +#define SWIGTYPE_p_ISample swig_types[157] +#define SWIGTYPE_p_ISelectionRule swig_types[158] +#define SWIGTYPE_p_IShape2D swig_types[159] +#define SWIGTYPE_p_ISquaredFunction swig_types[160] +#define SWIGTYPE_p_IUnitConverter swig_types[161] +#define SWIGTYPE_p_IdentityRotation swig_types[162] +#define SWIGTYPE_p_Instrument swig_types[163] +#define SWIGTYPE_p_IntensityDataIOFactory swig_types[164] +#define SWIGTYPE_p_IntensityFunctionLog swig_types[165] +#define SWIGTYPE_p_IntensityFunctionSqrt swig_types[166] +#define SWIGTYPE_p_IntensityNormalizer swig_types[167] +#define SWIGTYPE_p_IntensityScaleAndShiftNormalizer swig_types[168] +#define SWIGTYPE_p_InterferenceFunction1DLattice swig_types[169] +#define SWIGTYPE_p_InterferenceFunction2DLattice swig_types[170] +#define SWIGTYPE_p_InterferenceFunction2DParaCrystal swig_types[171] +#define SWIGTYPE_p_InterferenceFunction2DSuperLattice swig_types[172] +#define SWIGTYPE_p_InterferenceFunctionFinite2DLattice swig_types[173] +#define SWIGTYPE_p_InterferenceFunctionNone swig_types[174] +#define SWIGTYPE_p_InterferenceFunctionRadialParaCrystal swig_types[175] +#define SWIGTYPE_p_IsGISAXSDetector swig_types[176] +#define SWIGTYPE_p_Lattice swig_types[177] +#define SWIGTYPE_p_Lattice1DParameters swig_types[178] +#define SWIGTYPE_p_Lattice2D swig_types[179] +#define SWIGTYPE_p_Lattice2D__ReciprocalBases swig_types[180] +#define SWIGTYPE_p_Layer swig_types[181] +#define SWIGTYPE_p_LayerInterface swig_types[182] +#define SWIGTYPE_p_LayerRoughness swig_types[183] +#define SWIGTYPE_p_Line swig_types[184] +#define SWIGTYPE_p_Material swig_types[185] +#define SWIGTYPE_p_MesoCrystal swig_types[186] +#define SWIGTYPE_p_MultiLayer swig_types[187] +#define SWIGTYPE_p_OffSpecSimulation swig_types[188] +#define SWIGTYPE_p_OutputDataIteratorT_double_OutputDataT_double_t_t swig_types[189] +#define SWIGTYPE_p_OutputDataIteratorT_double_const_OutputDataT_double_t_const_t swig_types[190] +#define SWIGTYPE_p_OutputDataT_CumulativeValue_t swig_types[191] +#define SWIGTYPE_p_OutputDataT_bool_t swig_types[192] +#define SWIGTYPE_p_OutputDataT_double_t swig_types[193] +#define SWIGTYPE_p_ParameterDistribution swig_types[194] +#define SWIGTYPE_p_ParameterPool swig_types[195] +#define SWIGTYPE_p_ParameterSample swig_types[196] +#define SWIGTYPE_p_Particle swig_types[197] +#define SWIGTYPE_p_ParticleComposition swig_types[198] +#define SWIGTYPE_p_ParticleCoreShell swig_types[199] +#define SWIGTYPE_p_ParticleDistribution swig_types[200] +#define SWIGTYPE_p_ParticleLayout swig_types[201] +#define SWIGTYPE_p_ParticleLimits swig_types[202] +#define SWIGTYPE_p_PoissonNoiseBackground swig_types[203] +#define SWIGTYPE_p_Polygon swig_types[204] +#define SWIGTYPE_p_PolygonPrivate swig_types[205] +#define SWIGTYPE_p_PolygonalTopology swig_types[206] +#define SWIGTYPE_p_PolyhedralEdge swig_types[207] +#define SWIGTYPE_p_PolyhedralFace swig_types[208] +#define SWIGTYPE_p_PolyhedralTopology swig_types[209] +#define SWIGTYPE_p_ProgressHandler__Callback_t swig_types[210] +#define SWIGTYPE_p_RealLimits swig_types[211] +#define SWIGTYPE_p_RealParameter swig_types[212] +#define SWIGTYPE_p_Rectangle swig_types[213] +#define SWIGTYPE_p_RectangularDetector swig_types[214] +#define SWIGTYPE_p_RectangularPixel swig_types[215] +#define SWIGTYPE_p_RegionOfInterest swig_types[216] +#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[217] +#define SWIGTYPE_p_RotationEuler swig_types[218] +#define SWIGTYPE_p_RotationX swig_types[219] +#define SWIGTYPE_p_RotationY swig_types[220] +#define SWIGTYPE_p_RotationZ swig_types[221] +#define SWIGTYPE_p_SafePointerVectorT_FitObject_t__iterator swig_types[222] +#define SWIGTYPE_p_SafePointerVectorT_IParticle_const_t swig_types[223] +#define SWIGTYPE_p_SafePointerVectorT_IParticle_t swig_types[224] +#define SWIGTYPE_p_SafePointerVectorT_Layer_t swig_types[225] +#define SWIGTYPE_p_SampleBuilderFactory swig_types[226] +#define SWIGTYPE_p_SimpleSelectionRule swig_types[227] +#define SWIGTYPE_p_Simulation swig_types[228] +#define SWIGTYPE_p_Simulation2D swig_types[229] +#define SWIGTYPE_p_SimulationFactory swig_types[230] +#define SWIGTYPE_p_SimulationOptions swig_types[231] +#define SWIGTYPE_p_SimulationResult swig_types[232] +#define SWIGTYPE_p_SlicedParticle swig_types[233] +#define SWIGTYPE_p_SlicingEffects swig_types[234] +#define SWIGTYPE_p_SpecularDetector1D swig_types[235] +#define SWIGTYPE_p_SpecularSimulation swig_types[236] +#define SWIGTYPE_p_SphericalDetector swig_types[237] +#define SWIGTYPE_p_SphericalPixel swig_types[238] +#define SWIGTYPE_p_SquareLattice swig_types[239] +#define SWIGTYPE_p_SquaredFunctionDefault swig_types[240] +#define SWIGTYPE_p_SquaredFunctionGaussianError swig_types[241] +#define SWIGTYPE_p_SquaredFunctionMeanSquaredError swig_types[242] +#define SWIGTYPE_p_SquaredFunctionSimError swig_types[243] +#define SWIGTYPE_p_SquaredFunctionSystematicError swig_types[244] +#define SWIGTYPE_p_ThreadInfo swig_types[245] +#define SWIGTYPE_p_Transform3D swig_types[246] +#define SWIGTYPE_p_VariableBinAxis swig_types[247] +#define SWIGTYPE_p_VerticalLine swig_types[248] +#define SWIGTYPE_p_WavevectorInfo swig_types[249] +#define SWIGTYPE_p_ZLimits swig_types[250] +#define SWIGTYPE_p_allocator_type swig_types[251] +#define SWIGTYPE_p_bool swig_types[252] +#define SWIGTYPE_p_char swig_types[253] +#define SWIGTYPE_p_const_iterator swig_types[254] +#define SWIGTYPE_p_const_reference swig_types[255] +#define SWIGTYPE_p_container_t swig_types[256] +#define SWIGTYPE_p_corr_matrix_t swig_types[257] +#define SWIGTYPE_p_difference_type swig_types[258] +#define SWIGTYPE_p_double swig_types[259] +#define SWIGTYPE_p_int swig_types[260] +#define SWIGTYPE_p_iterator swig_types[261] +#define SWIGTYPE_p_long_long swig_types[262] +#define SWIGTYPE_p_observer_t swig_types[263] +#define SWIGTYPE_p_observerlist_t swig_types[264] +#define SWIGTYPE_p_p_PyObject swig_types[265] +#define SWIGTYPE_p_reference swig_types[266] +#define SWIGTYPE_p_short swig_types[267] +#define SWIGTYPE_p_signed_char swig_types[268] +#define SWIGTYPE_p_size_type swig_types[269] +#define SWIGTYPE_p_std__allocatorT_AxisInfo_t swig_types[270] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_double_t_t swig_types[271] +#define SWIGTYPE_p_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t swig_types[272] +#define SWIGTYPE_p_std__allocatorT_IFormFactor_p_t swig_types[273] +#define SWIGTYPE_p_std__allocatorT_INode_const_p_t swig_types[274] +#define SWIGTYPE_p_std__allocatorT_INode_p_t swig_types[275] +#define SWIGTYPE_p_std__allocatorT_ParameterSample_t swig_types[276] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[277] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[278] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[279] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[280] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[281] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[282] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[283] +#define SWIGTYPE_p_std__complexT_double_t swig_types[284] +#define SWIGTYPE_p_std__functionT_IMultiLayerBuilder_pfF_t swig_types[285] +#define SWIGTYPE_p_std__functionT_Simulation_pfF_t swig_types[286] +#define SWIGTYPE_p_std__functionT_void_fF_t swig_types[287] +#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[288] +#define SWIGTYPE_p_std__invalid_argument swig_types[289] +#define SWIGTYPE_p_std__mapT_std__string_std__string_t__const_iterator swig_types[290] +#define SWIGTYPE_p_std__shared_ptrT_IFitObserver_t swig_types[291] +#define SWIGTYPE_p_std__shared_ptrT_IMultiLayerBuilder_t swig_types[292] +#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[293] +#define SWIGTYPE_p_std__vectorT_AxesUnitsWrap__AxesUnits_std__allocatorT_AxesUnitsWrap__AxesUnits_t_t swig_types[294] +#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[295] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_double_t_std__allocatorT_BasicVector3DT_double_t_t_t swig_types[296] +#define SWIGTYPE_p_std__vectorT_BasicVector3DT_std__complexT_double_t_t_std__allocatorT_BasicVector3DT_std__complexT_double_t_t_t_t swig_types[297] +#define SWIGTYPE_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t swig_types[298] +#define SWIGTYPE_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator swig_types[299] +#define SWIGTYPE_p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t swig_types[300] +#define SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator swig_types[301] +#define SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator swig_types[302] +#define SWIGTYPE_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t swig_types[303] +#define SWIGTYPE_p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t swig_types[304] +#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[305] +#define SWIGTYPE_p_std__vectorT_INode_p_std__allocatorT_INode_p_t_t swig_types[306] +#define SWIGTYPE_p_std__vectorT_IParticle_const_p_std__allocatorT_IParticle_const_p_t_t swig_types[307] +#define SWIGTYPE_p_std__vectorT_Material_const_p_std__allocatorT_Material_const_p_t_t swig_types[308] +#define SWIGTYPE_p_std__vectorT_ParameterSample_std__allocatorT_ParameterSample_t_t swig_types[309] +#define SWIGTYPE_p_std__vectorT_PolygonalTopology_std__allocatorT_PolygonalTopology_t_t swig_types[310] +#define SWIGTYPE_p_std__vectorT_RealParameter_p_std__allocatorT_RealParameter_p_t_t swig_types[311] +#define SWIGTYPE_p_std__vectorT_SimulationElement_std__allocatorT_SimulationElement_t_t swig_types[312] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[313] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[314] +#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[315] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[316] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[317] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[318] +#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[319] +#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[320] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[321] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[322] +#define SWIGTYPE_p_unsigned_char swig_types[323] +#define SWIGTYPE_p_unsigned_int swig_types[324] +#define SWIGTYPE_p_unsigned_long_long swig_types[325] +#define SWIGTYPE_p_unsigned_short swig_types[326] +#define SWIGTYPE_p_value_type swig_types[327] +static swig_type_info *swig_types[329]; +static swig_module_info swig_module = {swig_types, 328, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -6674,11 +6679,12 @@ SWIGINTERN void std_vector_Sl_std_string_Sg__insert__SWIG_1(std::vector< std::st #include "FTDistributions2D.h" #include "FitObject.h" #include "FitOptions.h" +#include "IFitParameter.h" +#include "FitParameterSet.h" #include "FitParameter.h" #include "FitSuite.h" #include "FitSuiteImpl.h" #include "FitSuiteObjects.h" -#include "FitParameterSet.h" #include "FixedBinAxis.h" #include "FootprintFactorGaussian.h" #include "FootprintFactorSquare.h" @@ -7383,6 +7389,26 @@ struct SWIG_null_deleter { #define SWIG_NO_NULL_DELETER_SWIG_BUILTIN_INIT + +SWIGINTERN int +SWIG_AsVal_bool (PyObject *obj, bool *val) +{ + int r; + if (!PyBool_Check(obj)) + return SWIG_ERROR; + r = PyObject_IsTrue(obj); + if (r == -1) + return SWIG_ERROR; + if (val) *val = r ? true : false; + return SWIG_OK; +} + +SWIGINTERN IFitParameter const *FitParameterSet___getitem____SWIG_0(FitParameterSet const *self,std::string name){ + return (*(self))[name]; + } +SWIGINTERN IFitParameter const *FitParameterSet___getitem____SWIG_1(FitParameterSet const *self,size_t index){ + return (*(self))[index]; + } SWIGINTERN RealParameter *IMultiLayerBuilder_registerParameter(IMultiLayerBuilder *self,std::string const &name,int64_t parpointer){ return &((self)->IParameterized::registerParameter(name, (double*)parpointer)); } SWIGINTERN void IMultiLayerBuilder_setParameterValue(IMultiLayerBuilder *self,std::string const &name,double value){ @@ -7401,20 +7427,6 @@ SWIGINTERN void IMultiLayerBuilder_onChange(IMultiLayerBuilder *self){ } SWIGINTERN bool IMultiLayerBuilder_isPythonBuilder(){ return true; } - -SWIGINTERN int -SWIG_AsVal_bool (PyObject *obj, bool *val) -{ - int r; - if (!PyBool_Check(obj)) - return SWIG_ERROR; - r = PyObject_IsTrue(obj); - if (r == -1) - return SWIG_ERROR; - if (val) *val = r ? true : false; - return SWIG_OK; -} - SWIGINTERN double FixedBinAxis___getitem__(FixedBinAxis *self,unsigned int i){ return (*(self))[i]; } namespace swig { @@ -44905,6 +44917,1882 @@ SWIGINTERN PyObject *FitOptions_swigregister(PyObject *SWIGUNUSEDPARM(self), PyO return SWIG_Py_Void(); } +SWIGINTERN PyObject *_wrap_new_IFitParameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)":new_IFitParameter")) SWIG_fail; + result = (IFitParameter *)new IFitParameter(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_IFitParameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::string *arg1 = 0 ; + double arg2 ; + AttLimits *arg3 = 0 ; + double arg4 ; + int res1 = SWIG_OLDOBJ ; + double val2 ; + int ecode2 = 0 ; + void *argp3 = 0 ; + int res3 = 0 ; + double val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:new_IFitParameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + { + std::string *ptr = (std::string *)0; + res1 = SWIG_AsPtr_std_string(obj0, &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + arg1 = ptr; + } + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_AttLimits, 0 | 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); + } + if (!argp3) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); + } + arg3 = reinterpret_cast< AttLimits * >(argp3); + ecode4 = SWIG_AsVal_double(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_IFitParameter" "', argument " "4"" of type '" "double""'"); + } + arg4 = static_cast< double >(val4); + result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3,arg4); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::string *arg1 = 0 ; + double arg2 ; + AttLimits *arg3 = 0 ; + int res1 = SWIG_OLDOBJ ; + double val2 ; + int ecode2 = 0 ; + void *argp3 = 0 ; + int res3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:new_IFitParameter",&obj0,&obj1,&obj2)) SWIG_fail; + { + std::string *ptr = (std::string *)0; + res1 = SWIG_AsPtr_std_string(obj0, &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + arg1 = ptr; + } + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_AttLimits, 0 | 0); + if (!SWIG_IsOK(res3)) { + SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); + } + if (!argp3) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); + } + arg3 = reinterpret_cast< AttLimits * >(argp3); + result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + std::string *arg1 = 0 ; + double arg2 ; + int res1 = SWIG_OLDOBJ ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:new_IFitParameter",&obj0,&obj1)) SWIG_fail; + { + std::string *ptr = (std::string *)0; + res1 = SWIG_AsPtr_std_string(obj0, &ptr); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); + } + arg1 = ptr; + } + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[5] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 4) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 0) { + return _wrap_new_IFitParameter__SWIG_0(self, args); + } + if (argc == 2) { + int _v; + int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_double(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_IFitParameter__SWIG_3(self, args); + } + } + } + if (argc == 3) { + int _v; + int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_double(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_AttLimits, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_new_IFitParameter__SWIG_2(self, args); + } + } + } + } + if (argc == 4) { + int _v; + int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_double(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_AttLimits, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_double(argv[3], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_new_IFitParameter__SWIG_1(self, args); + } + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_IFitParameter'.\n" + " Possible C/C++ prototypes are:\n" + " IFitParameter::IFitParameter()\n" + " IFitParameter::IFitParameter(std::string const &,double,AttLimits const &,double)\n" + " IFitParameter::IFitParameter(std::string const &,double,AttLimits const &)\n" + " IFitParameter::IFitParameter(std::string const &,double)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_delete_IFitParameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_IFitParameter",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IFitParameter" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_clone",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_clone" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (IFitParameter *)((IFitParameter const *)arg1)->clone(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_name",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_name" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = ((IFitParameter const *)arg1)->name(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + std::string *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setName",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setName" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_setName" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_setName" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = (IFitParameter *) &(arg1)->setName((std::string const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_startValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_startValue",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_startValue" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (double)((IFitParameter const *)arg1)->startValue(); + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setStartValue",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setStartValue" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setStartValue" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setStartValue(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_value",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_value" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (double)((IFitParameter const *)arg1)->value(); + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setValue",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setValue" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setValue" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setValue(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_addPattern(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + std::string *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_addPattern",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_addPattern" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_addPattern" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_addPattern" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = (IFitParameter *) &(arg1)->addPattern((std::string const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_step(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_step",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_step" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (double)((IFitParameter const *)arg1)->step(); + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setStep(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setStep",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setStep" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setStep" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + result = (IFitParameter *) &(arg1)->setStep(arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_error(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_error",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_error" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (double)((IFitParameter const *)arg1)->error(); + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setError",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setError" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setError" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + (arg1)->setError(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_limits__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + AttLimits *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_limits",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_limits" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (AttLimits *) &((IFitParameter const *)arg1)->limits(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_AttLimits, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_limits__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + AttLimits *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_limits",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_limits" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (AttLimits *) &(arg1)->limits(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_AttLimits, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_limits(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 1) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IFitParameter, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_IFitParameter_limits__SWIG_1(self, args); + } + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IFitParameter, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_IFitParameter_limits__SWIG_0(self, args); + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'IFitParameter_limits'.\n" + " Possible C/C++ prototypes are:\n" + " IFitParameter::limits() const\n" + " IFitParameter::limits()\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setLimits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + AttLimits *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setLimits",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLimits" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_AttLimits, 0 | 0); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_setLimits" "', argument " "2"" of type '" "AttLimits const &""'"); + } + if (!argp2) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_setLimits" "', argument " "2"" of type '" "AttLimits const &""'"); + } + arg2 = reinterpret_cast< AttLimits * >(argp2); + result = (IFitParameter *) &(arg1)->setLimits((AttLimits const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setLowerLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setLowerLimited",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLowerLimited" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setLowerLimited" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + result = (IFitParameter *) &(arg1)->setLowerLimited(arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setPositive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setPositive",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setPositive" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (IFitParameter *) &(arg1)->setPositive(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setNonnegative(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setNonnegative",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setNonnegative" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (IFitParameter *) &(arg1)->setNonnegative(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setUpperLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setUpperLimited",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setUpperLimited" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setUpperLimited" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + result = (IFitParameter *) &(arg1)->setUpperLimited(arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + double arg2 ; + double arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + double val2 ; + int ecode2 = 0 ; + double val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:IFitParameter_setLimited",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLimited" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + ecode2 = SWIG_AsVal_double(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setLimited" "', argument " "2"" of type '" "double""'"); + } + arg2 = static_cast< double >(val2); + ecode3 = SWIG_AsVal_double(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IFitParameter_setLimited" "', argument " "3"" of type '" "double""'"); + } + arg3 = static_cast< double >(val3); + result = (IFitParameter *) &(arg1)->setLimited(arg2,arg3); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_setFixed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setFixed",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setFixed" "', argument " "1"" of type '" "IFitParameter *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = (IFitParameter *) &(arg1)->setFixed(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_IFitParameter_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + IFitParameter *arg1 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::string result; + + if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_toString",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_toString" "', argument " "1"" of type '" "IFitParameter const *""'"); + } + arg1 = reinterpret_cast< IFitParameter * >(argp1); + result = ((IFitParameter const *)arg1)->toString(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *IFitParameter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_IFitParameter, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_new_FitParameterSet(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)":new_FitParameterSet")) SWIG_fail; + result = (FitParameterSet *)new FitParameterSet(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FitParameterSet, SWIG_POINTER_NEW | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_FitParameterSet(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_FitParameterSet",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FitParameterSet" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + delete arg1; + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_clear",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_clear" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + (arg1)->clear(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_size",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_size" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->size(); + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_begin",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_begin" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = (arg1)->begin(); + resultobj = SWIG_NewPointerObj((new FitParameterSet::iterator(static_cast< const FitParameterSet::iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_begin",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_begin" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->begin(); + resultobj = SWIG_NewPointerObj((new FitParameterSet::const_iterator(static_cast< const FitParameterSet::const_iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_begin(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 1) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_begin__SWIG_0(self, args); + } + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_begin__SWIG_1(self, args); + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_begin'.\n" + " Possible C/C++ prototypes are:\n" + " FitParameterSet::begin()\n" + " FitParameterSet::begin() const\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_end",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_end" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = (arg1)->end(); + resultobj = SWIG_NewPointerObj((new FitParameterSet::iterator(static_cast< const FitParameterSet::iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_end",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_end" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->end(); + resultobj = SWIG_NewPointerObj((new FitParameterSet::const_iterator(static_cast< const FitParameterSet::const_iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_end(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[2] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 1) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_end__SWIG_0(self, args); + } + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_end__SWIG_1(self, args); + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_end'.\n" + " Possible C/C++ prototypes are:\n" + " FitParameterSet::end()\n" + " FitParameterSet::end() const\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_addFitParameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + IFitParameter *arg2 = (IFitParameter *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_addFitParameter",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_addFitParameter" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_addFitParameter" "', argument " "2"" of type '" "IFitParameter *""'"); + } + arg2 = reinterpret_cast< IFitParameter * >(argp2); + (arg1)->addFitParameter(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::string *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_fitParameter",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fitParameter" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = (IFitParameter *)((FitParameterSet const *)arg1)->fitParameter((std::string const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::string *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_fitParameter",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fitParameter" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; + } + result = (IFitParameter *)(arg1)->fitParameter((std::string const &)*arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_fitParameter__SWIG_1(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_fitParameter__SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_fitParameter'.\n" + " Possible C/C++ prototypes are:\n" + " FitParameterSet::fitParameter(std::string const &) const\n" + " FitParameterSet::fitParameter(std::string const &)\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< double,std::allocator< double > > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_values",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_values" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->values(); + resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_setValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::vector< double,std::allocator< double > > *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setValues",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setValues" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + arg2 = ptr; + } + (arg1)->setValues((std::vector< double,std::allocator< double > > const &)*arg2); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::vector< double,std::allocator< double > > *arg2 = 0 ; + double arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + double val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:FitParameterSet_valuesDifferFrom",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + arg2 = ptr; + } + ecode3 = SWIG_AsVal_double(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "3"" of type '" "double""'"); + } + arg3 = static_cast< double >(val3); + result = (bool)((FitParameterSet const *)arg1)->valuesDifferFrom((std::vector< double,std::allocator< double > > const &)*arg2,arg3); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::vector< double,std::allocator< double > > *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_valuesDifferFrom",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + arg2 = ptr; + } + result = (bool)((FitParameterSet const *)arg1)->valuesDifferFrom((std::vector< double,std::allocator< double > > const &)*arg2); + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[4] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 3) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet_valuesDifferFrom__SWIG_1(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_double(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_FitParameterSet_valuesDifferFrom__SWIG_0(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_valuesDifferFrom'.\n" + " Possible C/C++ prototypes are:\n" + " FitParameterSet::valuesDifferFrom(std::vector< double,std::allocator< double > > const &,double) const\n" + " FitParameterSet::valuesDifferFrom(std::vector< double,std::allocator< double > > const &) const\n"); + return 0; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_errors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< double,std::allocator< double > > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_errors",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_errors" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->errors(); + resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_setErrors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::vector< double,std::allocator< double > > *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setErrors",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setErrors" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setErrors" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setErrors" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); + } + arg2 = ptr; + } + (arg1)->setErrors((std::vector< double,std::allocator< double > > const &)*arg2); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_freeFitParameterCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_freeFitParameterCount",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_freeFitParameterCount" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->freeFitParameterCount(); + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_fixAll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_fixAll",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fixAll" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + (arg1)->fixAll(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_releaseAll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_releaseAll",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_releaseAll" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + (arg1)->releaseAll(); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_setFixed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::vector< std::string,std::allocator< std::string > > *arg2 = 0 ; + bool arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + bool val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:FitParameterSet_setFixed",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setFixed" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); + } + arg2 = ptr; + } + ecode3 = SWIG_AsVal_bool(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "FitParameterSet_setFixed" "', argument " "3"" of type '" "bool""'"); + } + arg3 = static_cast< bool >(val3); + (arg1)->setFixed((std::vector< std::string,std::allocator< std::string > > const &)*arg2,arg3); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_correlationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + FitParameterSet::corr_matrix_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_correlationMatrix",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_correlationMatrix" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->correlationMatrix(); + resultobj = swig::from(static_cast< std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_setCorrelationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + FitParameterSet::corr_matrix_t *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setCorrelationMatrix",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "1"" of type '" "FitParameterSet *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "2"" of type '" "FitParameterSet::corr_matrix_t const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "2"" of type '" "FitParameterSet::corr_matrix_t const &""'"); + } + arg2 = ptr; + } + (arg1)->setCorrelationMatrix((FitParameterSet::corr_matrix_t const &)*arg2); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet_fitParametersNewKernel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + Fit::Parameters result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_fitParametersNewKernel",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fitParametersNewKernel" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + result = ((FitParameterSet const *)arg1)->fitParametersNewKernel(); + resultobj = SWIG_NewPointerObj((new Fit::Parameters(static_cast< const Fit::Parameters& >(result))), SWIGTYPE_p_Fit__Parameters, SWIG_POINTER_OWN | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + std::string arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet___getitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet___getitem__" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + { + std::string *ptr = (std::string *)0; + int res = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res) || !ptr) { + SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "FitParameterSet___getitem__" "', argument " "2"" of type '" "std::string""'"); + } + arg2 = *ptr; + if (SWIG_IsNewObj(res)) delete ptr; + } + result = (IFitParameter *)FitParameterSet___getitem____SWIG_0((FitParameterSet const *)arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitParameterSet *arg1 = (FitParameterSet *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + IFitParameter *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet___getitem__",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet___getitem__" "', argument " "1"" of type '" "FitParameterSet const *""'"); + } + arg1 = reinterpret_cast< FitParameterSet * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitParameterSet___getitem__" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + result = (IFitParameter *)FitParameterSet___getitem____SWIG_1((FitParameterSet const *)arg1,arg2); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_FitParameterSet___getitem__(PyObject *self, PyObject *args) { + Py_ssize_t argc; + PyObject *argv[3] = { + 0 + }; + Py_ssize_t ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = args ? PyObject_Length(args) : 0; + for (ii = 0; (ii < 2) && (ii < argc); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_FitParameterSet___getitem____SWIG_1(self, args); + } + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_FitParameterSet___getitem____SWIG_0(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet___getitem__'.\n" + " Possible C/C++ prototypes are:\n" + " FitParameterSet::__getitem__(std::string) const\n" + " FitParameterSet::__getitem__(size_t) const\n"); + return 0; +} + + +SWIGINTERN PyObject *FitParameterSet_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_FitParameterSet, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + SWIGINTERN PyObject *_wrap_new_FitParameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FitParameter *result = 0 ; @@ -46884,22 +48772,22 @@ fail: } -SWIGINTERN PyObject *_wrap_FitSuite_minimizer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_FitSuite_minimizerName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FitSuite *arg1 = (FitSuite *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - IMinimizer *result = 0 ; + std::string result; - if (!PyArg_ParseTuple(args,(char *)"O:FitSuite_minimizer",&obj0)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"O:FitSuite_minimizerName",&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitSuite, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitSuite_minimizer" "', argument " "1"" of type '" "FitSuite const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitSuite_minimizerName" "', argument " "1"" of type '" "FitSuite const *""'"); } arg1 = reinterpret_cast< FitSuite * >(argp1); - result = (IMinimizer *)((FitSuite const *)arg1)->minimizer(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IMinimizer, 0 | 0 ); + result = ((FitSuite const *)arg1)->minimizerName(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; @@ -48263,6 +50151,28 @@ fail: } +SWIGINTERN PyObject *_wrap_FitSuiteObjects_residuals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + FitSuiteObjects *arg1 = (FitSuiteObjects *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + std::vector< double,std::allocator< double > > result; + + if (!PyArg_ParseTuple(args,(char *)"O:FitSuiteObjects_residuals",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitSuiteObjects, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitSuiteObjects_residuals" "', argument " "1"" of type '" "FitSuiteObjects const *""'"); + } + arg1 = reinterpret_cast< FitSuiteObjects * >(argp1); + result = ((FitSuiteObjects const *)arg1)->residuals(); + resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_FitSuiteObjects_setNfreeParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; FitSuiteObjects *arg1 = (FitSuiteObjects *) 0 ; @@ -119842,6 +121752,75 @@ static PyMethodDef SwigMethods[] = { { (char *)"FitOptions_stepFactor", _wrap_FitOptions_stepFactor, METH_VARARGS, (char *)"FitOptions_stepFactor(FitOptions self) -> double"}, { (char *)"FitOptions_setStepFactor", _wrap_FitOptions_setStepFactor, METH_VARARGS, (char *)"FitOptions_setStepFactor(FitOptions self, double step_factor)"}, { (char *)"FitOptions_swigregister", FitOptions_swigregister, METH_VARARGS, NULL}, + { (char *)"new_IFitParameter", _wrap_new_IFitParameter, METH_VARARGS, (char *)"\n" + "IFitParameter()\n" + "IFitParameter(std::string const & name, double value, AttLimits limits, double step=0.0)\n" + "IFitParameter(std::string const & name, double value, AttLimits limits)\n" + "new_IFitParameter(std::string const & name, double value) -> IFitParameter\n" + ""}, + { (char *)"delete_IFitParameter", _wrap_delete_IFitParameter, METH_VARARGS, (char *)"delete_IFitParameter(IFitParameter self)"}, + { (char *)"IFitParameter_clone", _wrap_IFitParameter_clone, METH_VARARGS, (char *)"IFitParameter_clone(IFitParameter self) -> IFitParameter"}, + { (char *)"IFitParameter_name", _wrap_IFitParameter_name, METH_VARARGS, (char *)"IFitParameter_name(IFitParameter self) -> std::string"}, + { (char *)"IFitParameter_setName", _wrap_IFitParameter_setName, METH_VARARGS, (char *)"IFitParameter_setName(IFitParameter self, std::string const & name) -> IFitParameter"}, + { (char *)"IFitParameter_startValue", _wrap_IFitParameter_startValue, METH_VARARGS, (char *)"IFitParameter_startValue(IFitParameter self) -> double"}, + { (char *)"IFitParameter_setStartValue", _wrap_IFitParameter_setStartValue, METH_VARARGS, (char *)"IFitParameter_setStartValue(IFitParameter self, double value)"}, + { (char *)"IFitParameter_value", _wrap_IFitParameter_value, METH_VARARGS, (char *)"IFitParameter_value(IFitParameter self) -> double"}, + { (char *)"IFitParameter_setValue", _wrap_IFitParameter_setValue, METH_VARARGS, (char *)"IFitParameter_setValue(IFitParameter self, double value)"}, + { (char *)"IFitParameter_addPattern", _wrap_IFitParameter_addPattern, METH_VARARGS, (char *)"IFitParameter_addPattern(IFitParameter self, std::string const & pattern) -> IFitParameter"}, + { (char *)"IFitParameter_step", _wrap_IFitParameter_step, METH_VARARGS, (char *)"IFitParameter_step(IFitParameter self) -> double"}, + { (char *)"IFitParameter_setStep", _wrap_IFitParameter_setStep, METH_VARARGS, (char *)"IFitParameter_setStep(IFitParameter self, double value) -> IFitParameter"}, + { (char *)"IFitParameter_error", _wrap_IFitParameter_error, METH_VARARGS, (char *)"IFitParameter_error(IFitParameter self) -> double"}, + { (char *)"IFitParameter_setError", _wrap_IFitParameter_setError, METH_VARARGS, (char *)"IFitParameter_setError(IFitParameter self, double value)"}, + { (char *)"IFitParameter_limits", _wrap_IFitParameter_limits, METH_VARARGS, (char *)"\n" + "limits() -> AttLimits\n" + "IFitParameter_limits(IFitParameter self) -> AttLimits\n" + ""}, + { (char *)"IFitParameter_setLimits", _wrap_IFitParameter_setLimits, METH_VARARGS, (char *)"IFitParameter_setLimits(IFitParameter self, AttLimits limits) -> IFitParameter"}, + { (char *)"IFitParameter_setLowerLimited", _wrap_IFitParameter_setLowerLimited, METH_VARARGS, (char *)"IFitParameter_setLowerLimited(IFitParameter self, double bound_value) -> IFitParameter"}, + { (char *)"IFitParameter_setPositive", _wrap_IFitParameter_setPositive, METH_VARARGS, (char *)"IFitParameter_setPositive(IFitParameter self) -> IFitParameter"}, + { (char *)"IFitParameter_setNonnegative", _wrap_IFitParameter_setNonnegative, METH_VARARGS, (char *)"IFitParameter_setNonnegative(IFitParameter self) -> IFitParameter"}, + { (char *)"IFitParameter_setUpperLimited", _wrap_IFitParameter_setUpperLimited, METH_VARARGS, (char *)"IFitParameter_setUpperLimited(IFitParameter self, double bound_value) -> IFitParameter"}, + { (char *)"IFitParameter_setLimited", _wrap_IFitParameter_setLimited, METH_VARARGS, (char *)"IFitParameter_setLimited(IFitParameter self, double left_bound_value, double right_bound_value) -> IFitParameter"}, + { (char *)"IFitParameter_setFixed", _wrap_IFitParameter_setFixed, METH_VARARGS, (char *)"IFitParameter_setFixed(IFitParameter self) -> IFitParameter"}, + { (char *)"IFitParameter_toString", _wrap_IFitParameter_toString, METH_VARARGS, (char *)"IFitParameter_toString(IFitParameter self) -> std::string"}, + { (char *)"IFitParameter_swigregister", IFitParameter_swigregister, METH_VARARGS, NULL}, + { (char *)"new_FitParameterSet", _wrap_new_FitParameterSet, METH_VARARGS, (char *)"new_FitParameterSet() -> FitParameterSet"}, + { (char *)"delete_FitParameterSet", _wrap_delete_FitParameterSet, METH_VARARGS, (char *)"delete_FitParameterSet(FitParameterSet self)"}, + { (char *)"FitParameterSet_clear", _wrap_FitParameterSet_clear, METH_VARARGS, (char *)"FitParameterSet_clear(FitParameterSet self)"}, + { (char *)"FitParameterSet_size", _wrap_FitParameterSet_size, METH_VARARGS, (char *)"FitParameterSet_size(FitParameterSet self) -> size_t"}, + { (char *)"FitParameterSet_begin", _wrap_FitParameterSet_begin, METH_VARARGS, (char *)"\n" + "begin() -> FitParameterSet::iterator\n" + "FitParameterSet_begin(FitParameterSet self) -> FitParameterSet::const_iterator\n" + ""}, + { (char *)"FitParameterSet_end", _wrap_FitParameterSet_end, METH_VARARGS, (char *)"\n" + "end() -> FitParameterSet::iterator\n" + "FitParameterSet_end(FitParameterSet self) -> FitParameterSet::const_iterator\n" + ""}, + { (char *)"FitParameterSet_addFitParameter", _wrap_FitParameterSet_addFitParameter, METH_VARARGS, (char *)"FitParameterSet_addFitParameter(FitParameterSet self, IFitParameter par)"}, + { (char *)"FitParameterSet_fitParameter", _wrap_FitParameterSet_fitParameter, METH_VARARGS, (char *)"\n" + "fitParameter(std::string const & name) -> IFitParameter\n" + "FitParameterSet_fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter\n" + ""}, + { (char *)"FitParameterSet_values", _wrap_FitParameterSet_values, METH_VARARGS, (char *)"FitParameterSet_values(FitParameterSet self) -> vdouble1d_t"}, + { (char *)"FitParameterSet_setValues", _wrap_FitParameterSet_setValues, METH_VARARGS, (char *)"FitParameterSet_setValues(FitParameterSet self, vdouble1d_t pars_values)"}, + { (char *)"FitParameterSet_valuesDifferFrom", _wrap_FitParameterSet_valuesDifferFrom, METH_VARARGS, (char *)"\n" + "valuesDifferFrom(vdouble1d_t par_values, double tolerance=2.0) -> bool\n" + "FitParameterSet_valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values) -> bool\n" + ""}, + { (char *)"FitParameterSet_errors", _wrap_FitParameterSet_errors, METH_VARARGS, (char *)"FitParameterSet_errors(FitParameterSet self) -> vdouble1d_t"}, + { (char *)"FitParameterSet_setErrors", _wrap_FitParameterSet_setErrors, METH_VARARGS, (char *)"FitParameterSet_setErrors(FitParameterSet self, vdouble1d_t pars_errors)"}, + { (char *)"FitParameterSet_freeFitParameterCount", _wrap_FitParameterSet_freeFitParameterCount, METH_VARARGS, (char *)"FitParameterSet_freeFitParameterCount(FitParameterSet self) -> size_t"}, + { (char *)"FitParameterSet_fixAll", _wrap_FitParameterSet_fixAll, METH_VARARGS, (char *)"FitParameterSet_fixAll(FitParameterSet self)"}, + { (char *)"FitParameterSet_releaseAll", _wrap_FitParameterSet_releaseAll, METH_VARARGS, (char *)"FitParameterSet_releaseAll(FitParameterSet self)"}, + { (char *)"FitParameterSet_setFixed", _wrap_FitParameterSet_setFixed, METH_VARARGS, (char *)"FitParameterSet_setFixed(FitParameterSet self, vector_string_t pars, bool is_fixed)"}, + { (char *)"FitParameterSet_correlationMatrix", _wrap_FitParameterSet_correlationMatrix, METH_VARARGS, (char *)"FitParameterSet_correlationMatrix(FitParameterSet self) -> vdouble2d_t"}, + { (char *)"FitParameterSet_setCorrelationMatrix", _wrap_FitParameterSet_setCorrelationMatrix, METH_VARARGS, (char *)"FitParameterSet_setCorrelationMatrix(FitParameterSet self, vdouble2d_t matrix)"}, + { (char *)"FitParameterSet_fitParametersNewKernel", _wrap_FitParameterSet_fitParametersNewKernel, METH_VARARGS, (char *)"FitParameterSet_fitParametersNewKernel(FitParameterSet self) -> Fit::Parameters"}, + { (char *)"FitParameterSet___getitem__", _wrap_FitParameterSet___getitem__, METH_VARARGS, (char *)"\n" + "__getitem__(std::string name) -> IFitParameter\n" + "FitParameterSet___getitem__(FitParameterSet self, size_t index) -> IFitParameter\n" + ""}, + { (char *)"FitParameterSet_swigregister", FitParameterSet_swigregister, METH_VARARGS, NULL}, { (char *)"new_FitParameter", _wrap_new_FitParameter, METH_VARARGS, (char *)"\n" "FitParameter()\n" "FitParameter(std::string const & pattern, double value, AttLimits lim, double step=0.0)\n" @@ -120000,14 +121979,7 @@ static PyMethodDef SwigMethods[] = { "Sets minimizer. \n" "\n" ""}, - { (char *)"FitSuite_minimizer", _wrap_FitSuite_minimizer, METH_VARARGS, (char *)"\n" - "FitSuite_minimizer(FitSuite self) -> IMinimizer const *\n" - "\n" - "const IMinimizer * FitSuite::minimizer() const\n" - "\n" - "Returns minimizer. \n" - "\n" - ""}, + { (char *)"FitSuite_minimizerName", _wrap_FitSuite_minimizerName, METH_VARARGS, (char *)"FitSuite_minimizerName(FitSuite self) -> std::string"}, { (char *)"FitSuite_initPrint", _wrap_FitSuite_initPrint, METH_VARARGS, (char *)"\n" "FitSuite_initPrint(FitSuite self, int print_every_nth)\n" "\n" @@ -120047,7 +122019,7 @@ static PyMethodDef SwigMethods[] = { "\n" ""}, { (char *)"FitSuite_fitParameters", _wrap_FitSuite_fitParameters, METH_VARARGS, (char *)"\n" - "FitSuite_fitParameters(FitSuite self) -> FitParameterSet *\n" + "FitSuite_fitParameters(FitSuite self) -> FitParameterSet\n" "\n" "FitParameterSet * FitSuite::fitParameters()\n" "\n" @@ -120322,6 +122294,7 @@ static PyMethodDef SwigMethods[] = { "index across all element in FitElement vector \n" "\n" ""}, + { (char *)"FitSuiteObjects_residuals", _wrap_FitSuiteObjects_residuals, METH_VARARGS, (char *)"FitSuiteObjects_residuals(FitSuiteObjects self) -> vdouble1d_t"}, { (char *)"FitSuiteObjects_setNfreeParameters", _wrap_FitSuiteObjects_setNfreeParameters, METH_VARARGS, (char *)"\n" "FitSuiteObjects_setNfreeParameters(FitSuiteObjects self, int nfree_parameters)\n" "\n" @@ -134172,6 +136145,7 @@ static swig_type_info _swigt__p_FitSuite = {"_p_FitSuite", "FitSuite *", 0, 0, ( static swig_type_info _swigt__p_FitSuiteImpl = {"_p_FitSuiteImpl", "FitSuiteImpl *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FitSuiteObjects = {"_p_FitSuiteObjects", "FitSuiteObjects *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FitSuiteStrategies = {"_p_FitSuiteStrategies", "FitSuiteStrategies *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_Fit__Parameters = {"_p_Fit__Parameters", "Fit::Parameters *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FixedBinAxis = {"_p_FixedBinAxis", "FixedBinAxis *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FootprintFactorGaussian = {"_p_FootprintFactorGaussian", "FootprintFactorGaussian *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_FootprintFactorSquare = {"_p_FootprintFactorSquare", "FootprintFactorSquare *", 0, 0, (void*)0, 0}; @@ -134365,6 +136339,8 @@ static swig_type_info _swigt__p_bool = {"_p_bool", "bool *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_const_iterator = {"_p_const_iterator", "const_iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_const_reference = {"_p_const_reference", "const_reference *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_container_t = {"_p_container_t", "container_t *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_corr_matrix_t = {"_p_corr_matrix_t", "corr_matrix_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *", 0, 0, (void*)0, 0}; @@ -134408,6 +136384,8 @@ static swig_type_info _swigt__p_std__vectorT_BasicVector3DT_std__complexT_double static swig_type_info _swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t = {"_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t", "std::vector< FitElement,std::allocator< FitElement > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator = {"_p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator", "std::vector< FitElement,std::allocator< FitElement > >::iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t = {"_p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t", "std::vector< HomogeneousRegion,std::allocator< HomogeneousRegion > > *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator = {"_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator", "FitParameterSet::const_iterator *|std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator = {"_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator", "FitParameterSet::iterator *|std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t = {"_p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t", "std::vector< IFormFactor *,std::allocator< IFormFactor * > > *|std::vector< IFormFactor * > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t = {"_p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t", "std::vector< ILayout const *,std::allocator< ILayout const * > > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t = {"_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t", "std::vector< INode const *,std::allocator< INode const * > > *|std::vector< INode const * > *", 0, 0, (void*)0, 0}; @@ -134497,6 +136475,7 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_FitSuiteImpl, &_swigt__p_FitSuiteObjects, &_swigt__p_FitSuiteStrategies, + &_swigt__p_Fit__Parameters, &_swigt__p_FixedBinAxis, &_swigt__p_FootprintFactorGaussian, &_swigt__p_FootprintFactorSquare, @@ -134690,6 +136669,8 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_char, &_swigt__p_const_iterator, &_swigt__p_const_reference, + &_swigt__p_container_t, + &_swigt__p_corr_matrix_t, &_swigt__p_difference_type, &_swigt__p_double, &_swigt__p_int, @@ -134733,6 +136714,8 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t, &_swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator, &_swigt__p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t, + &_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, + &_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, &_swigt__p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, &_swigt__p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t, &_swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t, @@ -134822,6 +136805,7 @@ static swig_cast_info _swigc__p_FitSuite[] = { {&_swigt__p_FitSuite, 0, 0, 0},{ static swig_cast_info _swigc__p_FitSuiteImpl[] = { {&_swigt__p_FitSuiteImpl, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FitSuiteObjects[] = { {&_swigt__p_FitSuiteObjects, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FitSuiteStrategies[] = { {&_swigt__p_FitSuiteStrategies, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_Fit__Parameters[] = { {&_swigt__p_Fit__Parameters, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FixedBinAxis[] = { {&_swigt__p_FixedBinAxis, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FootprintFactorGaussian[] = { {&_swigt__p_FootprintFactorGaussian, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_FootprintFactorSquare[] = { {&_swigt__p_FootprintFactorSquare, 0, 0, 0},{0, 0, 0, 0}}; @@ -135015,6 +136999,8 @@ static swig_cast_info _swigc__p_bool[] = { {&_swigt__p_bool, 0, 0, 0},{0, 0, 0, static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_const_iterator[] = { {&_swigt__p_const_iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_const_reference[] = { {&_swigt__p_const_reference, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_container_t[] = { {&_swigt__p_container_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_corr_matrix_t[] = { {&_swigt__p_corr_matrix_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_difference_type[] = { {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}}; @@ -135058,6 +137044,8 @@ static swig_cast_info _swigc__p_std__vectorT_BasicVector3DT_std__complexT_double static swig_cast_info _swigc__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t[] = { {&_swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator[] = { {&_swigt__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t[] = { {&_swigt__p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator[] = { {&_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator[] = { {&_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t[] = { {&_swigt__p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t[] = { {&_swigt__p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t[] = { {&_swigt__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -135147,6 +137135,7 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_FitSuiteImpl, _swigc__p_FitSuiteObjects, _swigc__p_FitSuiteStrategies, + _swigc__p_Fit__Parameters, _swigc__p_FixedBinAxis, _swigc__p_FootprintFactorGaussian, _swigc__p_FootprintFactorSquare, @@ -135340,6 +137329,8 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_char, _swigc__p_const_iterator, _swigc__p_const_reference, + _swigc__p_container_t, + _swigc__p_corr_matrix_t, _swigc__p_difference_type, _swigc__p_double, _swigc__p_int, @@ -135383,6 +137374,8 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t, _swigc__p_std__vectorT_FitElement_std__allocatorT_FitElement_t_t__iterator, _swigc__p_std__vectorT_HomogeneousRegion_std__allocatorT_HomogeneousRegion_t_t, + _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, + _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, _swigc__p_std__vectorT_IFormFactor_p_std__allocatorT_IFormFactor_p_t_t, _swigc__p_std__vectorT_ILayout_const_p_std__allocatorT_ILayout_const_p_t_t, _swigc__p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t, diff --git a/auto/Wrap/libBornAgainFit.py b/auto/Wrap/libBornAgainFit.py index 4bf93a03f23d63f7c64d77cdf6fc31ab60a51c59..ab843a33bcbd7b51110398afc7cf5c4d0b3ef914 100644 --- a/auto/Wrap/libBornAgainFit.py +++ b/auto/Wrap/libBornAgainFit.py @@ -2209,6 +2209,16 @@ class Parameters(_object): return _libBornAgainFit.Parameters_setErrors(self, errors) + def correlationMatrix(self): + """correlationMatrix(Parameters self) -> vdouble2d_t""" + return _libBornAgainFit.Parameters_correlationMatrix(self) + + + def setCorrelationMatrix(self, matrix): + """setCorrelationMatrix(Parameters self, vdouble2d_t matrix)""" + return _libBornAgainFit.Parameters_setCorrelationMatrix(self, matrix) + + def __getitem__(self, *args): """ __getitem__(Parameters self, std::string name) -> Parameter @@ -2270,18 +2280,6 @@ class IMinimizer(_object): return _libBornAgainFit.IMinimizer_algorithmName(self) - def minimize(self): - """ - minimize(IMinimizer self) - - virtual void IMinimizer::minimize()=0 - - run minimization - - """ - return _libBornAgainFit.IMinimizer_minimize(self) - - def minimize_scalar(self, arg2, arg3): """ minimize_scalar(IMinimizer self, fcn_scalar_t arg2, Parameters arg3) -> MinimizerResult @@ -2314,38 +2312,6 @@ class IMinimizer(_object): return _libBornAgainFit.IMinimizer_clear(self) - def setParameters(self, parameters): - """ - setParameters(IMinimizer self, FitParameterSet parameters) - - virtual void IMinimizer::setParameters(const FitParameterSet ¶meters)=0 - - Sets internal minimizer parameters using external parameter list. - - """ - return _libBornAgainFit.IMinimizer_setParameters(self, parameters) - - - def setObjectiveFunction(self, arg2): - """ - setObjectiveFunction(IMinimizer self, objective_function_t arg2) - - virtual void IMinimizer::setObjectiveFunction(objective_function_t) - - """ - return _libBornAgainFit.IMinimizer_setObjectiveFunction(self, arg2) - - - def setGradientFunction(self, arg2, arg3): - """ - setGradientFunction(IMinimizer self, gradient_function_t arg2, int arg3) - - virtual void IMinimizer::setGradientFunction(gradient_function_t, int) - - """ - return _libBornAgainFit.IMinimizer_setGradientFunction(self, arg2, arg3) - - def minValue(self): """ minValue(IMinimizer self) -> double @@ -2358,27 +2324,6 @@ class IMinimizer(_object): return _libBornAgainFit.IMinimizer_minValue(self) - def reportOutcome(self): - """ - reportOutcome(IMinimizer self) -> std::string - - virtual std::string IMinimizer::reportOutcome() const =0 - - """ - return _libBornAgainFit.IMinimizer_reportOutcome(self) - - - def propagateResults(self, *args): - """ - propagateResults(IMinimizer self, FitParameterSet parameters) - propagateResults(IMinimizer self, Parameters parameters) - - void IMinimizer::propagateResults(Fit::Parameters ¶meters) - - """ - return _libBornAgainFit.IMinimizer_propagateResults(self, *args) - - def setOptions(self, options): """ setOptions(IMinimizer self, std::string const & options) @@ -2393,498 +2338,6 @@ class IMinimizer(_object): IMinimizer_swigregister = _libBornAgainFit.IMinimizer_swigregister IMinimizer_swigregister(IMinimizer) -class IFitParameter(_object): - """ - - - A fittable parameter with value, error, step, and limits. - - C++ includes: IFitParameter.h - - """ - - __swig_setmethods__ = {} - __setattr__ = lambda self, name, value: _swig_setattr(self, IFitParameter, name, value) - __swig_getmethods__ = {} - __getattr__ = lambda self, name: _swig_getattr(self, IFitParameter, name) - __repr__ = _swig_repr - - def __init__(self, *args): - """ - __init__(IFitParameter self) -> IFitParameter - __init__(IFitParameter self, std::string const & name, double value, AttLimits limits, double step=0.0) -> IFitParameter - __init__(IFitParameter self, std::string const & name, double value, AttLimits limits) -> IFitParameter - __init__(IFitParameter self, std::string const & name, double value) -> IFitParameter - - IFitParameter::IFitParameter(const std::string &name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0) - - """ - this = _libBornAgainFit.new_IFitParameter(*args) - try: - self.this.append(this) - except __builtin__.Exception: - self.this = this - __swig_destroy__ = _libBornAgainFit.delete_IFitParameter - __del__ = lambda self: None - - def clone(self): - """ - clone(IFitParameter self) -> IFitParameter - - IFitParameter * IFitParameter::clone() const - - """ - return _libBornAgainFit.IFitParameter_clone(self) - - - def name(self): - """ - name(IFitParameter self) -> std::string - - std::string IFitParameter::name() const - - """ - return _libBornAgainFit.IFitParameter_name(self) - - - def setName(self, name): - """ - setName(IFitParameter self, std::string const & name) -> IFitParameter - - IFitParameter & IFitParameter::setName(const std::string &name) - - """ - return _libBornAgainFit.IFitParameter_setName(self, name) - - - def startValue(self): - """ - startValue(IFitParameter self) -> double - - double IFitParameter::startValue() const - - """ - return _libBornAgainFit.IFitParameter_startValue(self) - - - def setStartValue(self, value): - """ - setStartValue(IFitParameter self, double value) - - void IFitParameter::setStartValue(double value) - - """ - return _libBornAgainFit.IFitParameter_setStartValue(self, value) - - - def value(self): - """ - value(IFitParameter self) -> double - - double IFitParameter::value() const - - """ - return _libBornAgainFit.IFitParameter_value(self) - - - def setValue(self, value): - """ - setValue(IFitParameter self, double value) - - void IFitParameter::setValue(double value) - - """ - return _libBornAgainFit.IFitParameter_setValue(self, value) - - - def addPattern(self, pattern): - """ - addPattern(IFitParameter self, std::string const & pattern) -> IFitParameter - - IFitParameter & IFitParameter::addPattern(const std::string &pattern) - - """ - return _libBornAgainFit.IFitParameter_addPattern(self, pattern) - - - def step(self): - """ - step(IFitParameter self) -> double - - double IFitParameter::step() const - - """ - return _libBornAgainFit.IFitParameter_step(self) - - - def setStep(self, value): - """ - setStep(IFitParameter self, double value) -> IFitParameter - - IFitParameter & IFitParameter::setStep(double value) - - """ - return _libBornAgainFit.IFitParameter_setStep(self, value) - - - def error(self): - """ - error(IFitParameter self) -> double - - double IFitParameter::error() const - - """ - return _libBornAgainFit.IFitParameter_error(self) - - - def setError(self, value): - """ - setError(IFitParameter self, double value) - - void IFitParameter::setError(double value) - - """ - return _libBornAgainFit.IFitParameter_setError(self, value) - - - def limits(self, *args): - """ - limits(IFitParameter self) -> AttLimits - limits(IFitParameter self) -> AttLimits - - AttLimits & IFitParameter::limits() - - """ - return _libBornAgainFit.IFitParameter_limits(self, *args) - - - def setLimits(self, limits): - """ - setLimits(IFitParameter self, AttLimits limits) -> IFitParameter - - IFitParameter & IFitParameter::setLimits(const AttLimits &limits) - - """ - return _libBornAgainFit.IFitParameter_setLimits(self, limits) - - - def setLowerLimited(self, bound_value): - """ - setLowerLimited(IFitParameter self, double bound_value) -> IFitParameter - - IFitParameter & IFitParameter::setLowerLimited(double bound_value) - - """ - return _libBornAgainFit.IFitParameter_setLowerLimited(self, bound_value) - - - def setPositive(self): - """ - setPositive(IFitParameter self) -> IFitParameter - - IFitParameter & IFitParameter::setPositive() - - """ - return _libBornAgainFit.IFitParameter_setPositive(self) - - - def setNonnegative(self): - """ - setNonnegative(IFitParameter self) -> IFitParameter - - IFitParameter & IFitParameter::setNonnegative() - - """ - return _libBornAgainFit.IFitParameter_setNonnegative(self) - - - def setUpperLimited(self, bound_value): - """ - setUpperLimited(IFitParameter self, double bound_value) -> IFitParameter - - IFitParameter & IFitParameter::setUpperLimited(double bound_value) - - """ - return _libBornAgainFit.IFitParameter_setUpperLimited(self, bound_value) - - - def setLimited(self, left_bound_value, right_bound_value): - """ - setLimited(IFitParameter self, double left_bound_value, double right_bound_value) -> IFitParameter - - IFitParameter & IFitParameter::setLimited(double left_bound_value, double right_bound_value) - - """ - return _libBornAgainFit.IFitParameter_setLimited(self, left_bound_value, right_bound_value) - - - def setFixed(self): - """ - setFixed(IFitParameter self) -> IFitParameter - - IFitParameter & IFitParameter::setFixed() - - """ - return _libBornAgainFit.IFitParameter_setFixed(self) - - - def toString(self): - """ - toString(IFitParameter self) -> std::string - - std::string IFitParameter::toString() const - - """ - return _libBornAgainFit.IFitParameter_toString(self) - -IFitParameter_swigregister = _libBornAgainFit.IFitParameter_swigregister -IFitParameter_swigregister(IFitParameter) - -class FitParameterSet(_object): - """ - - - The set of fit parameters. - - C++ includes: FitParameterSet.h - - """ - - __swig_setmethods__ = {} - __setattr__ = lambda self, name, value: _swig_setattr(self, FitParameterSet, name, value) - __swig_getmethods__ = {} - __getattr__ = lambda self, name: _swig_getattr(self, FitParameterSet, name) - __repr__ = _swig_repr - - def __init__(self): - """ - __init__(FitParameterSet self) -> FitParameterSet - - FitParameterSet::FitParameterSet() - - """ - this = _libBornAgainFit.new_FitParameterSet() - try: - self.this.append(this) - except __builtin__.Exception: - self.this = this - __swig_destroy__ = _libBornAgainFit.delete_FitParameterSet - __del__ = lambda self: None - - def clear(self): - """ - clear(FitParameterSet self) - - void FitParameterSet::clear() - - Clears all defined parameters. - - """ - return _libBornAgainFit.FitParameterSet_clear(self) - - - def size(self): - """ - size(FitParameterSet self) -> size_t - - size_t FitParameterSet::size() const - - Returns number of parameters. - - """ - return _libBornAgainFit.FitParameterSet_size(self) - - - def begin(self, *args): - """ - begin(FitParameterSet self) -> FitParameterSet::iterator - begin(FitParameterSet self) -> FitParameterSet::const_iterator - - FitParameterSet::const_iterator FitParameterSet::begin() const - - """ - return _libBornAgainFit.FitParameterSet_begin(self, *args) - - - def end(self, *args): - """ - end(FitParameterSet self) -> FitParameterSet::iterator - end(FitParameterSet self) -> FitParameterSet::const_iterator - - FitParameterSet::const_iterator FitParameterSet::end() const - - """ - return _libBornAgainFit.FitParameterSet_end(self, *args) - - - def addFitParameter(self, par): - """ - addFitParameter(FitParameterSet self, IFitParameter par) - - void FitParameterSet::addFitParameter(IFitParameter *par) - - Adds fit parameter. - - """ - return _libBornAgainFit.FitParameterSet_addFitParameter(self, par) - - - def fitParameter(self, *args): - """ - fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter - fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter - - IFitParameter * FitParameterSet::fitParameter(const std::string &name) - - """ - return _libBornAgainFit.FitParameterSet_fitParameter(self, *args) - - - def values(self): - """ - values(FitParameterSet self) -> vdouble1d_t - - std::vector< double > FitParameterSet::values() const - - Returns values of all defined parameters. - - """ - return _libBornAgainFit.FitParameterSet_values(self) - - - def setValues(self, pars_values): - """ - setValues(FitParameterSet self, vdouble1d_t pars_values) - - void FitParameterSet::setValues(const std::vector< double > &pars_values) - - Sets values for all defined parameters. - - """ - return _libBornAgainFit.FitParameterSet_setValues(self, pars_values) - - - def valuesDifferFrom(self, par_values, tolerance=2.0): - """ - valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values, double tolerance=2.0) -> bool - valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values) -> bool - - bool FitParameterSet::valuesDifferFrom(const std::vector< double > &par_values, double tolerance=2.0) const - - Returns true if parameters already have the given values. - - """ - return _libBornAgainFit.FitParameterSet_valuesDifferFrom(self, par_values, tolerance) - - - def errors(self): - """ - errors(FitParameterSet self) -> vdouble1d_t - - std::vector< double > FitParameterSet::errors() const - - Returns errors of all defined parameters. - - """ - return _libBornAgainFit.FitParameterSet_errors(self) - - - def setErrors(self, pars_errors): - """ - setErrors(FitParameterSet self, vdouble1d_t pars_errors) - - void FitParameterSet::setErrors(const std::vector< double > &pars_errors) - - Sets errors to all parameters. - - """ - return _libBornAgainFit.FitParameterSet_setErrors(self, pars_errors) - - - def freeFitParameterCount(self): - """ - freeFitParameterCount(FitParameterSet self) -> size_t - - size_t FitParameterSet::freeFitParameterCount() const - - Returns number of free parameters. - - """ - return _libBornAgainFit.FitParameterSet_freeFitParameterCount(self) - - - def fixAll(self): - """ - fixAll(FitParameterSet self) - - void FitParameterSet::fixAll() - - Fix all parameters. - - """ - return _libBornAgainFit.FitParameterSet_fixAll(self) - - - def releaseAll(self): - """ - releaseAll(FitParameterSet self) - - void FitParameterSet::releaseAll() - - Release all parameters. - - """ - return _libBornAgainFit.FitParameterSet_releaseAll(self) - - - def setFixed(self, pars, is_fixed): - """ - setFixed(FitParameterSet self, vector_string_t pars, bool is_fixed) - - void FitParameterSet::setFixed(const std::vector< std::string > &pars, bool is_fixed) - - Set fixed flag for parameters from the list. - - """ - return _libBornAgainFit.FitParameterSet_setFixed(self, pars, is_fixed) - - - def correlationMatrix(self): - """ - correlationMatrix(FitParameterSet self) -> vdouble2d_t - - corr_matrix_t FitParameterSet::correlationMatrix() const - - """ - return _libBornAgainFit.FitParameterSet_correlationMatrix(self) - - - def setCorrelationMatrix(self, matrix): - """ - setCorrelationMatrix(FitParameterSet self, vdouble2d_t matrix) - - void FitParameterSet::setCorrelationMatrix(const corr_matrix_t &matrix) - - Sets resulting correlation matrix. - - """ - return _libBornAgainFit.FitParameterSet_setCorrelationMatrix(self, matrix) - - - def __getitem__(self, *args): - """ - __getitem__(FitParameterSet self, std::string name) -> IFitParameter - __getitem__(FitParameterSet self, size_t index) -> IFitParameter - """ - return _libBornAgainFit.FitParameterSet___getitem__(self, *args) - - - def __iter__(self): - return FitParameterSetIterator(self) - -FitParameterSet_swigregister = _libBornAgainFit.FitParameterSet_swigregister -FitParameterSet_swigregister(FitParameterSet) - class MinimizerCatalogue(_object): """ @@ -3328,6 +2781,7 @@ class Minimizer(_object): setMinimizer(Minimizer self, std::string const & minimizerName, std::string const & algorithmName, std::string const & options) setMinimizer(Minimizer self, std::string const & minimizerName, std::string const & algorithmName) setMinimizer(Minimizer self, std::string const & minimizerName) + setMinimizer(Minimizer self, IMinimizer minimizer) void Minimizer::setMinimizer(const std::string &minimizerName, const std::string &algorithmName="", const std::string &options="") @@ -3368,26 +2822,6 @@ Minimizer_swigregister = _libBornAgainFit.Minimizer_swigregister Minimizer_swigregister(Minimizer) -class FitParameterSetIterator(object): - - def __init__(self, fitParameters): - self.fitParameters = fitParameters - self.index = -1 - - def __iter__(self): - return self - - def next(self): - self.index += 1 - if self.index < self.fitParameters.size(): - return self.fitParameters[self.index] - else: - raise StopIteration - - def __next__(self): - return self.next() - - class ParametersIterator(object): def __init__(self, parameters): diff --git a/auto/Wrap/libBornAgainFit_wrap.cpp b/auto/Wrap/libBornAgainFit_wrap.cpp index 22f1f429dae63fb3344950a0e5dad98f43ea4942..b2f9a3477c205952eb35217d230f4ba855acf9ce 100644 --- a/auto/Wrap/libBornAgainFit_wrap.cpp +++ b/auto/Wrap/libBornAgainFit_wrap.cpp @@ -3452,64 +3452,57 @@ namespace Swig { /* -------- TYPES TABLE (BEGIN) -------- */ #define SWIGTYPE_p_AttLimits swig_types[0] -#define SWIGTYPE_p_FitParameterSet swig_types[1] -#define SWIGTYPE_p_Fit__Minimizer swig_types[2] -#define SWIGTYPE_p_Fit__MinimizerResult swig_types[3] -#define SWIGTYPE_p_Fit__Parameter swig_types[4] -#define SWIGTYPE_p_Fit__Parameters swig_types[5] -#define SWIGTYPE_p_IFitParameter swig_types[6] -#define SWIGTYPE_p_IMinimizer swig_types[7] -#define SWIGTYPE_p_MinimizerCatalogue swig_types[8] -#define SWIGTYPE_p_MinimizerFactory swig_types[9] -#define SWIGTYPE_p_MinimizerInfo swig_types[10] -#define SWIGTYPE_p_PyCallback swig_types[11] -#define SWIGTYPE_p_RealLimits swig_types[12] -#define SWIGTYPE_p_allocator_type swig_types[13] -#define SWIGTYPE_p_char swig_types[14] -#define SWIGTYPE_p_const_iterator swig_types[15] -#define SWIGTYPE_p_container_t swig_types[16] -#define SWIGTYPE_p_corr_matrix_t swig_types[17] -#define SWIGTYPE_p_difference_type swig_types[18] -#define SWIGTYPE_p_fcn_residual_t swig_types[19] -#define SWIGTYPE_p_fcn_scalar_t swig_types[20] -#define SWIGTYPE_p_gradient_function_t swig_types[21] -#define SWIGTYPE_p_int swig_types[22] -#define SWIGTYPE_p_iterator swig_types[23] -#define SWIGTYPE_p_long_long swig_types[24] -#define SWIGTYPE_p_objective_function_t swig_types[25] -#define SWIGTYPE_p_p_PyObject swig_types[26] -#define SWIGTYPE_p_parameters_t swig_types[27] -#define SWIGTYPE_p_short swig_types[28] -#define SWIGTYPE_p_signed_char swig_types[29] -#define SWIGTYPE_p_size_type swig_types[30] -#define SWIGTYPE_p_std__allocatorT_double_t swig_types[31] -#define SWIGTYPE_p_std__allocatorT_int_t swig_types[32] -#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[33] -#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[34] -#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[35] -#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[36] -#define SWIGTYPE_p_std__invalid_argument swig_types[37] -#define SWIGTYPE_p_std__shared_ptrT_IFitObserver_t swig_types[38] -#define SWIGTYPE_p_std__shared_ptrT_IMultiLayerBuilder_t swig_types[39] -#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[40] -#define SWIGTYPE_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator swig_types[41] -#define SWIGTYPE_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator swig_types[42] -#define SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator swig_types[43] -#define SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator swig_types[44] -#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[45] -#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[46] -#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[47] -#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[48] -#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[49] -#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[50] -#define SWIGTYPE_p_swig__SwigPyIterator swig_types[51] -#define SWIGTYPE_p_unsigned_char swig_types[52] -#define SWIGTYPE_p_unsigned_int swig_types[53] -#define SWIGTYPE_p_unsigned_long_long swig_types[54] -#define SWIGTYPE_p_unsigned_short swig_types[55] -#define SWIGTYPE_p_value_type swig_types[56] -static swig_type_info *swig_types[58]; -static swig_module_info swig_module = {swig_types, 57, 0, 0, 0, 0}; +#define SWIGTYPE_p_Fit__Minimizer swig_types[1] +#define SWIGTYPE_p_Fit__MinimizerResult swig_types[2] +#define SWIGTYPE_p_Fit__Parameter swig_types[3] +#define SWIGTYPE_p_Fit__Parameters swig_types[4] +#define SWIGTYPE_p_IMinimizer swig_types[5] +#define SWIGTYPE_p_MinimizerCatalogue swig_types[6] +#define SWIGTYPE_p_MinimizerFactory swig_types[7] +#define SWIGTYPE_p_MinimizerInfo swig_types[8] +#define SWIGTYPE_p_PyCallback swig_types[9] +#define SWIGTYPE_p_RealLimits swig_types[10] +#define SWIGTYPE_p_allocator_type swig_types[11] +#define SWIGTYPE_p_char swig_types[12] +#define SWIGTYPE_p_const_iterator swig_types[13] +#define SWIGTYPE_p_corr_matrix_t swig_types[14] +#define SWIGTYPE_p_difference_type swig_types[15] +#define SWIGTYPE_p_fcn_residual_t swig_types[16] +#define SWIGTYPE_p_fcn_scalar_t swig_types[17] +#define SWIGTYPE_p_int swig_types[18] +#define SWIGTYPE_p_iterator swig_types[19] +#define SWIGTYPE_p_long_long swig_types[20] +#define SWIGTYPE_p_p_PyObject swig_types[21] +#define SWIGTYPE_p_parameters_t swig_types[22] +#define SWIGTYPE_p_short swig_types[23] +#define SWIGTYPE_p_signed_char swig_types[24] +#define SWIGTYPE_p_size_type swig_types[25] +#define SWIGTYPE_p_std__allocatorT_double_t swig_types[26] +#define SWIGTYPE_p_std__allocatorT_int_t swig_types[27] +#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[28] +#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[29] +#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[30] +#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[31] +#define SWIGTYPE_p_std__invalid_argument swig_types[32] +#define SWIGTYPE_p_std__shared_ptrT_IFitObserver_t swig_types[33] +#define SWIGTYPE_p_std__shared_ptrT_IMultiLayerBuilder_t swig_types[34] +#define SWIGTYPE_p_std__shared_ptrT_IObserver_t swig_types[35] +#define SWIGTYPE_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator swig_types[36] +#define SWIGTYPE_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator swig_types[37] +#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[38] +#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[39] +#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[40] +#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[41] +#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[42] +#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[43] +#define SWIGTYPE_p_swig__SwigPyIterator swig_types[44] +#define SWIGTYPE_p_unsigned_char swig_types[45] +#define SWIGTYPE_p_unsigned_int swig_types[46] +#define SWIGTYPE_p_unsigned_long_long swig_types[47] +#define SWIGTYPE_p_unsigned_short swig_types[48] +#define SWIGTYPE_p_value_type swig_types[49] +static swig_type_info *swig_types[51]; +static swig_module_info swig_module = {swig_types, 50, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) @@ -6290,8 +6283,6 @@ SWIGINTERN void std_vector_Sl_std_string_Sg__insert__SWIG_1(std::vector< std::st #include "AttLimits.h" #include "Parameter.h" #include "Parameters.h" -#include "IFitParameter.h" -#include "FitParameterSet.h" #include "IMinimizer.h" #include "MinimizerCatalogue.h" #include "MinimizerFactory.h" @@ -6320,12 +6311,6 @@ SWIGINTERN Fit::Parameter const &Fit_Parameters___getitem____SWIG_0(Fit::Paramet SWIGINTERN Fit::Parameter const &Fit_Parameters___getitem____SWIG_1(Fit::Parameters const *self,size_t index){ return (*(self))[index]; } -SWIGINTERN IFitParameter const *FitParameterSet___getitem____SWIG_0(FitParameterSet const *self,std::string name){ - return (*(self))[name]; - } -SWIGINTERN IFitParameter const *FitParameterSet___getitem____SWIG_1(FitParameterSet const *self,size_t index){ - return (*(self))[index]; - } /* --------------------------------------------------- @@ -20779,6 +20764,65 @@ fail: } +SWIGINTERN PyObject *_wrap_Parameters_correlationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Fit::Parameters *arg1 = (Fit::Parameters *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + Fit::Parameters::corr_matrix_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Parameters_correlationMatrix",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Fit__Parameters, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parameters_correlationMatrix" "', argument " "1"" of type '" "Fit::Parameters const *""'"); + } + arg1 = reinterpret_cast< Fit::Parameters * >(argp1); + result = ((Fit::Parameters const *)arg1)->correlationMatrix(); + resultobj = swig::from(static_cast< std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Parameters_setCorrelationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Fit::Parameters *arg1 = (Fit::Parameters *) 0 ; + Fit::Parameters::corr_matrix_t *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Parameters_setCorrelationMatrix",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Fit__Parameters, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Parameters_setCorrelationMatrix" "', argument " "1"" of type '" "Fit::Parameters *""'"); + } + arg1 = reinterpret_cast< Fit::Parameters * >(argp1); + { + std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0; + res2 = swig::asptr(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Parameters_setCorrelationMatrix" "', argument " "2"" of type '" "Fit::Parameters::corr_matrix_t const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Parameters_setCorrelationMatrix" "', argument " "2"" of type '" "Fit::Parameters::corr_matrix_t const &""'"); + } + arg2 = ptr; + } + (arg1)->setCorrelationMatrix((Fit::Parameters::corr_matrix_t const &)*arg2); + resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; + return resultobj; +fail: + if (SWIG_IsNewObj(res2)) delete arg2; + return NULL; +} + + SWIGINTERN PyObject *_wrap_Parameters___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; Fit::Parameters *arg1 = (Fit::Parameters *) 0 ; @@ -20986,27 +21030,6 @@ fail: } -SWIGINTERN PyObject *_wrap_IMinimizer_minimize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IMinimizer_minimize",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minimize" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - (arg1)->minimize(); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - SWIGINTERN PyObject *_wrap_IMinimizer_minimize_scalar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IMinimizer *arg1 = (IMinimizer *) 0 ; @@ -21140,2325 +21163,215 @@ fail: } -SWIGINTERN PyObject *_wrap_IMinimizer_setParameters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IMinimizer *arg1 = (IMinimizer *) 0 ; - FitParameterSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; + double result; - if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_setParameters",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"O:IMinimizer_minValue",&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setParameters" "', argument " "1"" of type '" "IMinimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minValue" "', argument " "1"" of type '" "IMinimizer const *""'"); } arg1 = reinterpret_cast< IMinimizer * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_FitParameterSet, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setParameters" "', argument " "2"" of type '" "FitParameterSet const &""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setParameters" "', argument " "2"" of type '" "FitParameterSet const &""'"); - } - arg2 = reinterpret_cast< FitParameterSet * >(argp2); - (arg1)->setParameters((FitParameterSet const &)*arg2); - resultobj = SWIG_Py_Void(); + result = (double)((IMinimizer const *)arg1)->minValue(); + resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_setObjectiveFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_IMinimizer_setOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; IMinimizer *arg1 = (IMinimizer *) 0 ; - objective_function_t arg2 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_setObjectiveFunction",&obj0,&obj1)) SWIG_fail; + if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_setOptions",&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setObjectiveFunction" "', argument " "1"" of type '" "IMinimizer *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setOptions" "', argument " "1"" of type '" "IMinimizer *""'"); } arg1 = reinterpret_cast< IMinimizer * >(argp1); { - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_objective_function_t, 0 | 0); + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setObjectiveFunction" "', argument " "2"" of type '" "objective_function_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setObjectiveFunction" "', argument " "2"" of type '" "objective_function_t""'"); - } else { - objective_function_t * temp = reinterpret_cast< objective_function_t * >(argp2); - arg2 = *temp; - if (SWIG_IsNewObj(res2)) delete temp; + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); } + arg2 = ptr; } - (arg1)->setObjectiveFunction(arg2); + (arg1)->setOptions((std::string const &)*arg2); resultobj = SWIG_Py_Void(); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_setGradientFunction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *IMinimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_IMinimizer, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject *_wrap_new_MinimizerCatalogue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - gradient_function_t arg2 ; - int arg3 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 ; - int res2 = 0 ; - int val3 ; - int ecode3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; + MinimizerCatalogue *result = 0 ; - if (!PyArg_ParseTuple(args,(char *)"OOO:IMinimizer_setGradientFunction",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setGradientFunction" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - { - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_gradient_function_t, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setGradientFunction" "', argument " "2"" of type '" "gradient_function_t""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setGradientFunction" "', argument " "2"" of type '" "gradient_function_t""'"); - } else { - gradient_function_t * temp = reinterpret_cast< gradient_function_t * >(argp2); - arg2 = *temp; - if (SWIG_IsNewObj(res2)) delete temp; - } - } - ecode3 = SWIG_AsVal_int(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IMinimizer_setGradientFunction" "', argument " "3"" of type '" "int""'"); - } - arg3 = static_cast< int >(val3); - (arg1)->setGradientFunction(arg2,arg3); - resultobj = SWIG_Py_Void(); + if (!PyArg_ParseTuple(args,(char *)":new_MinimizerCatalogue")) SWIG_fail; + result = (MinimizerCatalogue *)new MinimizerCatalogue(); + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerCatalogue, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_minValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalogue_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - double result; + std::string result; - if (!PyArg_ParseTuple(args,(char *)"O:IMinimizer_minValue",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"O:MinimizerCatalogue_toString",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_minValue" "', argument " "1"" of type '" "IMinimizer const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_toString" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - result = (double)((IMinimizer const *)arg1)->minValue(); - resultobj = SWIG_From_double(static_cast< double >(result)); + arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); + result = ((MinimizerCatalogue const *)arg1)->toString(); + resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_reportOutcome(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalogue_minimizerNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; + MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; - std::string result; + std::vector< std::string,std::allocator< std::string > > result; - if (!PyArg_ParseTuple(args,(char *)"O:IMinimizer_reportOutcome",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"O:MinimizerCatalogue_minimizerNames",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_reportOutcome" "', argument " "1"" of type '" "IMinimizer const *""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_minimizerNames" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - result = ((IMinimizer const *)arg1)->reportOutcome(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); + arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); + result = ((MinimizerCatalogue const *)arg1)->minimizerNames(); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); return resultobj; fail: return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_propagateResults__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - FitParameterSet *arg2 = 0 ; + MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; + std::vector< std::string,std::allocator< std::string > > result; - if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_propagateResults",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"OO:MinimizerCatalogue_algorithmNames",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_propagateResults" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_FitParameterSet, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_propagateResults" "', argument " "2"" of type '" "FitParameterSet &""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_propagateResults" "', argument " "2"" of type '" "FitParameterSet &""'"); + arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; } - arg2 = reinterpret_cast< FitParameterSet * >(argp2); - (arg1)->propagateResults(*arg2); - resultobj = SWIG_Py_Void(); + result = ((MinimizerCatalogue const *)arg1)->algorithmNames((std::string const &)*arg2); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_propagateResults__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { +SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmDescriptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - Fit::Parameters *arg2 = 0 ; + MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; + std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; + int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; + std::vector< std::string,std::allocator< std::string > > result; - if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_propagateResults",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!PyArg_ParseTuple(args,(char *)"OO:MinimizerCatalogue_algorithmDescriptions",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_propagateResults" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_Fit__Parameters, 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_propagateResults" "', argument " "2"" of type '" "Fit::Parameters &""'"); + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_propagateResults" "', argument " "2"" of type '" "Fit::Parameters &""'"); + arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); + { + std::string *ptr = (std::string *)0; + res2 = SWIG_AsPtr_std_string(obj1, &ptr); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); + } + if (!ptr) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); + } + arg2 = ptr; } - arg2 = reinterpret_cast< Fit::Parameters * >(argp2); - (arg1)->propagateResults(*arg2); - resultobj = SWIG_Py_Void(); + result = ((MinimizerCatalogue const *)arg1)->algorithmDescriptions((std::string const &)*arg2); + resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); + if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: + if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } -SWIGINTERN PyObject *_wrap_IMinimizer_propagateResults(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[3] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 2) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IMinimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_IMinimizer_propagateResults__SWIG_0(self, args); - } - } - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IMinimizer, 0); - _v = SWIG_CheckState(res); - if (_v) { - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_Fit__Parameters, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_IMinimizer_propagateResults__SWIG_1(self, args); - } - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'IMinimizer_propagateResults'.\n" - " Possible C/C++ prototypes are:\n" - " IMinimizer::propagateResults(FitParameterSet &)\n" - " IMinimizer::propagateResults(Fit::Parameters &)\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_IMinimizer_setOptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IMinimizer *arg1 = (IMinimizer *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IMinimizer_setOptions",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IMinimizer, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IMinimizer_setOptions" "', argument " "1"" of type '" "IMinimizer *""'"); - } - arg1 = reinterpret_cast< IMinimizer * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IMinimizer_setOptions" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - (arg1)->setOptions((std::string const &)*arg2); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *IMinimizer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_IMinimizer, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *_wrap_new_IFitParameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)":new_IFitParameter")) SWIG_fail; - result = (IFitParameter *)new IFitParameter(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_new_IFitParameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - std::string *arg1 = 0 ; - double arg2 ; - AttLimits *arg3 = 0 ; - double arg4 ; - int res1 = SWIG_OLDOBJ ; - double val2 ; - int ecode2 = 0 ; - void *argp3 = 0 ; - int res3 = 0 ; - double val4 ; - int ecode4 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - PyObject * obj3 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOOO:new_IFitParameter",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; - { - std::string *ptr = (std::string *)0; - res1 = SWIG_AsPtr_std_string(obj0, &ptr); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - arg1 = ptr; - } - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_AttLimits, 0 | 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); - } - if (!argp3) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); - } - arg3 = reinterpret_cast< AttLimits * >(argp3); - ecode4 = SWIG_AsVal_double(obj3, &val4); - if (!SWIG_IsOK(ecode4)) { - SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_IFitParameter" "', argument " "4"" of type '" "double""'"); - } - arg4 = static_cast< double >(val4); - result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3,arg4); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - std::string *arg1 = 0 ; - double arg2 ; - AttLimits *arg3 = 0 ; - int res1 = SWIG_OLDOBJ ; - double val2 ; - int ecode2 = 0 ; - void *argp3 = 0 ; - int res3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOO:new_IFitParameter",&obj0,&obj1,&obj2)) SWIG_fail; - { - std::string *ptr = (std::string *)0; - res1 = SWIG_AsPtr_std_string(obj0, &ptr); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - arg1 = ptr; - } - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_AttLimits, 0 | 0); - if (!SWIG_IsOK(res3)) { - SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); - } - if (!argp3) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "3"" of type '" "AttLimits const &""'"); - } - arg3 = reinterpret_cast< AttLimits * >(argp3); - result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2,(AttLimits const &)*arg3); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - std::string *arg1 = 0 ; - double arg2 ; - int res1 = SWIG_OLDOBJ ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:new_IFitParameter",&obj0,&obj1)) SWIG_fail; - { - std::string *ptr = (std::string *)0; - res1 = SWIG_AsPtr_std_string(obj0, &ptr); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_IFitParameter" "', argument " "1"" of type '" "std::string const &""'"); - } - arg1 = ptr; - } - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_IFitParameter" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - result = (IFitParameter *)new IFitParameter((std::string const &)*arg1,arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 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_IFitParameter(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[5] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 4) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 0) { - return _wrap_new_IFitParameter__SWIG_0(self, args); - } - if (argc == 2) { - int _v; - int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_IFitParameter__SWIG_3(self, args); - } - } - } - if (argc == 3) { - int _v; - int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_AttLimits, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_new_IFitParameter__SWIG_2(self, args); - } - } - } - } - if (argc == 4) { - int _v; - int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - int res = SWIG_ConvertPtr(argv[2], 0, SWIGTYPE_p_AttLimits, 0); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[3], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_new_IFitParameter__SWIG_1(self, args); - } - } - } - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_IFitParameter'.\n" - " Possible C/C++ prototypes are:\n" - " IFitParameter::IFitParameter()\n" - " IFitParameter::IFitParameter(std::string const &,double,AttLimits const &,double)\n" - " IFitParameter::IFitParameter(std::string const &,double,AttLimits const &)\n" - " IFitParameter::IFitParameter(std::string const &,double)\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_delete_IFitParameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:delete_IFitParameter",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IFitParameter" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_clone(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_clone",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_clone" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (IFitParameter *)((IFitParameter const *)arg1)->clone(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::string result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_name",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_name" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = ((IFitParameter const *)arg1)->name(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setName(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setName",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setName" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_setName" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_setName" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = (IFitParameter *) &(arg1)->setName((std::string const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_startValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - double result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_startValue",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_startValue" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (double)((IFitParameter const *)arg1)->startValue(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setStartValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setStartValue",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setStartValue" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setStartValue" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setStartValue(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_value(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - double result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_value",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_value" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (double)((IFitParameter const *)arg1)->value(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setValue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setValue",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setValue" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setValue" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setValue(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_addPattern(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_addPattern",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_addPattern" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_addPattern" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_addPattern" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = (IFitParameter *) &(arg1)->addPattern((std::string const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_step(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - double result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_step",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_step" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (double)((IFitParameter const *)arg1)->step(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setStep(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setStep",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setStep" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setStep" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - result = (IFitParameter *) &(arg1)->setStep(arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_error(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - double result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_error",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_error" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (double)((IFitParameter const *)arg1)->error(); - resultobj = SWIG_From_double(static_cast< double >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setError(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setError",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setError" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setError" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - (arg1)->setError(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_limits__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - AttLimits *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_limits",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_limits" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (AttLimits *) &((IFitParameter const *)arg1)->limits(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_AttLimits, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_limits__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - AttLimits *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_limits",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_limits" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (AttLimits *) &(arg1)->limits(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_AttLimits, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_limits(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[2] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 1) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IFitParameter, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_IFitParameter_limits__SWIG_1(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_IFitParameter, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_IFitParameter_limits__SWIG_0(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'IFitParameter_limits'.\n" - " Possible C/C++ prototypes are:\n" - " IFitParameter::limits() const\n" - " IFitParameter::limits()\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setLimits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - AttLimits *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setLimits",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLimits" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_AttLimits, 0 | 0); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IFitParameter_setLimits" "', argument " "2"" of type '" "AttLimits const &""'"); - } - if (!argp2) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "IFitParameter_setLimits" "', argument " "2"" of type '" "AttLimits const &""'"); - } - arg2 = reinterpret_cast< AttLimits * >(argp2); - result = (IFitParameter *) &(arg1)->setLimits((AttLimits const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setLowerLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setLowerLimited",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLowerLimited" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setLowerLimited" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - result = (IFitParameter *) &(arg1)->setLowerLimited(arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setPositive(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setPositive",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setPositive" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (IFitParameter *) &(arg1)->setPositive(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setNonnegative(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setNonnegative",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setNonnegative" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (IFitParameter *) &(arg1)->setNonnegative(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setUpperLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:IFitParameter_setUpperLimited",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setUpperLimited" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setUpperLimited" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - result = (IFitParameter *) &(arg1)->setUpperLimited(arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setLimited(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - double arg2 ; - double arg3 ; - void *argp1 = 0 ; - int res1 = 0 ; - double val2 ; - int ecode2 = 0 ; - double val3 ; - int ecode3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOO:IFitParameter_setLimited",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setLimited" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - ecode2 = SWIG_AsVal_double(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "IFitParameter_setLimited" "', argument " "2"" of type '" "double""'"); - } - arg2 = static_cast< double >(val2); - ecode3 = SWIG_AsVal_double(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "IFitParameter_setLimited" "', argument " "3"" of type '" "double""'"); - } - arg3 = static_cast< double >(val3); - result = (IFitParameter *) &(arg1)->setLimited(arg2,arg3); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_setFixed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_setFixed",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_setFixed" "', argument " "1"" of type '" "IFitParameter *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = (IFitParameter *) &(arg1)->setFixed(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_IFitParameter_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - IFitParameter *arg1 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::string result; - - if (!PyArg_ParseTuple(args,(char *)"O:IFitParameter_toString",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IFitParameter_toString" "', argument " "1"" of type '" "IFitParameter const *""'"); - } - arg1 = reinterpret_cast< IFitParameter * >(argp1); - result = ((IFitParameter const *)arg1)->toString(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *IFitParameter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_IFitParameter, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *_wrap_new_FitParameterSet(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)":new_FitParameterSet")) SWIG_fail; - result = (FitParameterSet *)new FitParameterSet(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FitParameterSet, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_delete_FitParameterSet(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:delete_FitParameterSet",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, SWIG_POINTER_DISOWN | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FitParameterSet" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - delete arg1; - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_clear",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_clear" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - (arg1)->clear(); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - size_t result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_size",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_size" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->size(); - resultobj = SWIG_From_size_t(static_cast< size_t >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_begin__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_begin",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_begin" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = (arg1)->begin(); - resultobj = SWIG_NewPointerObj((new FitParameterSet::iterator(static_cast< const FitParameterSet::iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, SWIG_POINTER_OWN | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_begin__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_begin",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_begin" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->begin(); - resultobj = SWIG_NewPointerObj((new FitParameterSet::const_iterator(static_cast< const FitParameterSet::const_iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, SWIG_POINTER_OWN | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_begin(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[2] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 1) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_begin__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_begin__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_begin'.\n" - " Possible C/C++ prototypes are:\n" - " FitParameterSet::begin()\n" - " FitParameterSet::begin() const\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_end__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_end",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_end" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = (arg1)->end(); - resultobj = SWIG_NewPointerObj((new FitParameterSet::iterator(static_cast< const FitParameterSet::iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, SWIG_POINTER_OWN | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_end__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - SwigValueWrapper< std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_end",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_end" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->end(); - resultobj = SWIG_NewPointerObj((new FitParameterSet::const_iterator(static_cast< const FitParameterSet::const_iterator& >(result))), SWIGTYPE_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, SWIG_POINTER_OWN | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_end(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[2] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 1) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_end__SWIG_0(self, args); - } - } - if (argc == 1) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_end__SWIG_1(self, args); - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_end'.\n" - " Possible C/C++ prototypes are:\n" - " FitParameterSet::end()\n" - " FitParameterSet::end() const\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_addFitParameter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - IFitParameter *arg2 = (IFitParameter *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - void *argp2 = 0 ; - int res2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_addFitParameter",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_addFitParameter" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_addFitParameter" "', argument " "2"" of type '" "IFitParameter *""'"); - } - arg2 = reinterpret_cast< IFitParameter * >(argp2); - (arg1)->addFitParameter(arg2); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_fitParameter",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fitParameter" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = (IFitParameter *)((FitParameterSet const *)arg1)->fitParameter((std::string const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_fitParameter",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fitParameter" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_fitParameter" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = (IFitParameter *)(arg1)->fitParameter((std::string const &)*arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_fitParameter(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[3] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 2) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_fitParameter__SWIG_1(self, args); - } - } - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_fitParameter__SWIG_0(self, args); - } - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_fitParameter'.\n" - " Possible C/C++ prototypes are:\n" - " FitParameterSet::fitParameter(std::string const &) const\n" - " FitParameterSet::fitParameter(std::string const &)\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_values(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::vector< double,std::allocator< double > > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_values",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_values" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->values(); - resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_setValues(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::vector< double,std::allocator< double > > *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setValues",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setValues" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - arg2 = ptr; - } - (arg1)->setValues((std::vector< double,std::allocator< double > > const &)*arg2); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::vector< double,std::allocator< double > > *arg2 = 0 ; - double arg3 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - double val3 ; - int ecode3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - bool result; - - if (!PyArg_ParseTuple(args,(char *)"OOO:FitParameterSet_valuesDifferFrom",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - arg2 = ptr; - } - ecode3 = SWIG_AsVal_double(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "3"" of type '" "double""'"); - } - arg3 = static_cast< double >(val3); - result = (bool)((FitParameterSet const *)arg1)->valuesDifferFrom((std::vector< double,std::allocator< double > > const &)*arg2,arg3); - resultobj = SWIG_From_bool(static_cast< bool >(result)); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::vector< double,std::allocator< double > > *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - bool result; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_valuesDifferFrom",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_valuesDifferFrom" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - arg2 = ptr; - } - result = (bool)((FitParameterSet const *)arg1)->valuesDifferFrom((std::vector< double,std::allocator< double > > const &)*arg2); - resultobj = SWIG_From_bool(static_cast< bool >(result)); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_valuesDifferFrom(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[4] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 3) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet_valuesDifferFrom__SWIG_1(self, args); - } - } - } - if (argc == 3) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = swig::asptr(argv[1], (std::vector< double,std::allocator< double > >**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_double(argv[2], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_FitParameterSet_valuesDifferFrom__SWIG_0(self, args); - } - } - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet_valuesDifferFrom'.\n" - " Possible C/C++ prototypes are:\n" - " FitParameterSet::valuesDifferFrom(std::vector< double,std::allocator< double > > const &,double) const\n" - " FitParameterSet::valuesDifferFrom(std::vector< double,std::allocator< double > > const &) const\n"); - return 0; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_errors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::vector< double,std::allocator< double > > result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_errors",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_errors" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->errors(); - resultobj = swig::from(static_cast< std::vector< double,std::allocator< double > > >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_setErrors(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::vector< double,std::allocator< double > > *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setErrors",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setErrors" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< double,std::allocator< double > > *ptr = (std::vector< double,std::allocator< double > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setErrors" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setErrors" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); - } - arg2 = ptr; - } - (arg1)->setErrors((std::vector< double,std::allocator< double > > const &)*arg2); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_freeFitParameterCount(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - size_t result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_freeFitParameterCount",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_freeFitParameterCount" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->freeFitParameterCount(); - resultobj = SWIG_From_size_t(static_cast< size_t >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_fixAll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_fixAll",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_fixAll" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - (arg1)->fixAll(); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_releaseAll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_releaseAll",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_releaseAll" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - (arg1)->releaseAll(); - resultobj = SWIG_Py_Void(); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_setFixed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::vector< std::string,std::allocator< std::string > > *arg2 = 0 ; - bool arg3 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - bool val3 ; - int ecode3 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - PyObject * obj2 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OOO:FitParameterSet_setFixed",&obj0,&obj1,&obj2)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setFixed" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< std::string,std::allocator< std::string > > *ptr = (std::vector< std::string,std::allocator< std::string > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setFixed" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); - } - arg2 = ptr; - } - ecode3 = SWIG_AsVal_bool(obj2, &val3); - if (!SWIG_IsOK(ecode3)) { - SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "FitParameterSet_setFixed" "', argument " "3"" of type '" "bool""'"); - } - arg3 = static_cast< bool >(val3); - (arg1)->setFixed((std::vector< std::string,std::allocator< std::string > > const &)*arg2,arg3); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_correlationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - FitParameterSet::corr_matrix_t result; - - if (!PyArg_ParseTuple(args,(char *)"O:FitParameterSet_correlationMatrix",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_correlationMatrix" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - result = ((FitParameterSet const *)arg1)->correlationMatrix(); - resultobj = swig::from(static_cast< std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet_setCorrelationMatrix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - FitParameterSet::corr_matrix_t *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet_setCorrelationMatrix",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "1"" of type '" "FitParameterSet *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *ptr = (std::vector< std::vector< double,std::allocator< double > >,std::allocator< std::vector< double,std::allocator< double > > > > *)0; - res2 = swig::asptr(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "2"" of type '" "FitParameterSet::corr_matrix_t const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FitParameterSet_setCorrelationMatrix" "', argument " "2"" of type '" "FitParameterSet::corr_matrix_t const &""'"); - } - arg2 = ptr; - } - (arg1)->setCorrelationMatrix((FitParameterSet::corr_matrix_t const &)*arg2); - resultobj = SWIG_Py_Void(); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet___getitem____SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - std::string arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet___getitem__",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet___getitem__" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - { - std::string *ptr = (std::string *)0; - int res = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res) || !ptr) { - SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "FitParameterSet___getitem__" "', argument " "2"" of type '" "std::string""'"); - } - arg2 = *ptr; - if (SWIG_IsNewObj(res)) delete ptr; - } - result = (IFitParameter *)FitParameterSet___getitem____SWIG_0((FitParameterSet const *)arg1,arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet___getitem____SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - FitParameterSet *arg1 = (FitParameterSet *) 0 ; - size_t arg2 ; - void *argp1 = 0 ; - int res1 = 0 ; - size_t val2 ; - int ecode2 = 0 ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - IFitParameter *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)"OO:FitParameterSet___getitem__",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_FitParameterSet, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FitParameterSet___getitem__" "', argument " "1"" of type '" "FitParameterSet const *""'"); - } - arg1 = reinterpret_cast< FitParameterSet * >(argp1); - ecode2 = SWIG_AsVal_size_t(obj1, &val2); - if (!SWIG_IsOK(ecode2)) { - SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FitParameterSet___getitem__" "', argument " "2"" of type '" "size_t""'"); - } - arg2 = static_cast< size_t >(val2); - result = (IFitParameter *)FitParameterSet___getitem____SWIG_1((FitParameterSet const *)arg1,arg2); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_IFitParameter, 0 | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_FitParameterSet___getitem__(PyObject *self, PyObject *args) { - Py_ssize_t argc; - PyObject *argv[3] = { - 0 - }; - Py_ssize_t ii; - - if (!PyTuple_Check(args)) SWIG_fail; - argc = args ? PyObject_Length(args) : 0; - for (ii = 0; (ii < 2) && (ii < argc); ii++) { - argv[ii] = PyTuple_GET_ITEM(args,ii); - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - { - int res = SWIG_AsVal_size_t(argv[1], NULL); - _v = SWIG_CheckState(res); - } - if (_v) { - return _wrap_FitParameterSet___getitem____SWIG_1(self, args); - } - } - } - if (argc == 2) { - int _v; - void *vptr = 0; - int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_FitParameterSet, 0); - _v = SWIG_CheckState(res); - if (_v) { - int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); - _v = SWIG_CheckState(res); - if (_v) { - return _wrap_FitParameterSet___getitem____SWIG_0(self, args); - } - } - } - -fail: - SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'FitParameterSet___getitem__'.\n" - " Possible C/C++ prototypes are:\n" - " FitParameterSet::__getitem__(std::string) const\n" - " FitParameterSet::__getitem__(size_t) const\n"); - return 0; -} - - -SWIGINTERN PyObject *FitParameterSet_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *obj; - if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL; - SWIG_TypeNewClientData(SWIGTYPE_p_FitParameterSet, SWIG_NewClientData(obj)); - return SWIG_Py_Void(); -} - -SWIGINTERN PyObject *_wrap_new_MinimizerCatalogue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *result = 0 ; - - if (!PyArg_ParseTuple(args,(char *)":new_MinimizerCatalogue")) SWIG_fail; - result = (MinimizerCatalogue *)new MinimizerCatalogue(); - resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_MinimizerCatalogue, SWIG_POINTER_NEW | 0 ); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalogue_toString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::string result; - - if (!PyArg_ParseTuple(args,(char *)"O:MinimizerCatalogue_toString",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_toString" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); - } - arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); - result = ((MinimizerCatalogue const *)arg1)->toString(); - resultobj = SWIG_From_std_string(static_cast< std::string >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalogue_minimizerNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - PyObject * obj0 = 0 ; - std::vector< std::string,std::allocator< std::string > > result; - - if (!PyArg_ParseTuple(args,(char *)"O:MinimizerCatalogue_minimizerNames",&obj0)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_minimizerNames" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); - } - arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); - result = ((MinimizerCatalogue const *)arg1)->minimizerNames(); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); - return resultobj; -fail: - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmNames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - std::vector< std::string,std::allocator< std::string > > result; - - if (!PyArg_ParseTuple(args,(char *)"OO:MinimizerCatalogue_algorithmNames",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); - } - arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalogue_algorithmNames" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = ((MinimizerCatalogue const *)arg1)->algorithmNames((std::string const &)*arg2); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalogue_algorithmDescriptions(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - std::vector< std::string,std::allocator< std::string > > result; - - if (!PyArg_ParseTuple(args,(char *)"OO:MinimizerCatalogue_algorithmDescriptions",&obj0,&obj1)) SWIG_fail; - res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); - if (!SWIG_IsOK(res1)) { - SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "1"" of type '" "MinimizerCatalogue const *""'"); - } - arg1 = reinterpret_cast< MinimizerCatalogue * >(argp1); - { - std::string *ptr = (std::string *)0; - res2 = SWIG_AsPtr_std_string(obj1, &ptr); - if (!SWIG_IsOK(res2)) { - SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); - } - if (!ptr) { - SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MinimizerCatalogue_algorithmDescriptions" "', argument " "2"" of type '" "std::string const &""'"); - } - arg2 = ptr; - } - result = ((MinimizerCatalogue const *)arg1)->algorithmDescriptions((std::string const &)*arg2); - resultobj = swig::from(static_cast< std::vector< std::string,std::allocator< std::string > > >(result)); - if (SWIG_IsNewObj(res2)) delete arg2; - return resultobj; -fail: - if (SWIG_IsNewObj(res2)) delete arg2; - return NULL; -} - - -SWIGINTERN PyObject *_wrap_MinimizerCatalogue_minimizerInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { - PyObject *resultobj = 0; - MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; - std::string *arg2 = 0 ; - void *argp1 = 0 ; - int res1 = 0 ; - int res2 = SWIG_OLDOBJ ; - PyObject * obj0 = 0 ; - PyObject * obj1 = 0 ; - MinimizerInfo *result = 0 ; +SWIGINTERN PyObject *_wrap_MinimizerCatalogue_minimizerInfo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + MinimizerCatalogue *arg1 = (MinimizerCatalogue *) 0 ; + std::string *arg2 = 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 = SWIG_OLDOBJ ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + MinimizerInfo *result = 0 ; if (!PyArg_ParseTuple(args,(char *)"OO:MinimizerCatalogue_minimizerInfo",&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_MinimizerCatalogue, 0 | 0 ); @@ -24563,6 +22476,36 @@ fail: } +SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + Fit::Minimizer *arg1 = (Fit::Minimizer *) 0 ; + IMinimizer *arg2 = (IMinimizer *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Minimizer_setMinimizer",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Fit__Minimizer, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minimizer_setMinimizer" "', argument " "1"" of type '" "Fit::Minimizer *""'"); + } + arg1 = reinterpret_cast< Fit::Minimizer * >(argp1); + res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_IMinimizer, 0 | 0 ); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minimizer_setMinimizer" "', argument " "2"" of type '" "IMinimizer *""'"); + } + arg2 = reinterpret_cast< IMinimizer * >(argp2); + (arg1)->setMinimizer(arg2); + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer(PyObject *self, PyObject *args) { Py_ssize_t argc; PyObject *argv[5] = { @@ -24575,6 +22518,20 @@ SWIGINTERN PyObject *_wrap_Minimizer_setMinimizer(PyObject *self, PyObject *args for (ii = 0; (ii < 4) && (ii < argc); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_Fit__Minimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_IMinimizer, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Minimizer_setMinimizer__SWIG_3(self, args); + } + } + } if (argc == 2) { int _v; void *vptr = 0; @@ -24632,7 +22589,8 @@ fail: " Possible C/C++ prototypes are:\n" " Fit::Minimizer::setMinimizer(std::string const &,std::string const &,std::string const &)\n" " Fit::Minimizer::setMinimizer(std::string const &,std::string const &)\n" - " Fit::Minimizer::setMinimizer(std::string const &)\n"); + " Fit::Minimizer::setMinimizer(std::string const &)\n" + " Fit::Minimizer::setMinimizer(IMinimizer *)\n"); return 0; } @@ -25442,6 +23400,8 @@ static PyMethodDef SwigMethods[] = { "void Parameters::setErrors(const std::vector< double > &errors)\n" "\n" ""}, + { (char *)"Parameters_correlationMatrix", _wrap_Parameters_correlationMatrix, METH_VARARGS, (char *)"Parameters_correlationMatrix(Parameters self) -> vdouble2d_t"}, + { (char *)"Parameters_setCorrelationMatrix", _wrap_Parameters_setCorrelationMatrix, METH_VARARGS, (char *)"Parameters_setCorrelationMatrix(Parameters self, vdouble2d_t matrix)"}, { (char *)"Parameters___getitem__", _wrap_Parameters___getitem__, METH_VARARGS, (char *)"\n" "__getitem__(std::string name) -> Parameter\n" "Parameters___getitem__(Parameters self, size_t index) -> Parameter\n" @@ -25470,14 +23430,6 @@ static PyMethodDef SwigMethods[] = { "return name of the minimization algorithm \n" "\n" ""}, - { (char *)"IMinimizer_minimize", _wrap_IMinimizer_minimize, METH_VARARGS, (char *)"\n" - "IMinimizer_minimize(IMinimizer self)\n" - "\n" - "virtual void IMinimizer::minimize()=0\n" - "\n" - "run minimization \n" - "\n" - ""}, { (char *)"IMinimizer_minimize_scalar", _wrap_IMinimizer_minimize_scalar, METH_VARARGS, (char *)"\n" "IMinimizer_minimize_scalar(IMinimizer self, fcn_scalar_t arg3, Parameters arg4) -> MinimizerResult\n" "\n" @@ -25498,26 +23450,6 @@ static PyMethodDef SwigMethods[] = { "clear resources (parameters) for consecutives minimizations \n" "\n" ""}, - { (char *)"IMinimizer_setParameters", _wrap_IMinimizer_setParameters, METH_VARARGS, (char *)"\n" - "IMinimizer_setParameters(IMinimizer self, FitParameterSet parameters)\n" - "\n" - "virtual void IMinimizer::setParameters(const FitParameterSet ¶meters)=0\n" - "\n" - "Sets internal minimizer parameters using external parameter list. \n" - "\n" - ""}, - { (char *)"IMinimizer_setObjectiveFunction", _wrap_IMinimizer_setObjectiveFunction, METH_VARARGS, (char *)"\n" - "IMinimizer_setObjectiveFunction(IMinimizer self, objective_function_t arg3)\n" - "\n" - "virtual void IMinimizer::setObjectiveFunction(objective_function_t)\n" - "\n" - ""}, - { (char *)"IMinimizer_setGradientFunction", _wrap_IMinimizer_setGradientFunction, METH_VARARGS, (char *)"\n" - "IMinimizer_setGradientFunction(IMinimizer self, gradient_function_t arg3, int arg4)\n" - "\n" - "virtual void IMinimizer::setGradientFunction(gradient_function_t, int)\n" - "\n" - ""}, { (char *)"IMinimizer_minValue", _wrap_IMinimizer_minValue, METH_VARARGS, (char *)"\n" "IMinimizer_minValue(IMinimizer self) -> double\n" "\n" @@ -25526,19 +23458,6 @@ static PyMethodDef SwigMethods[] = { "Returns minimum function value. \n" "\n" ""}, - { (char *)"IMinimizer_reportOutcome", _wrap_IMinimizer_reportOutcome, METH_VARARGS, (char *)"\n" - "IMinimizer_reportOutcome(IMinimizer self) -> std::string\n" - "\n" - "virtual std::string IMinimizer::reportOutcome() const =0\n" - "\n" - ""}, - { (char *)"IMinimizer_propagateResults", _wrap_IMinimizer_propagateResults, METH_VARARGS, (char *)"\n" - "propagateResults(FitParameterSet parameters)\n" - "IMinimizer_propagateResults(IMinimizer self, Parameters parameters)\n" - "\n" - "void IMinimizer::propagateResults(Fit::Parameters ¶meters)\n" - "\n" - ""}, { (char *)"IMinimizer_setOptions", _wrap_IMinimizer_setOptions, METH_VARARGS, (char *)"\n" "IMinimizer_setOptions(IMinimizer self, std::string const & options)\n" "\n" @@ -25548,298 +23467,6 @@ static PyMethodDef SwigMethods[] = { "\n" ""}, { (char *)"IMinimizer_swigregister", IMinimizer_swigregister, METH_VARARGS, NULL}, - { (char *)"new_IFitParameter", _wrap_new_IFitParameter, METH_VARARGS, (char *)"\n" - "IFitParameter()\n" - "IFitParameter(std::string const & name, double value, AttLimits limits, double step=0.0)\n" - "IFitParameter(std::string const & name, double value, AttLimits limits)\n" - "new_IFitParameter(std::string const & name, double value) -> IFitParameter\n" - "\n" - "IFitParameter::IFitParameter(const std::string &name, double value, const AttLimits &limits=AttLimits::limitless(), double step=0.0)\n" - "\n" - ""}, - { (char *)"delete_IFitParameter", _wrap_delete_IFitParameter, METH_VARARGS, (char *)"\n" - "delete_IFitParameter(IFitParameter self)\n" - "\n" - "virtual IFitParameter::~IFitParameter()\n" - "\n" - ""}, - { (char *)"IFitParameter_clone", _wrap_IFitParameter_clone, METH_VARARGS, (char *)"\n" - "IFitParameter_clone(IFitParameter self) -> IFitParameter\n" - "\n" - "IFitParameter * IFitParameter::clone() const \n" - "\n" - ""}, - { (char *)"IFitParameter_name", _wrap_IFitParameter_name, METH_VARARGS, (char *)"\n" - "IFitParameter_name(IFitParameter self) -> std::string\n" - "\n" - "std::string IFitParameter::name() const \n" - "\n" - ""}, - { (char *)"IFitParameter_setName", _wrap_IFitParameter_setName, METH_VARARGS, (char *)"\n" - "IFitParameter_setName(IFitParameter self, std::string const & name) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setName(const std::string &name)\n" - "\n" - ""}, - { (char *)"IFitParameter_startValue", _wrap_IFitParameter_startValue, METH_VARARGS, (char *)"\n" - "IFitParameter_startValue(IFitParameter self) -> double\n" - "\n" - "double IFitParameter::startValue() const \n" - "\n" - ""}, - { (char *)"IFitParameter_setStartValue", _wrap_IFitParameter_setStartValue, METH_VARARGS, (char *)"\n" - "IFitParameter_setStartValue(IFitParameter self, double value)\n" - "\n" - "void IFitParameter::setStartValue(double value)\n" - "\n" - ""}, - { (char *)"IFitParameter_value", _wrap_IFitParameter_value, METH_VARARGS, (char *)"\n" - "IFitParameter_value(IFitParameter self) -> double\n" - "\n" - "double IFitParameter::value() const \n" - "\n" - ""}, - { (char *)"IFitParameter_setValue", _wrap_IFitParameter_setValue, METH_VARARGS, (char *)"\n" - "IFitParameter_setValue(IFitParameter self, double value)\n" - "\n" - "void IFitParameter::setValue(double value)\n" - "\n" - ""}, - { (char *)"IFitParameter_addPattern", _wrap_IFitParameter_addPattern, METH_VARARGS, (char *)"\n" - "IFitParameter_addPattern(IFitParameter self, std::string const & pattern) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::addPattern(const std::string &pattern)\n" - "\n" - ""}, - { (char *)"IFitParameter_step", _wrap_IFitParameter_step, METH_VARARGS, (char *)"\n" - "IFitParameter_step(IFitParameter self) -> double\n" - "\n" - "double IFitParameter::step() const \n" - "\n" - ""}, - { (char *)"IFitParameter_setStep", _wrap_IFitParameter_setStep, METH_VARARGS, (char *)"\n" - "IFitParameter_setStep(IFitParameter self, double value) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setStep(double value)\n" - "\n" - ""}, - { (char *)"IFitParameter_error", _wrap_IFitParameter_error, METH_VARARGS, (char *)"\n" - "IFitParameter_error(IFitParameter self) -> double\n" - "\n" - "double IFitParameter::error() const \n" - "\n" - ""}, - { (char *)"IFitParameter_setError", _wrap_IFitParameter_setError, METH_VARARGS, (char *)"\n" - "IFitParameter_setError(IFitParameter self, double value)\n" - "\n" - "void IFitParameter::setError(double value)\n" - "\n" - ""}, - { (char *)"IFitParameter_limits", _wrap_IFitParameter_limits, METH_VARARGS, (char *)"\n" - "limits() -> AttLimits\n" - "IFitParameter_limits(IFitParameter self) -> AttLimits\n" - "\n" - "AttLimits & IFitParameter::limits()\n" - "\n" - ""}, - { (char *)"IFitParameter_setLimits", _wrap_IFitParameter_setLimits, METH_VARARGS, (char *)"\n" - "IFitParameter_setLimits(IFitParameter self, AttLimits limits) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setLimits(const AttLimits &limits)\n" - "\n" - ""}, - { (char *)"IFitParameter_setLowerLimited", _wrap_IFitParameter_setLowerLimited, METH_VARARGS, (char *)"\n" - "IFitParameter_setLowerLimited(IFitParameter self, double bound_value) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setLowerLimited(double bound_value)\n" - "\n" - ""}, - { (char *)"IFitParameter_setPositive", _wrap_IFitParameter_setPositive, METH_VARARGS, (char *)"\n" - "IFitParameter_setPositive(IFitParameter self) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setPositive()\n" - "\n" - ""}, - { (char *)"IFitParameter_setNonnegative", _wrap_IFitParameter_setNonnegative, METH_VARARGS, (char *)"\n" - "IFitParameter_setNonnegative(IFitParameter self) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setNonnegative()\n" - "\n" - ""}, - { (char *)"IFitParameter_setUpperLimited", _wrap_IFitParameter_setUpperLimited, METH_VARARGS, (char *)"\n" - "IFitParameter_setUpperLimited(IFitParameter self, double bound_value) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setUpperLimited(double bound_value)\n" - "\n" - ""}, - { (char *)"IFitParameter_setLimited", _wrap_IFitParameter_setLimited, METH_VARARGS, (char *)"\n" - "IFitParameter_setLimited(IFitParameter self, double left_bound_value, double right_bound_value) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setLimited(double left_bound_value, double right_bound_value)\n" - "\n" - ""}, - { (char *)"IFitParameter_setFixed", _wrap_IFitParameter_setFixed, METH_VARARGS, (char *)"\n" - "IFitParameter_setFixed(IFitParameter self) -> IFitParameter\n" - "\n" - "IFitParameter & IFitParameter::setFixed()\n" - "\n" - ""}, - { (char *)"IFitParameter_toString", _wrap_IFitParameter_toString, METH_VARARGS, (char *)"\n" - "IFitParameter_toString(IFitParameter self) -> std::string\n" - "\n" - "std::string IFitParameter::toString() const \n" - "\n" - ""}, - { (char *)"IFitParameter_swigregister", IFitParameter_swigregister, METH_VARARGS, NULL}, - { (char *)"new_FitParameterSet", _wrap_new_FitParameterSet, METH_VARARGS, (char *)"\n" - "new_FitParameterSet() -> FitParameterSet\n" - "\n" - "FitParameterSet::FitParameterSet()\n" - "\n" - ""}, - { (char *)"delete_FitParameterSet", _wrap_delete_FitParameterSet, METH_VARARGS, (char *)"\n" - "delete_FitParameterSet(FitParameterSet self)\n" - "\n" - "FitParameterSet::~FitParameterSet()\n" - "\n" - ""}, - { (char *)"FitParameterSet_clear", _wrap_FitParameterSet_clear, METH_VARARGS, (char *)"\n" - "FitParameterSet_clear(FitParameterSet self)\n" - "\n" - "void FitParameterSet::clear()\n" - "\n" - "Clears all defined parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_size", _wrap_FitParameterSet_size, METH_VARARGS, (char *)"\n" - "FitParameterSet_size(FitParameterSet self) -> size_t\n" - "\n" - "size_t FitParameterSet::size() const\n" - "\n" - "Returns number of parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_begin", _wrap_FitParameterSet_begin, METH_VARARGS, (char *)"\n" - "begin() -> FitParameterSet::iterator\n" - "FitParameterSet_begin(FitParameterSet self) -> FitParameterSet::const_iterator\n" - "\n" - "FitParameterSet::const_iterator FitParameterSet::begin() const \n" - "\n" - ""}, - { (char *)"FitParameterSet_end", _wrap_FitParameterSet_end, METH_VARARGS, (char *)"\n" - "end() -> FitParameterSet::iterator\n" - "FitParameterSet_end(FitParameterSet self) -> FitParameterSet::const_iterator\n" - "\n" - "FitParameterSet::const_iterator FitParameterSet::end() const \n" - "\n" - ""}, - { (char *)"FitParameterSet_addFitParameter", _wrap_FitParameterSet_addFitParameter, METH_VARARGS, (char *)"\n" - "FitParameterSet_addFitParameter(FitParameterSet self, IFitParameter par)\n" - "\n" - "void FitParameterSet::addFitParameter(IFitParameter *par)\n" - "\n" - "Adds fit parameter. \n" - "\n" - ""}, - { (char *)"FitParameterSet_fitParameter", _wrap_FitParameterSet_fitParameter, METH_VARARGS, (char *)"\n" - "fitParameter(std::string const & name) -> IFitParameter\n" - "FitParameterSet_fitParameter(FitParameterSet self, std::string const & name) -> IFitParameter\n" - "\n" - "IFitParameter * FitParameterSet::fitParameter(const std::string &name)\n" - "\n" - ""}, - { (char *)"FitParameterSet_values", _wrap_FitParameterSet_values, METH_VARARGS, (char *)"\n" - "FitParameterSet_values(FitParameterSet self) -> vdouble1d_t\n" - "\n" - "std::vector< double > FitParameterSet::values() const\n" - "\n" - "Returns values of all defined parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_setValues", _wrap_FitParameterSet_setValues, METH_VARARGS, (char *)"\n" - "FitParameterSet_setValues(FitParameterSet self, vdouble1d_t pars_values)\n" - "\n" - "void FitParameterSet::setValues(const std::vector< double > &pars_values)\n" - "\n" - "Sets values for all defined parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_valuesDifferFrom", _wrap_FitParameterSet_valuesDifferFrom, METH_VARARGS, (char *)"\n" - "valuesDifferFrom(vdouble1d_t par_values, double tolerance=2.0) -> bool\n" - "FitParameterSet_valuesDifferFrom(FitParameterSet self, vdouble1d_t par_values) -> bool\n" - "\n" - "bool FitParameterSet::valuesDifferFrom(const std::vector< double > &par_values, double tolerance=2.0) const\n" - "\n" - "Returns true if parameters already have the given values. \n" - "\n" - ""}, - { (char *)"FitParameterSet_errors", _wrap_FitParameterSet_errors, METH_VARARGS, (char *)"\n" - "FitParameterSet_errors(FitParameterSet self) -> vdouble1d_t\n" - "\n" - "std::vector< double > FitParameterSet::errors() const\n" - "\n" - "Returns errors of all defined parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_setErrors", _wrap_FitParameterSet_setErrors, METH_VARARGS, (char *)"\n" - "FitParameterSet_setErrors(FitParameterSet self, vdouble1d_t pars_errors)\n" - "\n" - "void FitParameterSet::setErrors(const std::vector< double > &pars_errors)\n" - "\n" - "Sets errors to all parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_freeFitParameterCount", _wrap_FitParameterSet_freeFitParameterCount, METH_VARARGS, (char *)"\n" - "FitParameterSet_freeFitParameterCount(FitParameterSet self) -> size_t\n" - "\n" - "size_t FitParameterSet::freeFitParameterCount() const\n" - "\n" - "Returns number of free parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_fixAll", _wrap_FitParameterSet_fixAll, METH_VARARGS, (char *)"\n" - "FitParameterSet_fixAll(FitParameterSet self)\n" - "\n" - "void FitParameterSet::fixAll()\n" - "\n" - "Fix all parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_releaseAll", _wrap_FitParameterSet_releaseAll, METH_VARARGS, (char *)"\n" - "FitParameterSet_releaseAll(FitParameterSet self)\n" - "\n" - "void FitParameterSet::releaseAll()\n" - "\n" - "Release all parameters. \n" - "\n" - ""}, - { (char *)"FitParameterSet_setFixed", _wrap_FitParameterSet_setFixed, METH_VARARGS, (char *)"\n" - "FitParameterSet_setFixed(FitParameterSet self, vector_string_t pars, bool is_fixed)\n" - "\n" - "void FitParameterSet::setFixed(const std::vector< std::string > &pars, bool is_fixed)\n" - "\n" - "Set fixed flag for parameters from the list. \n" - "\n" - ""}, - { (char *)"FitParameterSet_correlationMatrix", _wrap_FitParameterSet_correlationMatrix, METH_VARARGS, (char *)"\n" - "FitParameterSet_correlationMatrix(FitParameterSet self) -> vdouble2d_t\n" - "\n" - "corr_matrix_t FitParameterSet::correlationMatrix() const \n" - "\n" - ""}, - { (char *)"FitParameterSet_setCorrelationMatrix", _wrap_FitParameterSet_setCorrelationMatrix, METH_VARARGS, (char *)"\n" - "FitParameterSet_setCorrelationMatrix(FitParameterSet self, vdouble2d_t matrix)\n" - "\n" - "void FitParameterSet::setCorrelationMatrix(const corr_matrix_t &matrix)\n" - "\n" - "Sets resulting correlation matrix. \n" - "\n" - ""}, - { (char *)"FitParameterSet___getitem__", _wrap_FitParameterSet___getitem__, METH_VARARGS, (char *)"\n" - "__getitem__(std::string name) -> IFitParameter\n" - "FitParameterSet___getitem__(FitParameterSet self, size_t index) -> IFitParameter\n" - ""}, - { (char *)"FitParameterSet_swigregister", FitParameterSet_swigregister, METH_VARARGS, NULL}, { (char *)"new_MinimizerCatalogue", _wrap_new_MinimizerCatalogue, METH_VARARGS, (char *)"\n" "new_MinimizerCatalogue() -> MinimizerCatalogue\n" "\n" @@ -26041,7 +23668,8 @@ static PyMethodDef SwigMethods[] = { { (char *)"Minimizer_setMinimizer", _wrap_Minimizer_setMinimizer, METH_VARARGS, (char *)"\n" "setMinimizer(std::string const & minimizerName, std::string const & algorithmName, std::string const & options)\n" "setMinimizer(std::string const & minimizerName, std::string const & algorithmName)\n" - "Minimizer_setMinimizer(Minimizer self, std::string const & minimizerName)\n" + "setMinimizer(std::string const & minimizerName)\n" + "Minimizer_setMinimizer(Minimizer self, IMinimizer minimizer)\n" "\n" "void Minimizer::setMinimizer(const std::string &minimizerName, const std::string &algorithmName=\"\", const std::string &options=\"\")\n" "\n" @@ -26062,12 +23690,10 @@ static PyMethodDef SwigMethods[] = { /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ static swig_type_info _swigt__p_AttLimits = {"_p_AttLimits", "AttLimits *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_FitParameterSet = {"_p_FitParameterSet", "FitParameterSet *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Fit__Minimizer = {"_p_Fit__Minimizer", "Fit::Minimizer *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Fit__MinimizerResult = {"_p_Fit__MinimizerResult", "Fit::MinimizerResult *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Fit__Parameter = {"_p_Fit__Parameter", "Fit::Parameter *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_Fit__Parameters = {"_p_Fit__Parameters", "Fit::Parameters *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_IFitParameter = {"_p_IFitParameter", "IFitParameter *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_IMinimizer = {"_p_IMinimizer", "IMinimizer *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_MinimizerCatalogue = {"_p_MinimizerCatalogue", "MinimizerCatalogue *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_MinimizerFactory = {"_p_MinimizerFactory", "MinimizerFactory *", 0, 0, (void*)0, 0}; @@ -26077,16 +23703,13 @@ static swig_type_info _swigt__p_RealLimits = {"_p_RealLimits", "RealLimits *", 0 static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_const_iterator = {"_p_const_iterator", "const_iterator *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_container_t = {"_p_container_t", "container_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_corr_matrix_t = {"_p_corr_matrix_t", "corr_matrix_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_fcn_residual_t = {"_p_fcn_residual_t", "fcn_residual_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_fcn_scalar_t = {"_p_fcn_scalar_t", "fcn_scalar_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_gradient_function_t = {"_p_gradient_function_t", "gradient_function_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_iterator = {"_p_iterator", "iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_long_long = {"_p_long_long", "int_least64_t *|int_fast64_t *|int64_t *|long long *|intmax_t *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_objective_function_t = {"_p_objective_function_t", "objective_function_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_p_PyObject = {"_p_p_PyObject", "PyObject **", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_parameters_t = {"_p_parameters_t", "parameters_t *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *|int16_t *", 0, 0, (void*)0, 0}; @@ -26104,8 +23727,6 @@ static swig_type_info _swigt__p_std__shared_ptrT_IMultiLayerBuilder_t = {"_p_std static swig_type_info _swigt__p_std__shared_ptrT_IObserver_t = {"_p_std__shared_ptrT_IObserver_t", "std::shared_ptr< IObserver > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator = {"_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator", "std::vector< Fit::Parameter,std::allocator< Fit::Parameter > >::const_iterator *|Fit::Parameters::const_iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator = {"_p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator", "std::vector< Fit::Parameter,std::allocator< Fit::Parameter > >::iterator *|Fit::Parameters::iterator *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator = {"_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator", "FitParameterSet::const_iterator *|std::vector< IFitParameter *,std::allocator< IFitParameter * > >::const_iterator *", 0, 0, (void*)0, 0}; -static swig_type_info _swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator = {"_p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator", "FitParameterSet::iterator *|std::vector< IFitParameter *,std::allocator< IFitParameter * > >::iterator *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t = {"_p_std__vectorT_double_std__allocatorT_double_t_t", "std::vector< double,std::allocator< double > > *|std::vector< double > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_int_std__allocatorT_int_t_t = {"_p_std__vectorT_int_std__allocatorT_int_t_t", "std::vector< int,std::allocator< int > > *|std::vector< int > *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t = {"_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t", "std::vector< std::complex< double > > *|std::vector< std::complex< double >,std::allocator< std::complex< double > > > *", 0, 0, (void*)0, 0}; @@ -26121,12 +23742,10 @@ static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0 static swig_type_info *swig_type_initial[] = { &_swigt__p_AttLimits, - &_swigt__p_FitParameterSet, &_swigt__p_Fit__Minimizer, &_swigt__p_Fit__MinimizerResult, &_swigt__p_Fit__Parameter, &_swigt__p_Fit__Parameters, - &_swigt__p_IFitParameter, &_swigt__p_IMinimizer, &_swigt__p_MinimizerCatalogue, &_swigt__p_MinimizerFactory, @@ -26136,16 +23755,13 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_allocator_type, &_swigt__p_char, &_swigt__p_const_iterator, - &_swigt__p_container_t, &_swigt__p_corr_matrix_t, &_swigt__p_difference_type, &_swigt__p_fcn_residual_t, &_swigt__p_fcn_scalar_t, - &_swigt__p_gradient_function_t, &_swigt__p_int, &_swigt__p_iterator, &_swigt__p_long_long, - &_swigt__p_objective_function_t, &_swigt__p_p_PyObject, &_swigt__p_parameters_t, &_swigt__p_short, @@ -26163,8 +23779,6 @@ static swig_type_info *swig_type_initial[] = { &_swigt__p_std__shared_ptrT_IObserver_t, &_swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator, &_swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator, - &_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, - &_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, &_swigt__p_std__vectorT_double_std__allocatorT_double_t_t, &_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, &_swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, @@ -26180,12 +23794,10 @@ static swig_type_info *swig_type_initial[] = { }; static swig_cast_info _swigc__p_AttLimits[] = { {&_swigt__p_AttLimits, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_FitParameterSet[] = { {&_swigt__p_FitParameterSet, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Fit__Minimizer[] = { {&_swigt__p_Fit__Minimizer, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Fit__MinimizerResult[] = { {&_swigt__p_Fit__MinimizerResult, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Fit__Parameter[] = { {&_swigt__p_Fit__Parameter, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_Fit__Parameters[] = { {&_swigt__p_Fit__Parameters, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_IFitParameter[] = { {&_swigt__p_IFitParameter, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_IMinimizer[] = { {&_swigt__p_IMinimizer, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_MinimizerCatalogue[] = { {&_swigt__p_MinimizerCatalogue, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_MinimizerFactory[] = { {&_swigt__p_MinimizerFactory, 0, 0, 0},{0, 0, 0, 0}}; @@ -26195,16 +23807,13 @@ static swig_cast_info _swigc__p_RealLimits[] = { {&_swigt__p_RealLimits, 0, 0, static swig_cast_info _swigc__p_allocator_type[] = { {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_const_iterator[] = { {&_swigt__p_const_iterator, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_container_t[] = { {&_swigt__p_container_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_corr_matrix_t[] = { {&_swigt__p_corr_matrix_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_difference_type[] = { {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_fcn_residual_t[] = { {&_swigt__p_fcn_residual_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_fcn_scalar_t[] = { {&_swigt__p_fcn_scalar_t, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_gradient_function_t[] = { {&_swigt__p_gradient_function_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_iterator[] = { {&_swigt__p_iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_long_long[] = { {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_objective_function_t[] = { {&_swigt__p_objective_function_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_p_PyObject[] = { {&_swigt__p_p_PyObject, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_parameters_t[] = { {&_swigt__p_parameters_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}}; @@ -26222,8 +23831,6 @@ static swig_cast_info _swigc__p_std__shared_ptrT_IMultiLayerBuilder_t[] = { {&_ static swig_cast_info _swigc__p_std__shared_ptrT_IObserver_t[] = { {&_swigt__p_std__shared_ptrT_IObserver_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator[] = { {&_swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator[] = { {&_swigt__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator[] = { {&_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, 0, 0, 0},{0, 0, 0, 0}}; -static swig_cast_info _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator[] = { {&_swigt__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t[] = { {&_swigt__p_std__vectorT_double_std__allocatorT_double_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_int_std__allocatorT_int_t_t[] = { {&_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t[] = { {&_swigt__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}}; @@ -26239,12 +23846,10 @@ static swig_cast_info _swigc__p_value_type[] = { {&_swigt__p_value_type, 0, 0, static swig_cast_info *swig_cast_initial[] = { _swigc__p_AttLimits, - _swigc__p_FitParameterSet, _swigc__p_Fit__Minimizer, _swigc__p_Fit__MinimizerResult, _swigc__p_Fit__Parameter, _swigc__p_Fit__Parameters, - _swigc__p_IFitParameter, _swigc__p_IMinimizer, _swigc__p_MinimizerCatalogue, _swigc__p_MinimizerFactory, @@ -26254,16 +23859,13 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_allocator_type, _swigc__p_char, _swigc__p_const_iterator, - _swigc__p_container_t, _swigc__p_corr_matrix_t, _swigc__p_difference_type, _swigc__p_fcn_residual_t, _swigc__p_fcn_scalar_t, - _swigc__p_gradient_function_t, _swigc__p_int, _swigc__p_iterator, _swigc__p_long_long, - _swigc__p_objective_function_t, _swigc__p_p_PyObject, _swigc__p_parameters_t, _swigc__p_short, @@ -26281,8 +23883,6 @@ static swig_cast_info *swig_cast_initial[] = { _swigc__p_std__shared_ptrT_IObserver_t, _swigc__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__const_iterator, _swigc__p_std__vectorT_Fit__Parameter_std__allocatorT_Fit__Parameter_t_t__iterator, - _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__const_iterator, - _swigc__p_std__vectorT_IFitParameter_p_std__allocatorT_IFitParameter_p_t_t__iterator, _swigc__p_std__vectorT_double_std__allocatorT_double_t_t, _swigc__p_std__vectorT_int_std__allocatorT_int_t_t, _swigc__p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t,