MinimumSeed.h

Go to the documentation of this file.
00001 // @(#)root/minuit2:$Id: MinimumSeed.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_MinimumSeed
00011 #define ROOT_Minuit2_MinimumSeed
00012 
00013 #include "Minuit2/MnRefCountedPointer.h"
00014 #include "Minuit2/BasicMinimumSeed.h"
00015 
00016 namespace ROOT {
00017 
00018    namespace Minuit2 {
00019 
00020 
00021 class MinimumState;
00022 class MinimumParameters;
00023 class MinimumError;
00024 class FunctionGradient;
00025 class MnUserTransformation;
00026 
00027 /** MinimumSeed contains the starting values for the minimization produced 
00028     by the SeedGenerator.
00029  */
00030 
00031 class MinimumSeed {
00032 
00033 public:
00034   
00035   MinimumSeed(const MinimumState& st, const MnUserTransformation& trafo) : fData(MnRefCountedPointer<BasicMinimumSeed>(new BasicMinimumSeed(st, trafo))) {}
00036   
00037   ~MinimumSeed() {}
00038 
00039   MinimumSeed(const MinimumSeed& seed) : fData(seed.fData) {}
00040   
00041   MinimumSeed& operator=(const MinimumSeed& seed) {
00042     fData = seed.fData;
00043     return *this;
00044   }
00045 
00046   const MinimumState& State() const {return fData->State();}
00047   const MinimumParameters& Parameters() const {return fData->Parameters();}
00048   const MinimumError& Error() const {return fData->Error();}
00049   const FunctionGradient& Gradient() const {return fData->Gradient();}
00050   const MnUserTransformation& Trafo() const {return fData->Trafo();}
00051   const MnMachinePrecision& Precision() const {return fData->Precision();}
00052   double Fval() const {return fData->Fval();}
00053   double Edm() const {return fData->Edm();}
00054   unsigned int NFcn() const {return fData->NFcn();}
00055   bool IsValid() const {return fData->IsValid();}
00056 
00057 private:
00058 
00059   MnRefCountedPointer<BasicMinimumSeed> fData;
00060 };
00061 
00062   }  // namespace Minuit2
00063 
00064 }  // namespace ROOT
00065 
00066 #endif  // ROOT_Minuit2_MinimumSeed

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