Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
MinimumSeed.h
Go to the documentation of this file.
1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7  * *
8  **********************************************************************/
9 
10 #ifndef ROOT_Minuit2_MinimumSeed
11 #define ROOT_Minuit2_MinimumSeed
12 
15 
16 namespace ROOT {
17 
18  namespace Minuit2 {
19 
20 
21 class MinimumState;
22 class MinimumParameters;
23 class MinimumError;
24 class FunctionGradient;
25 class MnUserTransformation;
26 
27 /** MinimumSeed contains the starting values for the minimization produced
28  by the SeedGenerator.
29  */
30 
31 class MinimumSeed {
32 
33 public:
34 
35  MinimumSeed(const MinimumState& st, const MnUserTransformation& trafo) : fData(MnRefCountedPointer<BasicMinimumSeed>(new BasicMinimumSeed(st, trafo))) {}
36 
37  ~MinimumSeed() {}
38 
39  MinimumSeed(const MinimumSeed& seed) : fData(seed.fData) {}
40 
41  MinimumSeed& operator=(const MinimumSeed& seed) {
42  fData = seed.fData;
43  return *this;
44  }
45 
46  const MinimumState& State() const {return fData->State();}
47  const MinimumParameters& Parameters() const {return fData->Parameters();}
48  const MinimumError& Error() const {return fData->Error();}
49  const FunctionGradient& Gradient() const {return fData->Gradient();}
50  const MnUserTransformation& Trafo() const {return fData->Trafo();}
51  const MnMachinePrecision& Precision() const {return fData->Precision();}
52  double Fval() const {return fData->Fval();}
53  double Edm() const {return fData->Edm();}
54  unsigned int NFcn() const {return fData->NFcn();}
55  bool IsValid() const {return fData->IsValid();}
56 
57 private:
58 
59  MnRefCountedPointer<BasicMinimumSeed> fData;
60 };
61 
62  } // namespace Minuit2
63 
64 } // namespace ROOT
65 
66 #endif // ROOT_Minuit2_MinimumSeed