#include <TGo4FitModelFromData.h>
Public Member Functions | |
TGo4FitModelFromData () | |
TGo4FitModelFromData (const char *iName, TGo4FitData *iDataAsModel=0, Bool_t Amplitude=kTRUE) | |
TGo4FitModelFromData (const char *iName, TH1 *, Bool_t iOwned=kFALSE, Bool_t Amplitude=kTRUE) | |
~TGo4FitModelFromData () | |
TGo4FitData * | GetDataAsModel () const |
void | SetDataAsModel (TGo4FitData *iData, Bool_t iOwned) |
virtual void | FillSlotList (TSeqCollection *list) |
virtual void | Print (Option_t *option) const |
virtual Bool_t | BeforeEval (Int_t) |
virtual Double_t | EvalN (const Double_t *v) |
virtual Double_t | EvaluateAtPoint (TGo4FitData *data, Int_t nbin, Bool_t UseRanges=kTRUE) |
virtual Double_t | EvaluateAtPoint (TGo4FitDataIter *iter, Bool_t UseRanges=kTRUE) |
virtual void | AfterEval () |
Protected Member Functions | |
virtual Bool_t | Initialize (Int_t UseBuffers=-1) |
Double_t | FindDataPoint (Int_t NumIndexes, const Int_t *Indexes) |
Protected Attributes | |
TGo4FitSlot | fxData |
Private Attributes | |
TGo4FitDataIter * | fxIter |
Model object, which is uses TGo4FitData object to produce model bins.
In constructor one should just specify data object (it may be TGo4FitDataHistogram or other), which will be used as model. Optionally, amplitude parameter can be created. For instance:
TH1* histo = GetHistogramSomewhere(); TGo4FitDataHistogram *h = new TGo4FitDataHistogram("hdata", histo, kFALSE); TGo4FitModelFromData *m = new TGo4FitModelFromData("hmodel", h, kFALSE);
The dimensions and bins number on each axis of data object, used in model, should be absolutely the same, as in data object, which should be fitted. Assigned data object will be owned by TGo4FitModelFromData object. But data source object (histogram "histo" in example) may not be owned by object and may be provided later by SetObject() method of fitter.
TGo4Fitter *fitter = GetFitterSomewhere(); TH1* histo = GetHistogramSomewhere(); fitter->SetObject(histo, "hdata");
The name of data object "hdata" instead of model object "hmodel" should be used, when assigning data to TGo4FitModelFromData object via SetObject() method of fitter.
Definition at line 41 of file TGo4FitModelFromData.h.
TGo4FitModelFromData::TGo4FitModelFromData | ( | ) |
Default constructor.
Definition at line 23 of file TGo4FitModelFromData.cxx.
TGo4FitModelFromData::TGo4FitModelFromData | ( | const char * | iName, | |
TGo4FitData * | iDataAsModel = 0 , |
|||
Bool_t | Amplitude = kTRUE | |||
) |
Creates TGo4FitModelFromData object with given name. Pointer on TGo4FitData object and usage of amplitude can be specified.
Definition at line 26 of file TGo4FitModelFromData.cxx.
TGo4FitModelFromData::TGo4FitModelFromData | ( | const char * | iName, | |
TH1 * | histo, | |||
Bool_t | iOwned = kFALSE , |
|||
Bool_t | Amplitude = kTRUE | |||
) |
Creates TGo4FitModelFromData object with given name, which uses external histogram as model component. In constructor TGo4FitDataHistogram object will be created, to which histogram will be assigned. Additionally ownership flag for histogram and usage of amplitude can be specified.
Definition at line 32 of file TGo4FitModelFromData.cxx.
References SetDataAsModel().
TGo4FitModelFromData::~TGo4FitModelFromData | ( | ) |
Destroy TGo4FitModelFromData object
Definition at line 39 of file TGo4FitModelFromData.cxx.
References fxIter.
void TGo4FitModelFromData::AfterEval | ( | ) | [virtual] |
Clear buffers, which were created by BeforeEval() method.
Reimplemented from TGo4FitModel.
Definition at line 85 of file TGo4FitModelFromData.cxx.
References fxIter.
Bool_t TGo4FitModelFromData::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 67 of file TGo4FitModelFromData.cxx.
References fxIter, GetDataAsModel(), TGo4FitData::MakeIter(), and TGo4FitDataIter::Reset().
virtual Double_t TGo4FitModelFromData::EvalN | ( | const Double_t * | v | ) | [inline, 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 88 of file TGo4FitModelFromData.h.
Double_t TGo4FitModelFromData::EvaluateAtPoint | ( | TGo4FitDataIter * | iter, | |
Bool_t | UseRanges = kTRUE | |||
) | [virtual] |
Evaluate model value for point, specified by current values of iterator.
Reimplemented from TGo4FitModel.
Definition at line 80 of file TGo4FitModelFromData.cxx.
References FindDataPoint(), TGo4FitDataIter::Indexes(), and TGo4FitDataIter::IndexesSize().
Double_t TGo4FitModelFromData::EvaluateAtPoint | ( | TGo4FitData * | data, | |
Int_t | nbin, | |||
Bool_t | UseRanges = kTRUE | |||
) | [virtual] |
Evaluate model value for specified data point. All scales values will be take from data buffers, therefore data should be initialized.
Reimplemented from TGo4FitModel.
Definition at line 75 of file TGo4FitModelFromData.cxx.
References FindDataPoint(), TGo4FitModel::GetDataFullIndex(), and TGo4FitModel::GetDataIndexesSize().
void TGo4FitModelFromData::FillSlotList | ( | TSeqCollection * | list | ) | [virtual] |
Add ponter on slot, which should contain TGo4FitData object, to a slots list.
Reimplemented from TGo4FitSlotList.
Definition at line 90 of file TGo4FitModelFromData.cxx.
References TGo4FitData::FillSlotList(), fxData, and GetDataAsModel().
Double_t TGo4FitModelFromData::FindDataPoint | ( | Int_t | NumIndexes, | |
const Int_t * | Indexes | |||
) | [protected] |
Definition at line 102 of file TGo4FitModelFromData.cxx.
References fxIter, TGo4FitDataIter::Indexes(), TGo4FitDataIter::IndexesSize(), TGo4FitDataIter::Next(), TGo4FitDataIter::ReachEnd(), and TGo4FitDataIter::Value().
Referenced by EvaluateAtPoint().
TGo4FitData * TGo4FitModelFromData::GetDataAsModel | ( | ) | const |
Return pointer on TGo4FitData object, which is used as model component.
Definition at line 44 of file TGo4FitModelFromData.cxx.
References fxData, and TGo4FitSlot::GetObject().
Referenced by BeforeEval(), FillSlotList(), Initialize(), and Print().
Bool_t TGo4FitModelFromData::Initialize | ( | Int_t | UseBuffers = -1 |
) | [protected, virtual] |
Initialize object.
Reimplemented from TGo4FitModel.
Definition at line 54 of file TGo4FitModelFromData.cxx.
References TGo4FitModel::GetAssignedConnection(), GetDataAsModel(), TGo4FitData::IsCompatibleData(), and TGo4FitModel::NumAssigments().
void TGo4FitModelFromData::Print | ( | Option_t * | option | ) | const [virtual] |
Print information on standard output.
Reimplemented from TGo4FitModel.
Definition at line 96 of file TGo4FitModelFromData.cxx.
References GetDataAsModel(), and TGo4FitData::Print().
void TGo4FitModelFromData::SetDataAsModel | ( | TGo4FitData * | iData, | |
Bool_t | iOwned | |||
) |
Sets pointer on TGo4FitData object with ownership flag.
Definition at line 49 of file TGo4FitModelFromData.cxx.
References fxData, TGo4FitSlot::SetObject(), and TGo4FitSlotList::SetUpdateSlotList().
Referenced by TGo4FitModelFromData().
TGo4FitSlot TGo4FitModelFromData::fxData [protected] |
Slot for TGo4FitData object, which is used as model component. slot for TGo4FitData
Definition at line 108 of file TGo4FitModelFromData.h.
Referenced by FillSlotList(), GetDataAsModel(), and SetDataAsModel().
TGo4FitDataIter* TGo4FitModelFromData::fxIter [private] |
Definition at line 111 of file TGo4FitModelFromData.h.
Referenced by AfterEval(), BeforeEval(), FindDataPoint(), and ~TGo4FitModelFromData().