ROOT   Reference Guide
Searching...
No Matches
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
20namespace ROOT {
21
22namespace 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
31public:
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; }
53
54private:
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
class describing the simplex set of points (f(x), x ) which evolve during the minimization iteration ...
MnAlgebraicVector Dirin() const
SimplexParameters(const std::vector< std::pair< double, MnAlgebraicVector > > &simpl, unsigned int jh, unsigned int jl)
const std::vector< std::pair< double, MnAlgebraicVector > > & Simplex() const
std::vector< std::pair< double, MnAlgebraicVector > > fSimplexParameters
const std::pair< double, MnAlgebraicVector > & operator()(unsigned int i) const
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...