Logo ROOT  
Reference Guide
SimplexParameters.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_SimplexParameters
11 #define ROOT_Minuit2_SimplexParameters
12 
13 #include <cassert>
14 
15 #include "Minuit2/MnMatrix.h"
16 
17 #include <vector>
18 #include <utility>
19 
20 namespace ROOT {
21 
22 namespace Minuit2 {
23 
24 /**
25  class describing the simplex set of points (f(x), x ) which evolve during the minimization
26  iteration process.
27  */
28 
30 
31 public:
32  SimplexParameters(const std::vector<std::pair<double, MnAlgebraicVector>> &simpl, unsigned int jh, unsigned int jl)
33  : fSimplexParameters(simpl), fJHigh(jh), fJLow(jl)
34  {
35  }
36 
38 
39  void Update(double, const MnAlgebraicVector &);
40 
41  const std::vector<std::pair<double, MnAlgebraicVector>> &Simplex() const { return fSimplexParameters; }
42 
43  const std::pair<double, MnAlgebraicVector> &operator()(unsigned int i) const
44  {
45  assert(i < fSimplexParameters.size());
46  return fSimplexParameters[i];
47  }
48 
49  unsigned int Jh() const { return fJHigh; }
50  unsigned int Jl() const { return fJLow; }
51  double Edm() const { return fSimplexParameters[Jh()].first - fSimplexParameters[Jl()].first; }
52  MnAlgebraicVector Dirin() const;
53 
54 private:
55  std::vector<std::pair<double, MnAlgebraicVector>> fSimplexParameters;
56  unsigned int fJHigh;
57  unsigned int fJLow;
58 };
59 
60 } // namespace Minuit2
61 
62 } // namespace ROOT
63 
64 #endif // ROOT_Minuit2_SimplexParameters
ROOT::Minuit2::SimplexParameters::fJHigh
unsigned int fJHigh
Definition: SimplexParameters.h:56
ROOT::Minuit2::LAVector
Definition: LAVector.h:32
MnMatrix.h
ROOT::Minuit2::SimplexParameters::Update
void Update(double, const MnAlgebraicVector &)
Definition: SimplexParameters.cxx:16
ROOT::Minuit2::SimplexParameters::operator()
const std::pair< double, MnAlgebraicVector > & operator()(unsigned int i) const
Definition: SimplexParameters.h:43
ROOT::Minuit2::SimplexParameters::~SimplexParameters
~SimplexParameters()
Definition: SimplexParameters.h:37
ROOT::Minuit2::SimplexParameters::Dirin
MnAlgebraicVector Dirin() const
Definition: SimplexParameters.cxx:33
ROOT::Minuit2::SimplexParameters::fSimplexParameters
std::vector< std::pair< double, MnAlgebraicVector > > fSimplexParameters
Definition: SimplexParameters.h:55
ROOT::Minuit2::SimplexParameters::Simplex
const std::vector< std::pair< double, MnAlgebraicVector > > & Simplex() const
Definition: SimplexParameters.h:41
ROOT::Minuit2::SimplexParameters::Jh
unsigned int Jh() const
Definition: SimplexParameters.h:49
ROOT::Minuit2::SimplexParameters::Edm
double Edm() const
Definition: SimplexParameters.h:51
ROOT::Minuit2::SimplexParameters::Jl
unsigned int Jl() const
Definition: SimplexParameters.h:50
ROOT::Minuit2::SimplexParameters
class describing the simplex set of points (f(x), x ) which evolve during the minimization iteration ...
Definition: SimplexParameters.h:29
ROOT::Minuit2::SimplexParameters::fJLow
unsigned int fJLow
Definition: SimplexParameters.h:57
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::SimplexParameters::SimplexParameters
SimplexParameters(const std::vector< std::pair< double, MnAlgebraicVector >> &simpl, unsigned int jh, unsigned int jl)
Definition: SimplexParameters.h:32