From cb0abe1be2b3b07cd008489e1aaa75d362879c50 Mon Sep 17 00:00:00 2001 From: Lorenzo Moneta <Lorenzo.Moneta@cern.ch> Date: Wed, 30 Apr 2008 16:13:06 +0000 Subject: [PATCH] - sync changes of David from dev. branch use directly ROOT::Math::IMultiGenFunction and ROOT::Math::IMultiGradFunction instead of typedef's git-svn-id: http://root.cern.ch/svn/root/trunk@23623 27541ba8-7e3a-0410-8455-c3a389f83636 --- math/minuit/inc/TLinearMinimizer.h | 6 +++--- math/minuit/inc/TMinuitMinimizer.h | 6 +++--- math/minuit/src/TLinearMinimizer.cxx | 4 ++-- math/minuit/src/TMinuitMinimizer.cxx | 12 ++++++------ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/math/minuit/inc/TLinearMinimizer.h b/math/minuit/inc/TLinearMinimizer.h index d9acc043214..9ab31c48b69 100644 --- a/math/minuit/inc/TLinearMinimizer.h +++ b/math/minuit/inc/TLinearMinimizer.h @@ -62,10 +62,10 @@ private: public: /// set the fit model function - virtual void SetFunction(const ROOT::Math::Minimizer::IObjFunction & func); + virtual void SetFunction(const ROOT::Math::IMultiGenFunction & func); /// set the function to minimize - virtual void SetFunction(const ROOT::Math::Minimizer::IGradObjFunction & func); + virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func); /// set free variable (dummy impl. ) virtual bool SetVariable(unsigned int , const std::string & , double , double ) { return false; } @@ -130,7 +130,7 @@ private: std::vector<double> fErrors; std::vector<double> fCovar; - const ROOT::Math::Minimizer::IGradObjFunction * fObjFunc; + const ROOT::Math::IMultiGradFunction * fObjFunc; TLinearFitter * fFitter; ClassDef(TLinearMinimizer,1) //Implementation of the Minimizer interface using TLinearFitter diff --git a/math/minuit/inc/TMinuitMinimizer.h b/math/minuit/inc/TMinuitMinimizer.h index e42041cedf8..6902dec121a 100644 --- a/math/minuit/inc/TMinuitMinimizer.h +++ b/math/minuit/inc/TMinuitMinimizer.h @@ -81,10 +81,10 @@ private: public: /// set the function to minimize - virtual void SetFunction(const ROOT::Math::Minimizer::IObjFunction & func); + virtual void SetFunction(const ROOT::Math::IMultiGenFunction & func); /// set the function to minimize - virtual void SetFunction(const ROOT::Math::Minimizer::IGradObjFunction & func); + virtual void SetFunction(const ROOT::Math::IMultiGradFunction & func); /// set free variable virtual bool SetVariable(unsigned int ivar, const std::string & name, double val, double step); @@ -176,7 +176,7 @@ private: // need to have a static copy of the function //NOTE: This is NOT thread safe. - static IObjFunction * fgFunc; + static ROOT::Math::IMultiGenFunction * fgFunc; static TMinuit * fgMinuit; diff --git a/math/minuit/src/TLinearMinimizer.cxx b/math/minuit/src/TLinearMinimizer.cxx index 59a9138f8f7..414eb66000b 100644 --- a/math/minuit/src/TLinearMinimizer.cxx +++ b/math/minuit/src/TLinearMinimizer.cxx @@ -93,14 +93,14 @@ TLinearMinimizer & TLinearMinimizer::operator = (const TLinearMinimizer &rhs) } -void TLinearMinimizer::SetFunction(const IObjFunction & ) { +void TLinearMinimizer::SetFunction(const ROOT::Math::IMultiGenFunction & ) { // Set function to be minimized. Flag an error since only support Gradient objective functions Error("SetFunction1","Wrong type of function used for Linear fitter"); } -void TLinearMinimizer::SetFunction(const IGradObjFunction & objfunc) { +void TLinearMinimizer::SetFunction(const ROOT::Math::IMultiGradFunction & objfunc) { // Set the function to be minimized. The function must be a Chi2 gradient function // When performing a linear fit we need the basis functions, which are the partial derivatives with respect to the parameters of the model function. diff --git a/math/minuit/src/TMinuitMinimizer.cxx b/math/minuit/src/TMinuitMinimizer.cxx index 47064647599..98a775d317e 100644 --- a/math/minuit/src/TMinuitMinimizer.cxx +++ b/math/minuit/src/TMinuitMinimizer.cxx @@ -32,7 +32,7 @@ // initialize the static instances -ROOT::Math::Minimizer::IObjFunction * TMinuitMinimizer::fgFunc = 0; +ROOT::Math::IMultiGenFunction * TMinuitMinimizer::fgFunc = 0; TMinuit * TMinuitMinimizer::fgMinuit = 0; ClassImp(TMinuitMinimizer) @@ -87,7 +87,7 @@ TMinuitMinimizer & TMinuitMinimizer::operator = (const TMinuitMinimizer &rhs) -void TMinuitMinimizer::SetFunction(const IObjFunction & func) { +void TMinuitMinimizer::SetFunction(const ROOT::Math::IMultiGenFunction & func) { // Set the objective function to be minimized // Here a TMinuit instance is created since only at this point we know the number of parameters @@ -109,7 +109,7 @@ void TMinuitMinimizer::SetFunction(const IObjFunction & func) { fDim = func.NDim(); // assign to the static pointer (NO Thread safety here) - fgFunc = const_cast<IObjFunction *>(&func); + fgFunc = const_cast<ROOT::Math::IMultiGenFunction *>(&func); fMinuit->SetFCN(&TMinuitMinimizer::Fcn); // set print level in TMinuit @@ -122,7 +122,7 @@ void TMinuitMinimizer::SetFunction(const IObjFunction & func) { } -void TMinuitMinimizer::SetFunction(const IGradObjFunction & func) { +void TMinuitMinimizer::SetFunction(const ROOT::Math::IMultiGradFunction & func) { fDim = func.NDim(); @@ -137,7 +137,7 @@ void TMinuitMinimizer::SetFunction(const IGradObjFunction & func) { fDim = func.NDim(); // assign to the static pointer (NO Thread safety here) - fgFunc = const_cast<IGradObjFunction *>(&func); + fgFunc = const_cast<ROOT::Math::IMultiGradFunction *>(&func); fMinuit->SetFCN(&TMinuitMinimizer::FcnGrad); // set print level in TMinuit @@ -160,7 +160,7 @@ void TMinuitMinimizer::Fcn( int &, double * , double & f, double * x , int /* if void TMinuitMinimizer::FcnGrad( int &, double * g, double & f, double * x , int iflag ) { // implementation of TMinuit FCN function using an IGenFunction - IGradObjFunction * gFunc = dynamic_cast<IGradObjFunction *> ( fgFunc); + ROOT::Math::IMultiGradFunction * gFunc = dynamic_cast<ROOT::Math::IMultiGradFunction *> ( fgFunc); assert(gFunc != 0); f = gFunc->operator()(x); -- GitLab