Public Member Functions | Protected Member Functions | Protected Attributes

TGo4FitterAbstract Class Reference

#include <TGo4FitterAbstract.h>

Inheritance diagram for TGo4FitterAbstract:
TGo4FitParsList TGo4FitSlotList TGo4FitNamed TGo4Fitter

List of all members.

Public Member Functions

 TGo4FitterAbstract ()
 TGo4FitterAbstract (const char *iName, const char *iTitle)
virtual ~TGo4FitterAbstract ()
virtual void Clear (Option_t *option="")
virtual Int_t NumPars ()
void SetParsListChange ()
void CopyParsValuesFrom (TGo4FitterAbstract *fitter)
virtual Bool_t GetParFixed (const char *ParName)
virtual Bool_t GetParRange (const char *ParName, Double_t &RangeMin, Double_t &RangeMax)
virtual Bool_t GetParEpsilon (const char *ParName, Double_t &Epsilon)
Bool_t IsSuitableConfig (TGo4FitterConfig *Config)
Bool_t ApplyConfig (TGo4FitterConfig *Config)
Double_t CalculateFitFunction (Double_t *pars=0)
void AddAction (TGo4FitterAction *Action)
void AddActionAt (TGo4FitterAction *Action, Int_t indx)
Int_t GetNumActions ()
TGo4FitterActionGetAction (Int_t num)
void DeleteActions ()
void DeleteAction (TGo4FitterAction *action)
void ReplaceAction (TGo4FitterAction *action, Int_t dir)
void DoActions (Bool_t AllowFitterChange=kFALSE, TObjArray *Actions=0)
void DoAction (TGo4FitterAction *Action)
void DoAction (Int_t indx)
TObjArray * ProcessObjects (TObjArray *objs, Bool_t CloneFitter=kTRUE, Bool_t OnlyRequired=kTRUE, TObjArray *rownames=0, TObjArray *colnames=0)
void AddSimpleMinuit ()
TGo4FitterOutputAddOutputAction (const char *Action, const char *Option=0)
void DeleteOutputActions ()
Int_t NeedPadsNumber ()
void SetPad (Int_t indx, TVirtualPad *pad)
Bool_t IsParsAsResults ()
Int_t GetNumResults () const
Double_t GetResultValue (Int_t n) const
Double_t GetResultFF () const
Int_t GetResultNDF () const
const TArrayD * GetResults ()
void PrintResults () const
virtual void Print (Option_t *option) const

Protected Member Functions

virtual Bool_t Initialize ()
Bool_t IsInitialized ()
virtual void Finalize ()
virtual void CollectAllPars ()
virtual TGo4FitParameterGet (Int_t n)
void CheckParsListChanging ()
virtual Double_t DoCalculation ()
virtual Int_t DoNDFCalculation ()
Bool_t InitializeDependencies (TObjArray &Dependencies, Bool_t BlockPars, Bool_t DoInit)
void RunDependenciesList (TObjArray &Dependencies, Double_t *pars)
void FinalizeDependencies (TObjArray &Dependencies)
void ExecuteDependencies (Double_t *pars)
virtual Bool_t InitFitterData ()
virtual void FinalizeFitterData ()

Protected Attributes

TObjArray fxActions
TArrayD fxResults
TGo4FitterConfigfxCurrentConfig
Bool_t fbParsChange
Bool_t fbInitializationDone
Bool_t fbNeedToFinalize
Bool_t fbParsAsResults

Detailed Description

Abstract fitter class. This is abstract class, which implement a general behavior of fitter. It has a list of all parameters (class inherited from TGo4FitParsList) and function, which should be fitted. It has a list of action, which may be performed on the fitter. The specific things, like list of data and list of models, are implemented in inherited TGo4Fitter class.

Definition at line 35 of file TGo4FitterAbstract.h.


Constructor & Destructor Documentation

TGo4FitterAbstract::TGo4FitterAbstract (  ) 

Default constructor.

Definition at line 34 of file TGo4FitterAbstract.cxx.

TGo4FitterAbstract::TGo4FitterAbstract ( const char *  iName,
const char *  iTitle 
)

Create TGo4FitterAbstract object with given name and tiile. TGo4FitterAbstract object should not be create directly, because it is abstract class. TGo4Fitter or other implementation class should be used.

Definition at line 42 of file TGo4FitterAbstract.cxx.

References fxActions.

TGo4FitterAbstract::~TGo4FitterAbstract (  )  [virtual]

Destroy TGo4FitterAbstract object.

Definition at line 51 of file TGo4FitterAbstract.cxx.

References fbNeedToFinalize, and Finalize().


Member Function Documentation

void TGo4FitterAbstract::AddAction ( TGo4FitterAction Action  ) 

Add action to action list. Action is a object, derived from TGo4FitterAction class. Action object always owned by fitter, thus it will be destroyed when fitter is destroing. Therefore, stack object should not be added to fitter.

Definition at line 288 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4Fitter::AddAmplEstimation(), AddOutputAction(), AddSimpleMinuit(), BuildFitter(), TGo4FitPanel::Button_PerformFit(), and TGo4FitPanel::Cmd_AddNewAction().

void TGo4FitterAbstract::AddActionAt ( TGo4FitterAction Action,
Int_t  indx 
)

Add action to action list at specified index.

Definition at line 293 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by Example11(), and TGo4FitPanel::GetPeakFinder().

TGo4FitterOutput * TGo4FitterAbstract::AddOutputAction ( const char *  Action,
const char *  Option = 0 
)

Creates and add TGo4FitterOutput action with given parameters to actions list.

Definition at line 492 of file TGo4FitterAbstract.cxx.

References AddAction().

Referenced by TGo4FitPanel::Cmd_AddNewAction(), and Example3().

void TGo4FitterAbstract::AddSimpleMinuit (  ) 

Creates and add TGo4FitMinuit object to actions list. TGo4FitMinuit object contain the only command: MIGRAD 500 1

Definition at line 485 of file TGo4FitterAbstract.cxx.

References AddAction(), and TGo4FitMinuit::AddCommand().

Referenced by TGo4Fitter::AddStandardActions(), TGo4FitPanel::Cmd_AddNewAction(), Example13(), and Example8().

Double_t TGo4FitterAbstract::CalculateFitFunction ( Double_t *  pars = 0  ) 

Calculates value of fit function. Fitter should be initialized before. Instead of using values of parameters (from parameters list) array of values can be sets directly.

Definition at line 247 of file TGo4FitterAbstract.cxx.

References DoCalculation(), ExecuteDependencies(), and TGo4FitParsList::SetParsValues().

Referenced by TMinuitEx::Eval().

void TGo4FitterAbstract::CheckParsListChanging (  )  [inline, protected]

If appropriate flag sets (via SetParsListChange() method), function recollect all parameters from all objects, associated to fitter.

Definition at line 280 of file TGo4FitterAbstract.h.

References CollectAllPars(), and fbParsChange.

Referenced by DoActions(), Get(), and NumPars().

void TGo4FitterAbstract::Clear ( Option_t *  option = ""  )  [virtual]

Clear fitter. Removes and delete all actions from actions list.

Reimplemented in TGo4Fitter.

Definition at line 56 of file TGo4FitterAbstract.cxx.

References DeleteActions().

void TGo4FitterAbstract::CollectAllPars (  )  [protected, virtual]

Should collect parameters from all associated to fitter objects. This function should be extend in inherited classes.

Reimplemented in TGo4Fitter.

Definition at line 62 of file TGo4FitterAbstract.cxx.

References TGo4FitParsList::ClearPars(), TGo4FitParsList::CollectParsTo(), fbParsChange, fxCurrentConfig, and TGo4FitterConfig::GetParsNew().

Referenced by ApplyConfig(), CheckParsListChanging(), CopyParsValuesFrom(), Initialize(), and IsSuitableConfig().

void TGo4FitterAbstract::CopyParsValuesFrom ( TGo4FitterAbstract fitter  ) 

If provided fitter has a same list of parameters, their values will be copied to fitter.

Definition at line 70 of file TGo4FitterAbstract.cxx.

References CollectAllPars(), TGo4FitParsList::FindPar(), Get(), TGo4FitNamed::GetFullName(), TGo4FitParameter::GetValue(), NumPars(), and TGo4FitParameter::SetValue().

void TGo4FitterAbstract::DeleteAction ( TGo4FitterAction action  ) 

Remove action from actions list and destroy it.

Definition at line 304 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4FitPanel::Button_PerformFit(), and TGo4FitPanel::Cmd_DeleteAction().

void TGo4FitterAbstract::DeleteActions (  )  [inline]

Remove and delete all actions from actions list.

Definition at line 139 of file TGo4FitterAbstract.h.

References fxActions.

Referenced by Clear(), and TGo4FitPanel::Cmd_DeleteActions().

void TGo4FitterAbstract::DeleteOutputActions (  ) 

Remove and delete all output actions from actions list.

Definition at line 499 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4FitPanel::Cmd_DeleteOutputActions().

void TGo4FitterAbstract::DoAction ( TGo4FitterAction Action  ) 
void TGo4FitterAbstract::DoAction ( Int_t  indx  ) 

Executes specified action from actions list.

Definition at line 364 of file TGo4FitterAbstract.cxx.

References DoAction(), and GetAction().

void TGo4FitterAbstract::DoActions ( Bool_t  AllowFitterChange = kFALSE,
TObjArray *  Actions = 0 
)

Executes actions list. First Initialize() method will be called to create buffers (if required by actions). Then for each action in actions list will be called DoAction() method. AllowFitterChange flag specify, if action which may change fitter, can be executed. Alternative array with actions can also be specified to function. In the end Finalize() method close all buffers.

Definition at line 325 of file TGo4FitterAbstract.cxx.

References TGo4FitterAction::CanChangeFitter(), CheckParsListChanging(), TGo4FitterAction::DoAction(), Finalize(), fxActions, Initialize(), and TGo4FitterAction::NeedBuffers().

Referenced by TGo4FitPanel::Button_PerformFit(), TGo4FitPanel::Cmd_ExecuteActions(), Example1(), Example10(), Example11(), Example12(), Example13(), Example2(), Example3(), Example4(), Example5(), Example6(), Example7(), Example8(), ProcessObjects(), and TXXXCalibPar::UpdateFrom().

virtual Double_t TGo4FitterAbstract::DoCalculation (  )  [inline, protected, virtual]

Calculates value of fit function according current values of parameters. Should be implemented in inherited classes.

Reimplemented in TGo4Fitter.

Definition at line 286 of file TGo4FitterAbstract.h.

Referenced by CalculateFitFunction(), and Finalize().

virtual Int_t TGo4FitterAbstract::DoNDFCalculation (  )  [inline, protected, virtual]

Calculates number of dimensions of freedom; Should be implemented in inherited classes.

Reimplemented in TGo4Fitter.

Definition at line 292 of file TGo4FitterAbstract.h.

Referenced by Finalize().

void TGo4FitterAbstract::ExecuteDependencies ( Double_t *  pars  )  [protected]

Execute dependencies in currently associated configuration (if exist).

Definition at line 162 of file TGo4FitterAbstract.cxx.

References fxCurrentConfig, TGo4FitterConfig::GetParsDepend(), and RunDependenciesList().

Referenced by CalculateFitFunction(), and TGo4Fitter::CalculateFitFunction().

void TGo4FitterAbstract::FinalizeDependencies ( TObjArray &  Dependencies  )  [protected]

Relese memory, allocated for dependency executions.

Definition at line 154 of file TGo4FitterAbstract.cxx.

References TGo4FitDependency::Finalize().

Referenced by ApplyConfig().

virtual void TGo4FitterAbstract::FinalizeFitterData (  )  [inline, protected, virtual]

Finalize fitter data. Called during Finalize() method. Should be reimplemented in derived classes.

Reimplemented in TGo4Fitter.

Definition at line 326 of file TGo4FitterAbstract.h.

Referenced by Finalize().

virtual TGo4FitParameter* TGo4FitterAbstract::Get ( Int_t  n  )  [inline, protected, virtual]

Return pointer on parameter of given index. First check, if parameters should be recollected.

Definition at line 275 of file TGo4FitterAbstract.h.

References CheckParsListChanging().

Referenced by CopyParsValuesFrom().

TGo4FitterAction * TGo4FitterAbstract::GetAction ( Int_t  num  ) 

Returns pointer on action with given index.

Definition at line 298 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4FitPanel::Button_PerformFit(), DoAction(), TGo4FitPanel::GetPeakFinder(), NeedPadsNumber(), SetPad(), and TGo4FitPanel::UpdateItem().

Int_t TGo4FitterAbstract::GetNumActions (  )  [inline]
Int_t TGo4FitterAbstract::GetNumResults (  )  const [inline]

Return number of result values.

Definition at line 212 of file TGo4FitterAbstract.h.

References fxResults.

Referenced by QFitTableWidget::FillSpecificData(), GetResultValue(), PrintResults(), and ProcessObjects().

Bool_t TGo4FitterAbstract::GetParEpsilon ( const char *  ParName,
Double_t &  Epsilon 
) [virtual]

Return kTRUE, if epsilon value specified for parameter. If configuration object assigned to fitter, epsilon value will be tested there first and only then original parameter configuration will be used.

Definition at line 100 of file TGo4FitterAbstract.cxx.

References fxCurrentConfig, and TGo4FitterConfig::GetParEpsilon().

Referenced by TGo4FitMinuit::DoAction().

Bool_t TGo4FitterAbstract::GetParFixed ( const char *  ParName  )  [virtual]

Return kTRUE, if parameter should be fixed. If configuration object assigned to fitter, this flag will be tested there first and only then original parameter configuration will be used.ÿ

Definition at line 83 of file TGo4FitterAbstract.cxx.

References fxCurrentConfig, and TGo4FitterConfig::GetParFixed().

Referenced by TGo4FitMinuit::DoAction().

Bool_t TGo4FitterAbstract::GetParRange ( const char *  ParName,
Double_t &  RangeMin,
Double_t &  RangeMax 
) [virtual]

Return kTRUE, if range condition specified for parameter and range boundaries. If configuration object assigned to fitter, range values will be tested there first and only then original parameter configuration will be used.

Definition at line 91 of file TGo4FitterAbstract.cxx.

References fxCurrentConfig, and TGo4FitterConfig::GetParRange().

Referenced by TGo4FitMinuit::DoAction().

Double_t TGo4FitterAbstract::GetResultFF (  )  const

Return result value of fit function.

Definition at line 542 of file TGo4FitterAbstract.cxx.

References fxResults.

Referenced by TGo4FitPanel::FillParsWidget(), QFitTableWidget::FillSpecificData(), and PrintResults().

Int_t TGo4FitterAbstract::GetResultNDF (  )  const

Return result value of number of degree of freedom.

Definition at line 536 of file TGo4FitterAbstract.cxx.

References fxResults.

Referenced by TGo4FitPanel::FillParsWidget(), QFitTableWidget::FillSpecificData(), and PrintResults().

const TArrayD* TGo4FitterAbstract::GetResults (  )  [inline]

Returns pointer on array of result values.

Definition at line 235 of file TGo4FitterAbstract.h.

References fxResults.

Referenced by ProcessObjects().

Double_t TGo4FitterAbstract::GetResultValue ( Int_t  n  )  const

Return value of result with given index. Normally at the end of execution of actions list values of parameters stores to results array. This array can be accessed later by GetNumResults(), GetResultValue() or GetResults() methods. If configuration was assigned during action, it may provide alternative way to calculating result values, which will be stored in fitter.

Definition at line 530 of file TGo4FitterAbstract.cxx.

References fxResults, and GetNumResults().

Referenced by QFitTableWidget::FillSpecificData(), and PrintResults().

virtual Bool_t TGo4FitterAbstract::InitFitterData (  )  [inline, protected, virtual]

Initialize fitter data. Called during Initialize() method. Should be reimplemented in derived classes.

Reimplemented in TGo4Fitter.

Definition at line 319 of file TGo4FitterAbstract.h.

Referenced by Initialize().

Bool_t TGo4FitterAbstract::Initialize (  )  [protected, virtual]

Initialize fitter. Called automatically before any actions execution.

Definition at line 227 of file TGo4FitterAbstract.cxx.

References TGo4FitSlotList::CheckObjects(), TGo4FitParsList::ClearParsBlocking(), CollectAllPars(), fbInitializationDone, fbNeedToFinalize, Finalize(), and InitFitterData().

Referenced by DoAction(), and DoActions().

Bool_t TGo4FitterAbstract::InitializeDependencies ( TObjArray &  Dependencies,
Bool_t  BlockPars,
Bool_t  DoInit 
) [protected]
Bool_t TGo4FitterAbstract::IsInitialized (  )  [inline, protected]

Return kTRUE, if Initialize() was done.

Definition at line 258 of file TGo4FitterAbstract.h.

References fbInitializationDone.

Referenced by TGo4FitAmplEstimation::CalculateWithBuffers().

Bool_t TGo4FitterAbstract::IsParsAsResults (  )  [inline]

Return kTRUE, if parameters were taken as result values.

Definition at line 207 of file TGo4FitterAbstract.h.

References fbParsAsResults.

Referenced by ProcessObjects().

Bool_t TGo4FitterAbstract::IsSuitableConfig ( TGo4FitterConfig Config  ) 

Checks, if config object corresponds to fitter parameters.

Definition at line 168 of file TGo4FitterAbstract.cxx.

References CollectAllPars(), fxCurrentConfig, TGo4FitterConfig::GetParsDepend(), TGo4FitterConfig::GetParsInit(), TGo4FitterConfig::GetResults(), and InitializeDependencies().

Int_t TGo4FitterAbstract::NeedPadsNumber (  ) 

Returns required number of TPad for actions output. Currently only "Draw" command of TGo4FitterOutput method requires pad for output.

Definition at line 508 of file TGo4FitterAbstract.cxx.

References GetAction(), GetNumActions(), and TGo4FitterOutput::NeedPad().

virtual Int_t TGo4FitterAbstract::NumPars (  )  [inline, virtual]

Return total number of parameters, which should be fitted. Parameters are collects from all associated objects like data or models.

Definition at line 65 of file TGo4FitterAbstract.h.

References CheckParsListChanging().

Referenced by ApplyConfig(), CopyParsValuesFrom(), TGo4FitMinuit::DoAction(), Finalize(), InitializeDependencies(), and ProcessObjects().

void TGo4FitterAbstract::Print ( Option_t *  option  )  const [virtual]

Print information about fitter to standard output.

Reimplemented in TGo4Fitter.

Definition at line 557 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4FitterOutput::DoAction().

void TGo4FitterAbstract::PrintResults (  )  const

Print result values to standard output.

Definition at line 548 of file TGo4FitterAbstract.cxx.

References GetNumResults(), GetResultFF(), GetResultNDF(), and GetResultValue().

Referenced by TGo4Fitter::Print().

TObjArray * TGo4FitterAbstract::ProcessObjects ( TObjArray *  objs,
Bool_t  CloneFitter = kTRUE,
Bool_t  OnlyRequired = kTRUE,
TObjArray *  rownames = 0,
TObjArray *  colnames = 0 
)
void TGo4FitterAbstract::ReplaceAction ( TGo4FitterAction action,
Int_t  dir 
)

Shift action in action list upward (dir=-1) or downward (dir=+1).

Definition at line 314 of file TGo4FitterAbstract.cxx.

References fxActions.

Referenced by TGo4FitPanel::Cmd_MoveAction().

void TGo4FitterAbstract::RunDependenciesList ( TObjArray &  Dependencies,
Double_t *  pars 
) [protected]

Execute dependency equations.

Definition at line 148 of file TGo4FitterAbstract.cxx.

Referenced by ApplyConfig(), and ExecuteDependencies().

void TGo4FitterAbstract::SetPad ( Int_t  indx,
TVirtualPad *  pad 
)

Set pad, which will be used for output of TGo4FitterOutput object. If pad will not be set or command will not create new pad, current gPad object will be used for output. Thus, if several "Draw" command occur, result of last command will be seen on current pad.

Definition at line 518 of file TGo4FitterAbstract.cxx.

References GetAction(), GetNumActions(), TGo4FitterOutput::NeedPad(), and TGo4FitterOutput::SetPad().

void TGo4FitterAbstract::SetParsListChange (  )  [inline]

Should be used, when number of parameters are changed. Next time, when somebody will access fitter parameter list, fitter automatically recollect parameters from associated objects.

Definition at line 71 of file TGo4FitterAbstract.h.

References fbParsChange.

Referenced by TGo4Fitter::AddData(), TGo4Fitter::AddModel(), TGo4Fitter::AssignModelTo(), TGo4Fitter::ClearModelAssignmentTo(), TGo4Fitter::DeleteAllData(), TGo4Fitter::DeleteAllModels(), TGo4Fitter::DeleteModelsAssosiatedTo(), TGo4Fitter::RemoveData(), and TGo4Fitter::RemoveModel().


Member Data Documentation

Flag showing, that initialization was complete.

Definition at line 355 of file TGo4FitterAbstract.h.

Referenced by Finalize(), Initialize(), and IsInitialized().

Flag, showing, that finalize method should be called before fitter will be destroyed.

Definition at line 361 of file TGo4FitterAbstract.h.

Referenced by Finalize(), Initialize(), and ~TGo4FitterAbstract().

Definition at line 363 of file TGo4FitterAbstract.h.

Referenced by IsParsAsResults().

Boolean variable, showing that number of parameters is changed.

Definition at line 349 of file TGo4FitterAbstract.h.

Referenced by CheckParsListChanging(), CollectAllPars(), and SetParsListChange().

TArrayD TGo4FitterAbstract::fxResults [protected]

Array of result values. If no specific configuration is used, this just values of fitter parameters. Result array creates in the end of actions execution.

Definition at line 338 of file TGo4FitterAbstract.h.

Referenced by Finalize(), GetNumResults(), GetResultFF(), GetResultNDF(), GetResults(), and GetResultValue().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines