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 
14 
15 #include <memory>
16 
17 namespace ROOT {
18 
19 namespace Minuit2 {
20 
22 
23 private:
24 public:
25  explicit FunctionGradient(unsigned int n) : fData(std::make_shared<BasicFunctionGradient>(n)) {}
26 
27  // HD: this deep-copies, inconsistent to assignment?
28  explicit FunctionGradient(const MnAlgebraicVector &grd) : fData(std::make_shared<BasicFunctionGradient>(grd)) {}
29 
31  : fData(std::make_shared<BasicFunctionGradient>(grd, g2, gstep))
32  {
33  }
34 
35  FunctionGradient(const FunctionGradient &grad) : fData(grad.fData) {}
36 
37  // HD: assignment shares the pointer
38  FunctionGradient &operator=(const FunctionGradient & /*grad*/) = default;
39 
40  const MnAlgebraicVector &Grad() const { return fData->Grad(); }
41  const MnAlgebraicVector &Vec() const { return fData->Vec(); }
42  bool IsValid() const { return fData->IsValid(); }
43 
44  bool IsAnalytical() const { return fData->IsAnalytical(); }
45  const MnAlgebraicVector &G2() const { return fData->G2(); }
46  const MnAlgebraicVector &Gstep() const { return fData->Gstep(); }
47 
48 private:
49  std::shared_ptr<BasicFunctionGradient> fData;
50 };
51 
52 } // namespace Minuit2
53 
54 } // namespace ROOT
55 
56 #endif // ROOT_Minuit2_FunctionGradient
n
const Int_t n
Definition: legend1.C:16
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::FunctionGradient
FunctionGradient(const FunctionGradient &grad)
Definition: FunctionGradient.h:35
ROOT::Minuit2::FunctionGradient::Vec
const MnAlgebraicVector & Vec() const
Definition: FunctionGradient.h:41
ROOT::Minuit2::FunctionGradient::FunctionGradient
FunctionGradient(const MnAlgebraicVector &grd)
Definition: FunctionGradient.h:28
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::BasicFunctionGradient
Definition: BasicFunctionGradient.h:23
ROOT::Minuit2::FunctionGradient::operator=
FunctionGradient & operator=(const FunctionGradient &)=default
ROOT::Minuit2::FunctionGradient::FunctionGradient
FunctionGradient(const MnAlgebraicVector &grd, const MnAlgebraicVector &g2, const MnAlgebraicVector &gstep)
Definition: FunctionGradient.h:30
ROOT::Minuit2::FunctionGradient::Grad
const MnAlgebraicVector & Grad() const
Definition: FunctionGradient.h:40
ROOT::Minuit2::FunctionGradient::Gstep
const MnAlgebraicVector & Gstep() const
Definition: FunctionGradient.h:46
BasicFunctionGradient.h
ROOT::Minuit2::FunctionGradient::fData
std::shared_ptr< BasicFunctionGradient > fData
Definition: FunctionGradient.h:49
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4