Diana Software
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
QMathFunction Class Reference

generic C++ interface on static functions More...

Inheritance diagram for QMathFunction:
QFitter

Public Types

typedef double(* QRoutinePointer) (double, double *params)
 pointer to function More...
 

Public Member Functions

 QMathFunction (QRoutinePointer funcpointer, unsigned int NParameters, double LowBound, double UpBound)
 constructor More...
 
 QMathFunction (const QMathFunction &func)
 copy constructor More...
 
virtual ~QMathFunction ()
 destructor More...
 
const QMathFunctionoperator= (const QMathFunction &func)
 operator= More...
 
void SetParameter (unsigned int p, double val)
 set parameter value More...
 
void SetParameter (unsigned int p, const char *name, double val)
 set parameter value and name More...
 
void SetParameters (const double *param)
 set all parameters from an array that has to be well sized More...
 
double GetParameter (unsigned int p) const
 get parameter More...
 
const double * GetParameters () const
 pointer to array of parameters More...
 
size_t GetNParameters () const
 get number of parameters More...
 
double Eval (double x) const
 evaluate function More...
 
double Eval (double x, double *params) const
 evaluate function with external parameters More...
 
virtual void Print ()
 print parameters and names if set More...
 
void SetVerbose (bool verbose=true)
 set verbose More...
 
virtual void SetTF1 (TF1 &tf1)
 set parameters from ROOT TF1 More...
 
QError GetMinimum (double &min, double &minpos, double epsabs=0.001, double epsrel=0.0)
 get function minimum More...
 
QError GetMaximum (double &max, double &maxpos, double epsabs=0.001, double epsrel=0.0)
 get function maximum More...
 

Protected Member Functions

gsl_function GetGSLFunction ()
 return a gsl function More...
 
void SetParName (unsigned int p, const char *name)
 set parameter name More...
 

Protected Attributes

QRoutinePointer fRoutine
 pointer to the underlying static function More...
 
size_t fNParameters
 number of parameters More...
 
double * fParameters
 array of parameters More...
 
std::vector< const char * > fParNames
 parameters names More...
 
double fLowBound
 low function bound More...
 
double fUpBound
 high function bound More...
 
bool fVerbose
 verbose More...
 

Friends

class QMinimizer
 

Detailed Description

generic C++ interface on static functions

Author
Marco Vignati

Definition at line 18 of file QMathFunction.hh.

Member Typedef Documentation

◆ QRoutinePointer

typedef double(* QMathFunction::QRoutinePointer) (double, double *params)

pointer to function

Definition at line 23 of file QMathFunction.hh.

Constructor & Destructor Documentation

◆ QMathFunction() [1/2]

QMathFunction::QMathFunction ( QRoutinePointer  funcpointer,
unsigned int  NParameters,
double  LowBound,
double  UpBound 
)

constructor

Definition at line 16 of file QMathFunction.cc.

References fLowBound, fNParameters, fParameters, fParNames, fRoutine, fUpBound, and fVerbose.

◆ QMathFunction() [2/2]

QMathFunction::QMathFunction ( const QMathFunction func)

copy constructor

Definition at line 31 of file QMathFunction.cc.

References fNParameters, and fParameters.

◆ ~QMathFunction()

QMathFunction::~QMathFunction ( )
virtual

destructor

Definition at line 38 of file QMathFunction.cc.

References fParameters.

Member Function Documentation

◆ Eval() [1/2]

double QMathFunction::Eval ( double  x) const
inline

evaluate function

Definition at line 57 of file QMathFunction.hh.

References fParameters, and fRoutine.

Referenced by QFitter::Fit(), and QFitter::RootRoutine().

◆ Eval() [2/2]

double QMathFunction::Eval ( double  x,
double *  params 
) const
inline

evaluate function with external parameters

Definition at line 60 of file QMathFunction.hh.

References fRoutine.

◆ GetGSLFunction()

Q_BEGIN_NAMESPACE gsl_function QMathFunction::GetGSLFunction ( )
protected

return a gsl function

Definition at line 8 of file QMathFunction.cc.

References fParameters, and fRoutine.

Referenced by QMinimizer::GetMinimum().

◆ GetMaximum()

QError QMathFunction::GetMaximum ( double &  max,
double &  maxpos,
double  epsabs = 0.001,
double  epsrel = 0.0 
)

get function maximum

Parameters
maxf(x_max)
maxposx_max
epsabsabsolute precision
epsrelrelative precision

Definition at line 106 of file QMathFunction.cc.

References err, fLowBound, fParameters, fUpBound, fVerbose, QMinimizer::GetMaximum(), max, maxpos, Q_DOUBLE_DEFAULT, QERR_SUCCESS, QERR_UNKNOWN_ERR, QMinimizer, and QMinimizer::SetVerbose().

◆ GetMinimum()

QError QMathFunction::GetMinimum ( double &  min,
double &  minpos,
double  epsabs = 0.001,
double  epsrel = 0.0 
)

get function minimum

Parameters
minf(x_min)
minposx_min
epsabsabsolute precision
epsrelrelative precision

Definition at line 89 of file QMathFunction.cc.

References err, fLowBound, fParameters, fUpBound, fVerbose, QMinimizer::GetMinimum(), min(), Q_DOUBLE_DEFAULT, QERR_SUCCESS, QERR_UNKNOWN_ERR, QMinimizer, and QMinimizer::SetVerbose().

◆ GetNParameters()

size_t QMathFunction::GetNParameters ( ) const
inline

get number of parameters

Definition at line 54 of file QMathFunction.hh.

References fNParameters.

◆ GetParameter()

double QMathFunction::GetParameter ( unsigned int  p) const
inline

get parameter

Definition at line 48 of file QMathFunction.hh.

References fParameters.

◆ GetParameters()

const double* QMathFunction::GetParameters ( ) const
inline

pointer to array of parameters

Definition at line 51 of file QMathFunction.hh.

References fParameters.

◆ operator=()

const QMathFunction & QMathFunction::operator= ( const QMathFunction func)

operator=

Definition at line 43 of file QMathFunction.cc.

References fLowBound, fNParameters, fParameters, fParNames, fRoutine, fUpBound, and fVerbose.

◆ Print()

void QMathFunction::Print ( )
virtual

print parameters and names if set

Reimplemented in QFitter.

Definition at line 63 of file QMathFunction.cc.

References fNParameters, fParameters, and fParNames.

◆ SetParameter() [1/2]

void QMathFunction::SetParameter ( unsigned int  p,
const char *  name,
double  val 
)

set parameter value and name

Definition at line 82 of file QMathFunction.cc.

References SetParameter(), and SetParName().

◆ SetParameter() [2/2]

void QMathFunction::SetParameter ( unsigned int  p,
double  val 
)

set parameter value

Definition at line 75 of file QMathFunction.cc.

References fNParameters, and fParameters.

Referenced by SetParameter().

◆ SetParameters()

void QMathFunction::SetParameters ( const double *  param)
inline

set all parameters from an array that has to be well sized

Definition at line 45 of file QMathFunction.hh.

References fNParameters, and fParameters.

◆ SetParName()

void QMathFunction::SetParName ( unsigned int  p,
const char *  name 
)
inlineprotected

set parameter name

Definition at line 94 of file QMathFunction.hh.

References fNParameters, and fParNames.

Referenced by QFitter::FixParameter(), SetParameter(), and QFitter::SetParameter().

◆ SetTF1()

void QMathFunction::SetTF1 ( TF1 &  tf1)
virtual

set parameters from ROOT TF1

Reimplemented in QFitter.

Definition at line 123 of file QMathFunction.cc.

References fNParameters, fParameters, and fParNames.

Referenced by QFitter::SetTF1().

◆ SetVerbose()

void QMathFunction::SetVerbose ( bool  verbose = true)
inline

set verbose

Definition at line 66 of file QMathFunction.hh.

References fVerbose.

Friends And Related Function Documentation

◆ QMinimizer

friend class QMinimizer
friend

Definition at line 117 of file QMathFunction.hh.

Referenced by GetMaximum(), and GetMinimum().

Member Data Documentation

◆ fLowBound

double QMathFunction::fLowBound
protected

low function bound

Definition at line 110 of file QMathFunction.hh.

Referenced by QFitter::Fit(), GetMaximum(), GetMinimum(), operator=(), and QMathFunction().

◆ fNParameters

size_t QMathFunction::fNParameters
protected

◆ fParameters

double* QMathFunction::fParameters
protected

◆ fParNames

std::vector<const char*> QMathFunction::fParNames
protected

parameters names

Definition at line 107 of file QMathFunction.hh.

Referenced by operator=(), QFitter::Print(), Print(), QFitter::PrintResult(), QMathFunction(), SetParName(), and SetTF1().

◆ fRoutine

QRoutinePointer QMathFunction::fRoutine
protected

pointer to the underlying static function

Definition at line 97 of file QMathFunction.hh.

Referenced by Eval(), GetGSLFunction(), QMinimizer::GetMaximum(), operator=(), and QMathFunction().

◆ fUpBound

double QMathFunction::fUpBound
protected

high function bound

Definition at line 112 of file QMathFunction.hh.

Referenced by QFitter::Fit(), GetMaximum(), GetMinimum(), operator=(), and QMathFunction().

◆ fVerbose

bool QMathFunction::fVerbose
protected

The documentation for this class was generated from the following files: