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