10 #ifndef ROOT_Minuit2_MinimumBuilder
11 #define ROOT_Minuit2_MinimumBuilder
20 class FunctionMinimum;
22 class GradientCalculator;
27 class MinimumBuilder {
33 virtual ~MinimumBuilder() {}
35 virtual FunctionMinimum Minimum(
const MnFcn&,
const GradientCalculator&,
const MinimumSeed&,
const MnStrategy&,
unsigned int,
double)
const = 0;
37 int StorageLevel()
const {
return fStorageLevel; }
38 int PrintLevel()
const {
return fPrintLevel; }
40 bool TraceIter()
const {
return (fTracer); }
41 MnTraceObject * TraceObject()
const {
return (fTracer); }
43 virtual void SetPrintLevel(
int level) { fPrintLevel = level;}
44 virtual void SetStorageLevel(
int level) { fStorageLevel = level;}
47 virtual void SetTraceObject(MnTraceObject & obj) {
51 void TraceIteration(
int iter,
const MinimumState & state)
const {
52 if (fTracer) (*fTracer)(iter, state);
60 MnTraceObject * fTracer;
68 #endif // ROOT_Minuit2_MinimumBuilder