GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
TGo4FitModelFormula Class Reference

#include <TGo4FitModelFormula.h>

+ Inheritance diagram for TGo4FitModelFormula:

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
 
- Public Member Functions inherited from TGo4FitModel
 TGo4FitModel ()
 
 TGo4FitModel (const char *iName, const char *iTitle, Bool_t MakeAmplitude=kFALSE)
 
virtual ~TGo4FitModel ()
 
void SetGroupIndex (Int_t index=-1)
 
void SetBackgroundGroupIndex ()
 
Int_t GetGroupIndex () const
 
Int_t NumAssigments () const
 
const char * AssignmentName (Int_t n)
 
void AssignToData (const char *DataName, Double_t RatioValue=1., Bool_t FixRatio=kFALSE)
 
Bool_t IsAssignTo (const char *DataName) const
 
void ChangeDataNameInAssignments (const char *oldname, const char *newname)
 
void ClearAssignmentTo (const char *DataName)
 
void ClearAssigmentTo (const char *DataName)
 
void ClearAssignments ()
 
void ConnectToDataIfAssigned (TGo4FitData *data)
 
Double_t GetRatioValueFor (const char *DataName)
 
virtual Double_t Evaluate (Double_t x)
 
virtual Double_t Evaluate (Double_t x, Double_t y)
 
virtual Double_t Evaluate (Double_t x, Double_t y, Double_t z)
 
virtual Double_t Evaluate (Double_t *v, Int_t ndim)
 
virtual Double_t Integral ()
 
virtual Bool_t GetPosition (Int_t naxis, Double_t &pos)
 
virtual Bool_t SetPosition (Int_t naxis, Double_t pos)
 
virtual Bool_t GetWidth (Int_t naxis, Double_t &width)
 
virtual Bool_t SetWidth (Int_t naxis, Double_t width)
 
void SetIntegrationsProperty (Int_t iMinIntegrDepth, Int_t iMaxIntegrDepth=0, Double_t iIntegrEps=0., Bool_t iAbsoluteEps=kFALSE, Bool_t iIntegrScaling=kFALSE)
 
Bool_t NeedIntegration ()
 
virtual Double_t EvaluateAtPoint (TGo4FitData *data, Int_t nbin, Bool_t UseRanges=kTRUE)
 
virtual Double_t EvaluateAtPoint (TGo4FitDataIter *iter, Bool_t UseRanges=kTRUE)
 
Bool_t AddModelToDataResult (TGo4FitData *data)
 
virtual Int_t NumPars ()
 
- Public Member Functions inherited from TGo4FitComponent
 TGo4FitComponent ()
 
 TGo4FitComponent (const char *iName, const char *iTitle)
 
virtual ~TGo4FitComponent ()
 
TGo4FitParameterGetAmplPar ()
 
const char * GetAmplName ()
 
const char * GetAmplFullName ()
 
Double_t GetAmplValue ()
 
void SetAmplValue (Double_t iAmpl)
 
Double_t GetAmplError ()
 
void SetAmplError (Double_t iError)
 
Bool_t MakeAmpl (Bool_t isFixed=kFALSE)
 
Bool_t RemoveAmpl ()
 
void SetRange (Int_t naxis, Double_t min, Double_t max)
 
void ExcludeRange (Int_t naxis, Double_t min, Double_t max)
 
void SetRangeMin (Int_t naxis, Double_t value)
 
void SetRangeMax (Int_t naxis, Double_t value)
 
void AddRangeCut (TCutG *cut, Bool_t exclude=kFALSE)
 
void ClearRanges (Int_t naxis=-1)
 
Bool_t IsAnyRangeLimits ()
 
Bool_t GetRangeMin (Int_t naxis, Double_t &value)
 
Bool_t GetRangeMax (Int_t naxis, Double_t &value)
 
Int_t GetNumRangeCondition () const
 
void GetRangeCondition (Int_t n, Int_t &typ, Int_t &naxis, Double_t &left, Double_t &right) const
 
void SetRangeCondition (Int_t n, Int_t typ, Int_t naxis, Double_t left, Double_t right)
 
void AddRangeCondition (Int_t typ, Int_t naxis, Double_t left, Double_t right)
 
void RemoveRangeCondition (Int_t n)
 
Int_t GetNumRangeCut () const
 
TCutG * GetRangeCut (Int_t n) const
 
Bool_t IsRangeCutExcluding (Int_t n)
 
void SetRangeCutExcluding (Int_t n, Bool_t exclude=kTRUE)
 
void RemoveRangeCut (Int_t n)
 
Bool_t CheckRangeConditions (const Double_t *values, Int_t numaxis)
 
virtual void CollectParsTo (TGo4FitParsList &list)
 
void SetUseBuffers (Bool_t iUse)
 
Bool_t GetUseBuffers ()
 
- Public Member Functions inherited from TGo4FitParsList
 TGo4FitParsList ()
 
 TGo4FitParsList (Bool_t IsParsOwned)
 
 TGo4FitParsList (const char *Name, const char *Title, Bool_t IsParsOwned)
 
virtual ~TGo4FitParsList ()
 
TGo4FitParameterGetPar (Int_t n)
 
Int_t GetParIndex (const TGo4FitParameter *par)
 
TGo4FitParameterFindPar (const char *ParName)
 
TGo4FitParameterFindPar (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFindPar (TGo4FitParameter *par)
 
Double_t GetParValue (const char *ParName)
 
Bool_t SetParValue (const char *ParName, Double_t iValue)
 
void GetParsValues (Double_t *pars)
 
void SetParsValues (Double_t *pars)
 
Double_t GetParError (const char *ParName)
 
Bool_t SetParError (const char *ParName, Double_t iError)
 
virtual Bool_t SetParFixed (const char *ParName, Bool_t iFixed=kTRUE)
 
virtual Bool_t GetParFixed (const char *ParName)
 
Int_t NumFixedPars ()
 
Int_t NumFreePars ()
 
virtual Bool_t SetParRange (const char *ParName, Double_t RangeMin, Double_t RangeMax)
 
virtual Bool_t GetParRange (const char *ParName, Double_t &RangeMin, Double_t &RangeMax)
 
virtual Bool_t SetParEpsilon (const char *ParName, Double_t Epsilon)
 
virtual Bool_t GetParEpsilon (const char *ParName, Double_t &Epsilon)
 
void SetParName (Int_t n, const char *name)
 
const char * GetParName (Int_t n)
 
const char * GetParFullName (Int_t n)
 
void SetParsNames (const char *name0="Par0", const char *name1="Par1", const char *name2="Par2", const char *name3="Par3", const char *name4="Par4", const char *name5="Par5", const char *name6="Par6", const char *name7="Par7", const char *name8="Par8", const char *name9="Par9")
 
void SetParsValues (Double_t par0=0., Double_t par1=0., Double_t par2=0., Double_t par3=0., Double_t par4=0., Double_t par5=0., Double_t par6=0., Double_t par7=0., Double_t par8=0., Double_t par9=0.)
 
virtual void MemorizePars ()
 
virtual bool CanRollbackPars ()
 
virtual void RememberPars ()
 
Bool_t IsAllParsFixed ()
 
TGo4FitParameterCreatePar (const char *ParName, const char *Title, Double_t iValue=0)
 
Bool_t RemovePar (const char *name)
 
Bool_t RemovePar (TGo4FitParameter *par)
 
void PrintPars () const
 
void ClearPars ()
 
- Public Member Functions inherited from TGo4FitNamed
 TGo4FitNamed ()
 
 TGo4FitNamed (const char *Name, const char *Title, TNamed *Owner=0)
 
virtual ~TGo4FitNamed ()
 
const char * GetFullName ()
 
const char * GetOwnerFullName ()
 
void SetOwner (TNamed *iOwner)
 
TNamed * GetOwner ()
 
void Print (Option_t *option) const
 
- Public Member Functions inherited from TGo4FitSlotList
 TGo4FitSlotList ()
 
virtual ~TGo4FitSlotList ()
 
virtual void FillSlotList (TSeqCollection *lst)
 
void SetUpdateSlotList ()
 
const TObjArray * GetSlotList (Bool_t ForceUpdate=kFALSE)
 
Int_t NumSlots ()
 
TGo4FitSlotGetSlot (Int_t nslot)
 
TGo4FitSlotFindSlot (const char *FullSlotName)
 
Bool_t ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2)
 
Bool_t ConnectSlots (const char *Slot1FullName, const char *Slot2FullName)
 
TGo4FitSlotSetObject (TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotSetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotIsObjectInSlots (TObject *obj)
 
Bool_t CheckObjects (Bool_t MakeOut=kTRUE)
 
Bool_t IsEmptySlots ()
 
void ClearObjects (const char *PlaceName=0, Bool_t NonOwned=kTRUE)
 
void ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned)
 
void SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=0)
 

Protected Member Functions

virtual Bool_t Initialize (Int_t UseBuffers=-1)
 
virtual void Finalize ()
 
TGo4FitParameterGetExprPar (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 Member Functions inherited from TGo4FitModel
virtual TGo4FitParameterGet (Int_t n)
 
Double_t EvaluateAndIntegrate (Int_t NumScales, const Double_t *Scales, const Double_t *Widths)
 
TGo4FitDataGetAssignedConnection (Int_t n)
 
Bool_t BuffersAllocated () const
 
void RebuildShape (Bool_t ForceBuild=kFALSE)
 
Double_t * GetModelBins (const char *DataName) const
 
void SetNeedToRebuild ()
 
virtual Double_t UserFunction (Double_t *, Double_t *)
 
virtual TGo4FitParameterGetPosPar (Int_t naxis=0)
 
virtual TGo4FitParameterGetWidthPar (Int_t naxis=0)
 
const Int_t * GetDataFullIndex (TGo4FitData *data, Int_t nbin)
 
Int_t GetDataIndexesSize (TGo4FitData *data)
 
- Protected Member Functions inherited from TGo4FitComponent
TGo4FitParameterNewParameter (const char *Name, const char *Title, Double_t iValue=0., Bool_t Fixed=kFALSE, Int_t AtIndx=-1)
 
TGo4FitParameterNewAmplitude (const char *Name=0, Double_t iValue=0., Bool_t IsFixed=kFALSE, Int_t AtIndx=0)
 
Int_t GetAmplIndex ()
 
void SetAmplIndex (Int_t iAmplIndex=-1)
 
- Protected Member Functions inherited from TGo4FitParsList
TGo4FitParameterAddPar (TGo4FitParameter *par)
 
TGo4FitParameterInsertPar (TGo4FitParameter *par, Int_t indx)
 
void SetParsOwner (TGo4FitNamed *iOwner)
 
void ClearParsBlocking ()
 
TGo4FitParameterFind (const char *ParName)
 
TGo4FitParameterFind (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFind (TGo4FitParameter *par)
 
Bool_t RemoveParByIndex (Int_t indx)
 
- Protected Member Functions inherited from TGo4FitSlotList
void CheckDuplicatesOnSlot ()
 
void PrepareSlotsForWriting ()
 
 ClassDef (TGo4FitSlotList, 1)
 

Protected Attributes

TString fxExpression
 
TArrayI fxPosIndex
 
TArrayI fxWidthIndex
 
TFormula * fxFormula
 
- Protected Attributes inherited from TGo4FitModel
Int_t fiMinIntegrDepth
 
Int_t fiMaxIntegrDepth
 
Double_t fdIntegrEps
 
Bool_t fbAbsoluteEps
 
Bool_t fbIntegrScaling
 
- Protected Attributes inherited from TGo4FitSlotList
TObjArray * fxSlotList
 
Bool_t fbUpdateSlotList
 

Private Attributes

Int_t Par_ndim
 

Detailed Description

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)</em>(y-Par1)*(z-Par2)", 3, kTRUE);

Definition at line 28 of file TGo4FitModelFormula.h.

Constructor & Destructor Documentation

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().

Member Function Documentation

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 necessary) 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 ( )
inlinevirtual

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
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.

References fxFormula, and Par_ndim.

void TGo4FitModelFormula::Finalize ( )
protectedvirtual

Deletes all buffers, created during initialization.

Reimplemented from TGo4FitModel.

Definition at line 127 of file TGo4FitModelFormula.cxx.

References CloseFormula(), and TGo4FitModel::Finalize().

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
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 TGo4FitParsList::NumPars().

Referenced by GetExprPar(), and SetNumberOfExprPar().

Int_t TGo4FitModelFormula::GetPosParIndex ( Int_t  )
protectedvirtual

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  )
protectedvirtual

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)
protectedvirtual

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(), CompileFormula(), and TGo4FitModel::Initialize().

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, fxWidthIndex, and TGo4FitModel::Print().

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().

Member Data Documentation

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().


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