Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ModularFunctionMinimizer.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_ModularFunctionMinimizer
11#define ROOT_Minuit2_ModularFunctionMinimizer
12
13#include "Minuit2/MnConfig.h"
14
15#include "Minuit2/MnStrategy.h"
16
17#include <vector>
18
19namespace ROOT {
20
21namespace Minuit2 {
22
23class MinimumSeedGenerator;
24class MinimumBuilder;
25class MinimumSeed;
26class MnFcn;
27class GradientCalculator;
28class MnUserParameterState;
29class MnUserParameters;
30class MnUserCovariance;
31class FCNBase;
32class FumiliFCNBase;
33class FunctionMinimum;
34
35//_____________________________________________________________
36/**
37 Base common class providing the API for all the minimizer
38 Various Minimize methods are provided varying on the type of
39 FCN function passesd and on the objects used for the parameters
40 */
42
43public:
44
45 virtual ~ModularFunctionMinimizer() = default;
46
47 virtual FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy & = MnStrategy{1},
48 unsigned int maxfcn = 0, double toler = 0.1) const;
49
50 virtual const MinimumSeedGenerator &SeedGenerator() const = 0;
51 virtual const MinimumBuilder &Builder() const = 0;
52 virtual MinimumBuilder &Builder() = 0;
53
54public:
55 virtual FunctionMinimum Minimize(const MnFcn &, const GradientCalculator &, const MinimumSeed &, const MnStrategy &,
56 unsigned int, double) const;
57};
58
59} // namespace Minuit2
60
61} // namespace ROOT
62
63#endif // ROOT_Minuit2_ModularFunctionMinimizer
Interface (abstract class) defining the function to be minimized, which has to be implemented by the ...
Definition FCNBase.h:51
class holding the full result of the minimization; both internal and external (MnUserParameterState) ...
interface class for gradient calculators
base class for seed generators (starting values); the seed generator prepares initial starting values...
Wrapper class to FCNBase interface used internally by Minuit.
Definition MnFcn.h:30
API class for defining four levels of strategies: low (0), medium (1), high (2), very high (>=3); act...
Definition MnStrategy.h:27
class which holds the external user and/or internal Minuit representation of the parameters and error...
Base common class providing the API for all the minimizer Various Minimize methods are provided varyi...
virtual const MinimumBuilder & Builder() const =0
virtual MinimumBuilder & Builder()=0
virtual const MinimumSeedGenerator & SeedGenerator() const =0
virtual FunctionMinimum Minimize(const FCNBase &, const MnUserParameterState &, const MnStrategy &=MnStrategy{1}, unsigned int maxfcn=0, double toler=0.1) const
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...