#include <TGo4FitModelFormula.h>
Public Member Functions | |
TGo4FitModelFormula () | |
TGo4FitModelFormula (const char *iName, const char *iExpressionStr="", Int_t iNPars=0, Bool_t AddAmplitude=kFALSE) | |
virtual | ~TGo4FitModelFormula () |
virtual Bool_t | CanAmplTouch () |
const char * | GetExpression () |
void | SetExpression (const char *expr) |
Int_t | GetNumberOfExprPar () |
Bool_t | SetNumberOfExprPar (Int_t num) |
void | SetPosParIndex (Int_t naxis, Int_t indx=-1) |
void | SetWidthParIndex (Int_t naxis, Int_t indx=-1) |
virtual Bool_t | BeforeEval (Int_t ndim) |
virtual Double_t | EvalN (const Double_t *v) |
virtual void | AfterEval () |
virtual void | Print (Option_t *option) const |
Protected Member Functions | |
virtual Bool_t | Initialize (Int_t UseBuffers=-1) |
virtual void | Finalize () |
TGo4FitParameter * | GetExprPar (Int_t n) |
TString | GetExprParName (Int_t n) |
Bool_t | CompileFormula () |
void | CloseFormula () |
virtual Int_t | GetPosParIndex (Int_t naxis) |
virtual Int_t | GetWidthParIndex (Int_t naxis) |
Protected Attributes | |
TString | fxExpression |
TArrayI | fxPosIndex |
TArrayI | fxWidthIndex |
TFormula * | fxFormula |
Private Attributes | |
Int_t | Par_ndim |
Model object, which uses ROOT TFormula class facility.
Any kind of one-line expression can be analyzed by TFormula object and evaluated for given set of axis values and set of parameters. TGo4FitModelFormula in constructor creates additional parameters with names "Par0", "Par1" and so on, which can be used in equation and can be optimized. Optionally amplitude parameters with name "Ampl" can be created. In constructor expression, number of additional parameters and using of amplitude parameter should be specified. Fort instance, equation with 3 parameters and amplitude:
TGo4FitModelFormula *f = new TGo4FitModelFormula("Form","(x-Par0)*(y-Par1)*(z-Par2)", 3, kTRUE);
Definition at line 28 of file TGo4FitModelFormula.h.
TGo4FitModelFormula::TGo4FitModelFormula | ( | ) |
Default constructor
Definition at line 20 of file TGo4FitModelFormula.cxx.
TGo4FitModelFormula::TGo4FitModelFormula | ( | const char * | iName, | |
const char * | iExpressionStr = "" , |
|||
Int_t | iNPars = 0 , |
|||
Bool_t | AddAmplitude = kFALSE | |||
) |
Create TGo4FitModelFormula object with given names. Formula expression and number of parameters can be sets up. All using of amplitude parameter can be invoked.
Definition at line 24 of file TGo4FitModelFormula.cxx.
References GetExprParName(), and TGo4FitComponent::NewParameter().
TGo4FitModelFormula::~TGo4FitModelFormula | ( | ) | [virtual] |
Destroys TGo4FitModelFormula object.
Definition at line 33 of file TGo4FitModelFormula.cxx.
References CloseFormula().
void TGo4FitModelFormula::AfterEval | ( | ) | [virtual] |
Clear buffers, which were created by BeforeEval() method.
Reimplemented from TGo4FitModel.
Definition at line 123 of file TGo4FitModelFormula.cxx.
References CloseFormula().
Bool_t TGo4FitModelFormula::BeforeEval | ( | Int_t | ndim | ) | [virtual] |
Prepares (if necesary) some intermediate variables to be able calculate values of model via EvalN() function. Number of axis, which will be used in evaluations, should be specified.
Reimplemented from TGo4FitModel.
Definition at line 105 of file TGo4FitModelFormula.cxx.
References CompileFormula(), fxFormula, TGo4FitParsList::GetPar(), TGo4FitModel::NumPars(), and Par_ndim.
virtual Bool_t TGo4FitModelFormula::CanAmplTouch | ( | ) | [inline, virtual] |
Signals that ampltide parameter can be removed from or introdeced to object.
Reimplemented from TGo4FitComponent.
Definition at line 50 of file TGo4FitModelFormula.h.
void TGo4FitModelFormula::CloseFormula | ( | ) | [protected] |
Definition at line 169 of file TGo4FitModelFormula.cxx.
References fxFormula.
Referenced by AfterEval(), CompileFormula(), Finalize(), Initialize(), and ~TGo4FitModelFormula().
Bool_t TGo4FitModelFormula::CompileFormula | ( | ) | [protected] |
Definition at line 147 of file TGo4FitModelFormula.cxx.
References CloseFormula(), fxExpression, fxFormula, TGo4FitParsList::GetParName(), and TGo4FitModel::NumPars().
Referenced by BeforeEval(), and Initialize().
Double_t TGo4FitModelFormula::EvalN | ( | const Double_t * | v | ) | [virtual] |
Calculates value of model according current parameters values and provided axes values. BeforeEval(), EvalN() & AfterEval() virtual methods provides general interface, where user-specific code should be situated.
Reimplemented from TGo4FitModel.
Definition at line 113 of file TGo4FitModelFormula.cxx.
void TGo4FitModelFormula::Finalize | ( | ) | [protected, virtual] |
Deletes all buffers, created during initialization.
Reimplemented from TGo4FitModel.
Definition at line 127 of file TGo4FitModelFormula.cxx.
References CloseFormula().
const char* TGo4FitModelFormula::GetExpression | ( | ) | [inline] |
Return formula expression.
Definition at line 55 of file TGo4FitModelFormula.h.
References fxExpression.
Referenced by TGo4FitPanel::Wiz_GetModelInfo().
TGo4FitParameter * TGo4FitModelFormula::GetExprPar | ( | Int_t | n | ) | [protected] |
Definition at line 43 of file TGo4FitModelFormula.cxx.
References TGo4FitComponent::GetAmplIndex(), GetNumberOfExprPar(), and TGo4FitParsList::GetPar().
Referenced by GetPosParIndex(), GetWidthParIndex(), and SetNumberOfExprPar().
TString TGo4FitModelFormula::GetExprParName | ( | Int_t | n | ) | [protected] |
Definition at line 92 of file TGo4FitModelFormula.cxx.
Referenced by SetNumberOfExprPar(), and TGo4FitModelFormula().
Int_t TGo4FitModelFormula::GetNumberOfExprPar | ( | ) |
Get number of parameters, which can be used in exprssion.
Definition at line 37 of file TGo4FitModelFormula.cxx.
References TGo4FitComponent::GetAmplPar(), and TGo4FitModel::NumPars().
Referenced by GetExprPar(), and SetNumberOfExprPar().
Int_t TGo4FitModelFormula::GetPosParIndex | ( | Int_t | ) | [protected, virtual] |
Return index of parameter (if exist), which represent position of model for given axis.
Reimplemented from TGo4FitModel.
Definition at line 82 of file TGo4FitModelFormula.cxx.
References fxPosIndex, GetExprPar(), and TGo4FitParsList::GetParIndex().
Int_t TGo4FitModelFormula::GetWidthParIndex | ( | Int_t | ) | [protected, virtual] |
Return index of parameter (if exist), which represent width of model component for given axis.
Reimplemented from TGo4FitModel.
Definition at line 87 of file TGo4FitModelFormula.cxx.
References fxWidthIndex, GetExprPar(), and TGo4FitParsList::GetParIndex().
Bool_t TGo4FitModelFormula::Initialize | ( | Int_t | UseBuffers = -1 |
) | [protected, virtual] |
Initialize model object. If usage of buffers is specified (UseBuffers>0), method creates a number of buffers for representing model bins for each data, to which model was assign to.
Reimplemented from TGo4FitModel.
Definition at line 99 of file TGo4FitModelFormula.cxx.
References CloseFormula(), and CompileFormula().
void TGo4FitModelFormula::Print | ( | Option_t * | option | ) | const [virtual] |
Print information on standard output.
Reimplemented from TGo4FitModel.
Definition at line 132 of file TGo4FitModelFormula.cxx.
References fxExpression, fxPosIndex, and fxWidthIndex.
void TGo4FitModelFormula::SetExpression | ( | const char * | expr | ) | [inline] |
Sets formula expression.
Definition at line 60 of file TGo4FitModelFormula.h.
References fxExpression.
Referenced by QFitModelFormulaWidget::ExprEdt_textChanged().
Bool_t TGo4FitModelFormula::SetNumberOfExprPar | ( | Int_t | num | ) |
Sets number of parameters, which can be used in expression.
Definition at line 49 of file TGo4FitModelFormula.cxx.
References GetExprPar(), GetExprParName(), GetNumberOfExprPar(), TGo4FitComponent::NewParameter(), and TGo4FitParsList::RemovePar().
void TGo4FitModelFormula::SetPosParIndex | ( | Int_t | naxis, | |
Int_t | indx = -1 | |||
) |
Definition at line 62 of file TGo4FitModelFormula.cxx.
References fxPosIndex.
Referenced by TGo4FitPanel::CreateModel().
void TGo4FitModelFormula::SetWidthParIndex | ( | Int_t | naxis, | |
Int_t | indx = -1 | |||
) |
Definition at line 72 of file TGo4FitModelFormula.cxx.
References fxWidthIndex.
Referenced by TGo4FitPanel::CreateModel().
TString TGo4FitModelFormula::fxExpression [protected] |
String, containig formula expression.
Definition at line 101 of file TGo4FitModelFormula.h.
Referenced by CompileFormula(), GetExpression(), Print(), and SetExpression().
TFormula* TGo4FitModelFormula::fxFormula [protected] |
formula for evaluation expression in EvalN() method.
Definition at line 110 of file TGo4FitModelFormula.h.
Referenced by BeforeEval(), CloseFormula(), CompileFormula(), and EvalN().
TArrayI TGo4FitModelFormula::fxPosIndex [protected] |
Definition at line 103 of file TGo4FitModelFormula.h.
Referenced by GetPosParIndex(), Print(), and SetPosParIndex().
TArrayI TGo4FitModelFormula::fxWidthIndex [protected] |
Definition at line 105 of file TGo4FitModelFormula.h.
Referenced by GetWidthParIndex(), Print(), and SetWidthParIndex().
Int_t TGo4FitModelFormula::Par_ndim [private] |
temporary variable for formula calculation in EvalN() method.
Definition at line 116 of file TGo4FitModelFormula.h.
Referenced by BeforeEval(), and EvalN().