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