MinimumParameters.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: MinimumParameters.h 20880 2007-11-19 11:23:41Z rdm $
00002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005  
00003 
00004 /**********************************************************************
00005  *                                                                    *
00006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
00007  *                                                                    *
00008  **********************************************************************/
00009 
00010 #ifndef ROOT_Minuit2_MinimumParameters
00011 #define ROOT_Minuit2_MinimumParameters
00012 
00013 #include "Minuit2/MnRefCountedPointer.h"
00014 #include "Minuit2/BasicMinimumParameters.h"
00015 
00016 namespace ROOT {
00017 
00018    namespace Minuit2 {
00019 
00020 
00021 class MinimumParameters {
00022 
00023 public:
00024 
00025   MinimumParameters(unsigned int n) : 
00026    fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(n))) {}
00027 
00028   /** takes the Parameter vector */
00029   MinimumParameters(const MnAlgebraicVector& avec, double fval) : 
00030    fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(avec, fval)))  {}
00031   
00032   /** takes the Parameter vector plus step size x1 - x0 = dirin */
00033   MinimumParameters(const MnAlgebraicVector& avec, const MnAlgebraicVector& dirin, double fval) : fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(avec, dirin, fval)))  {}
00034   
00035   ~MinimumParameters() {}
00036 
00037   MinimumParameters(const MinimumParameters& par) : fData(par.fData) {}
00038 
00039   MinimumParameters& operator=(const MinimumParameters& par) {
00040     fData = par.fData;
00041     return *this;
00042   }
00043 
00044   const MnAlgebraicVector& Vec() const {return fData->Vec();}
00045   const MnAlgebraicVector& Dirin() const {return fData->Dirin();}
00046   double Fval() const {return fData->Fval();}
00047   bool IsValid() const {return fData->IsValid();}
00048   bool HasStepSize() const {return fData->HasStepSize();}
00049 
00050 private:
00051 
00052   MnRefCountedPointer<BasicMinimumParameters> fData;
00053 };
00054 
00055   }  // namespace Minuit2
00056 
00057 }  // namespace ROOT
00058 
00059 #endif  // ROOT_Minuit2_MinimumParameters

Generated on Tue Jul 5 14:25:43 2011 for ROOT_528-00b_version by  doxygen 1.5.1