Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
MinimumParameters.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_MinimumParameters
11 #define ROOT_Minuit2_MinimumParameters
12 
15 
16 namespace ROOT {
17 
18  namespace Minuit2 {
19 
20 
21 class MinimumParameters {
22 
23 public:
24 
25  MinimumParameters(unsigned int n, double fval = 0) :
26  fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(n,fval))) {}
27 
28  /** takes the Parameter vector */
29  MinimumParameters(const MnAlgebraicVector& avec, double fval) :
30  fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(avec, fval))) {}
31 
32  /** takes the Parameter vector plus step size x1 - x0 = dirin */
33  MinimumParameters(const MnAlgebraicVector& avec, const MnAlgebraicVector& dirin, double fval) :
34  fData(MnRefCountedPointer<BasicMinimumParameters>(new BasicMinimumParameters(avec, dirin, fval))) {}
35 
36  ~MinimumParameters() {}
37 
38  MinimumParameters(const MinimumParameters& par) : fData(par.fData) {}
39 
40  MinimumParameters& operator=(const MinimumParameters& par) {
41  fData = par.fData;
42  return *this;
43  }
44 
45  const MnAlgebraicVector& Vec() const {return fData->Vec();}
46  const MnAlgebraicVector& Dirin() const {return fData->Dirin();}
47  double Fval() const {return fData->Fval();}
48  bool IsValid() const {return fData->IsValid();}
49  bool HasStepSize() const {return fData->HasStepSize();}
50 
51 private:
52 
53  MnRefCountedPointer<BasicMinimumParameters> fData;
54 };
55 
56  } // namespace Minuit2
57 
58 } // namespace ROOT
59 
60 #endif // ROOT_Minuit2_MinimumParameters