Logo ROOT  
Reference Guide
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 
13 #include "Minuit2/MnMatrix.h"
14 
15 namespace ROOT {
16 
17 namespace Minuit2 {
18 
20 
21 public:
22  MinimumParameters(unsigned int n, double fval = 0)
23  : fPtr{new Data{MnAlgebraicVector(n), MnAlgebraicVector(n), fval, false, false}}
24  {
25  }
26 
27  /** takes the Parameter vector */
28  MinimumParameters(const MnAlgebraicVector &avec, double fval)
29  : fPtr{new Data{avec, MnAlgebraicVector(avec.size()), fval, true, false}}
30  {
31  }
32 
33  /** takes the Parameter vector plus step size x1 - x0 = dirin */
34  MinimumParameters(const MnAlgebraicVector &avec, const MnAlgebraicVector &dirin, double fval)
35  : fPtr{new Data{avec, dirin, fval, true, true}}
36  {
37  }
38 
39  const MnAlgebraicVector &Vec() const { return fPtr->fParameters; }
40  const MnAlgebraicVector &Dirin() const { return fPtr->fStepSize; }
41  double Fval() const { return fPtr->fFVal; }
42  bool IsValid() const { return fPtr->fValid; }
43  bool HasStepSize() const { return fPtr->fHasStep; }
44 
45 private:
46  struct Data {
49  double fFVal;
50  bool fValid;
51  bool fHasStep;
52  };
53 
54  std::shared_ptr<Data> fPtr;
55 };
56 
57 } // namespace Minuit2
58 
59 } // namespace ROOT
60 
61 #endif // ROOT_Minuit2_MinimumParameters
n
const Int_t n
Definition: legend1.C:16
ROOT::Minuit2::LAVector
Definition: LAVector.h:32
ROOT::Minuit2::MinimumParameters::HasStepSize
bool HasStepSize() const
Definition: MinimumParameters.h:43
ROOT::Minuit2::MinimumParameters::Data::fValid
bool fValid
Definition: MinimumParameters.h:50
ROOT::Minuit2::MinimumParameters::Vec
const MnAlgebraicVector & Vec() const
Definition: MinimumParameters.h:39
ROOT::Minuit2::MinimumParameters::Data::fHasStep
bool fHasStep
Definition: MinimumParameters.h:51
MnMatrix.h
ROOT::Minuit2::MinimumParameters::Data::fFVal
double fFVal
Definition: MinimumParameters.h:49
ROOT::Minuit2::MinimumParameters::fPtr
std::shared_ptr< Data > fPtr
Definition: MinimumParameters.h:54
ROOT::Minuit2::MinimumParameters::Fval
double Fval() const
Definition: MinimumParameters.h:41
ROOT::Minuit2::MinimumParameters::MinimumParameters
MinimumParameters(const MnAlgebraicVector &avec, const MnAlgebraicVector &dirin, double fval)
takes the Parameter vector plus step size x1 - x0 = dirin
Definition: MinimumParameters.h:34
ROOT::Minuit2::MnAlgebraicVector
LAVector MnAlgebraicVector
Definition: MnMatrix.h:28
ROOT::Minuit2::MinimumParameters
Definition: MinimumParameters.h:19
ROOT::Minuit2::MinimumParameters::MinimumParameters
MinimumParameters(const MnAlgebraicVector &avec, double fval)
takes the Parameter vector
Definition: MinimumParameters.h:28
ROOT::Minuit2::MinimumParameters::Data::fStepSize
MnAlgebraicVector fStepSize
Definition: MinimumParameters.h:48
ROOT::Minuit2::MinimumParameters::Dirin
const MnAlgebraicVector & Dirin() const
Definition: MinimumParameters.h:40
ROOT::Minuit2::MinimumParameters::IsValid
bool IsValid() const
Definition: MinimumParameters.h:42
ROOT::Minuit2::MinimumParameters::Data
Definition: MinimumParameters.h:46
ROOT::Minuit2::MinimumParameters::Data::fParameters
MnAlgebraicVector fParameters
Definition: MinimumParameters.h:47
ROOT::Minuit2::LAVector::size
unsigned int size() const
Definition: LAVector.h:227
ROOT::Minuit2::MinimumParameters::MinimumParameters
MinimumParameters(unsigned int n, double fval=0)
Definition: MinimumParameters.h:22
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4