Diana Software
QMinimizer.hh
Go to the documentation of this file.
1 #ifndef _Q_MINIMIZER_HH_
2 #define _Q_MINIMIZER_HH_
3 
13 #include "QDiana.hh"
14 #include <gsl/gsl_min.h>
15 #include "QMathFunction.hh"
16 
18 
19 class QMinimizer
20 {
21  public:
23  QMinimizer();
25  ~QMinimizer();
27  void SetVerbose() {fVerbose = true;}
36  double GetMinimum(QMathFunction func,double minx, double maxx, double epsabs=0.001, double epsrel=0.0);
45  double GetMaximum(QMathFunction func,double minx, double maxx, double epsabs=0.001, double epsrel=0.0);
46 
47  private:
51  static double MinusFunc(double x, double* params);
52 
54  gsl_min_fminimizer *fMinimizer;
56  bool fVerbose;
57 };
58 
60 
61 
62 #endif
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
generic C++ interface on static functions
double(* QRoutinePointer)(double, double *params)
pointer to function
find maximum and minimum of a QMathFunction, the minimum search stops when |a - b| < epsabs + epsrel ...
Definition: QMinimizer.hh:20
double GetMaximum(QMathFunction func, double minx, double maxx, double epsabs=0.001, double epsrel=0.0)
get function maximum
Definition: QMinimizer.cc:70
void SetVerbose()
verbose (print iteration steps)
Definition: QMinimizer.hh:27
~QMinimizer()
destructor
Definition: QMinimizer.cc:17
gsl_min_fminimizer * fMinimizer
underlying gsl minimizer
Definition: QMinimizer.hh:54
QMinimizer()
constructor
Definition: QMinimizer.cc:9
static double MinusFunc(double x, double *params)
pointer to mins this function, (to find maximum with the minimum algorithm)
Definition: QMinimizer.cc:65
bool fVerbose
verbose
Definition: QMinimizer.hh:56
double GetMinimum(QMathFunction func, double minx, double maxx, double epsabs=0.001, double epsrel=0.0)
get function minimum
Definition: QMinimizer.cc:22
static QMathFunction::QRoutinePointer fCurrentFunction
pointer to current function being minimized
Definition: QMinimizer.hh:49