#ifndef ROOT_Minuit2_FunctionMinimum
#define ROOT_Minuit2_FunctionMinimum
#include "Minuit2/BasicFunctionMinimum.h"
#ifdef G__DICTIONARY
typedef ROOT::Minuit2::MinimumState MinimumState; 
#endif
namespace ROOT {
   namespace Minuit2 {
class FunctionMinimum {
public:
   class MnReachedCallLimit {};
   class MnAboveMaxEdm {};
public:
   
   FunctionMinimum(const MinimumSeed& seed, double up) : fData(MnRefCountedPointer<BasicFunctionMinimum>(new BasicFunctionMinimum(seed, up))) {}
  
   FunctionMinimum(const MinimumSeed& seed, const std::vector<MinimumState>& states, double up) : fData(MnRefCountedPointer<BasicFunctionMinimum>(new BasicFunctionMinimum(seed, states, up))) {}
  
   FunctionMinimum(const MinimumSeed& seed, const std::vector<MinimumState>& states, double up, MnReachedCallLimit) : fData(MnRefCountedPointer<BasicFunctionMinimum>(new BasicFunctionMinimum(seed, states, up, BasicFunctionMinimum::MnReachedCallLimit()))) {}
  
   FunctionMinimum(const MinimumSeed& seed, const std::vector<MinimumState>& states, double up, MnAboveMaxEdm) : fData(MnRefCountedPointer<BasicFunctionMinimum>(new BasicFunctionMinimum(seed, states, up, BasicFunctionMinimum::MnAboveMaxEdm()))) {}
   FunctionMinimum(const FunctionMinimum& min) : fData(min.fData) {}
  
   FunctionMinimum& operator=(const FunctionMinimum& min) {
      fData = min.fData;
      return *this;
   }
  
   ~FunctionMinimum() {}
  
   
   void Add(const MinimumState& state) {fData->Add(state);}
   const MinimumSeed& Seed() const {return fData->Seed();}
   const std::vector<ROOT::Minuit2::MinimumState>& States() const {return fData->States();}
   const MnUserParameterState& UserState() const {
      return fData->UserState();
   }
   const MnUserParameters& UserParameters() const {
      return fData->UserParameters();
   }
   const MnUserCovariance& UserCovariance() const {
      return fData->UserCovariance();
   }
   const MinimumState& State() const {return fData->State();}
   const MinimumParameters& Parameters() const {return fData->Parameters();}
   const MinimumError& Error() const {return fData->Error();}
   const FunctionGradient& Grad() const {return fData->Grad();}
   double Fval() const {return fData->Fval();}
   double Edm() const {return fData->Edm();}
   int NFcn() const {return fData->NFcn();}  
  
   double Up() const {return fData->Up();}
   bool IsValid() const {return fData->IsValid();}
   bool HasValidParameters() const {return fData->HasValidParameters();}
   bool HasValidCovariance() const {return fData->HasValidCovariance();}
   bool HasAccurateCovar() const {return fData->HasAccurateCovar();}
   bool HasPosDefCovar() const {return fData->HasPosDefCovar();}
   bool HasMadePosDefCovar() const {return fData->HasMadePosDefCovar();}
   bool HesseFailed() const {return fData->HesseFailed();}
   bool HasCovariance() const {return fData->HasCovariance();}
   bool IsAboveMaxEdm() const {return fData->IsAboveMaxEdm();}
   bool HasReachedCallLimit() const {return fData->HasReachedCallLimit();}
   void SetErrorDef( double up) { return fData->SetErrorDef(up);}
private:
   MnRefCountedPointer<BasicFunctionMinimum> fData;
};
  }  
}  
#endif  // ROOT_Minuit2_FunctionMinimum
Last update: Thu Jan 17 08:42:35 2008
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.