Logo ROOT  
Reference Guide
FunctionGradient.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_FunctionGradient
11 #define ROOT_Minuit2_FunctionGradient
12 
13 #include "Minuit2/MnMatrix.h"
14 
15 #include <memory>
16 
17 namespace ROOT {
18 
19 namespace Minuit2 {
20 
22 
23 private:
24 public:
25  explicit FunctionGradient(unsigned int n)
27  {
28  }
29 
30  explicit FunctionGradient(const MnAlgebraicVector &grd)
31  : fPtr{new Data{grd, MnAlgebraicVector(grd.size()), MnAlgebraicVector(grd.size()), true, true}}
32  {
33  }
34 
36  : fPtr{new Data{grd, g2, gstep, true, false}}
37  {
38  }
39 
40  const MnAlgebraicVector &Grad() const { return fPtr->fGradient; }
41  const MnAlgebraicVector &Vec() const { return Grad(); }
42  bool IsValid() const { return fPtr->fValid; }
43 
44  bool IsAnalytical() const { return fPtr->fAnalytical; }
45  const MnAlgebraicVector &G2() const { return fPtr->fG2ndDerivative; }
46  const MnAlgebraicVector &Gstep() const { return fPtr->fGStepSize; }
47 
48 private:
49  struct Data {
53  bool fValid;
55  };
56 
57  std::shared_ptr<Data> fPtr;
58 };
59 
60 } // namespace Minuit2
61 
62 } // namespace ROOT
63 
64 #endif // ROOT_Minuit2_FunctionGradient
n
const Int_t n
Definition: legend1.C:16
ROOT::Minuit2::FunctionGradient::Data::fGradient
MnAlgebraicVector fGradient
Definition: FunctionGradient.h:50
ROOT::Minuit2::FunctionGradient::IsValid
bool IsValid() const
Definition: FunctionGradient.h:42
ROOT::Minuit2::LAVector
Definition: LAVector.h:32
ROOT::Minuit2::FunctionGradient::FunctionGradient
FunctionGradient(unsigned int n)
Definition: FunctionGradient.h:25
ROOT::Minuit2::FunctionGradient::Data
Definition: FunctionGradient.h:49
ROOT::Minuit2::FunctionGradient::Data::fValid
bool fValid
Definition: FunctionGradient.h:53
MnMatrix.h
ROOT::Minuit2::FunctionGradient::Vec
const MnAlgebraicVector & Vec() const
Definition: FunctionGradient.h:41
ROOT::Minuit2::FunctionGradient::FunctionGradient
FunctionGradient(const MnAlgebraicVector &grd)
Definition: FunctionGradient.h:30
ROOT::Minuit2::FunctionGradient::IsAnalytical
bool IsAnalytical() const
Definition: FunctionGradient.h:44
ROOT::Minuit2::FunctionGradient
Definition: FunctionGradient.h:21
ROOT::Minuit2::FunctionGradient::G2
const MnAlgebraicVector & G2() const
Definition: FunctionGradient.h:45
ROOT::Minuit2::FunctionGradient::fPtr
std::shared_ptr< Data > fPtr
Definition: FunctionGradient.h:57
ROOT::Minuit2::MnAlgebraicVector
LAVector MnAlgebraicVector
Definition: MnMatrix.h:28
ROOT::Minuit2::FunctionGradient::FunctionGradient
FunctionGradient(const MnAlgebraicVector &grd, const MnAlgebraicVector &g2, const MnAlgebraicVector &gstep)
Definition: FunctionGradient.h:35
ROOT::Minuit2::FunctionGradient::Grad
const MnAlgebraicVector & Grad() const
Definition: FunctionGradient.h:40
ROOT::Minuit2::FunctionGradient::Gstep
const MnAlgebraicVector & Gstep() const
Definition: FunctionGradient.h:46
ROOT::Minuit2::LAVector::size
unsigned int size() const
Definition: LAVector.h:227
ROOT::Minuit2::FunctionGradient::Data::fG2ndDerivative
MnAlgebraicVector fG2ndDerivative
Definition: FunctionGradient.h:51
ROOT::Minuit2::FunctionGradient::Data::fGStepSize
MnAlgebraicVector fGStepSize
Definition: FunctionGradient.h:52
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
ROOT::Minuit2::FunctionGradient::Data::fAnalytical
bool fAnalytical
Definition: FunctionGradient.h:54