Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TGo4FitDataIter Class Reference

Iterator calss for data object. More...

#include <TGo4FitData.h>

Inheritance diagram for TGo4FitDataIter:

TGo4FitDataGraphIter TGo4FitDataHistogramIter TGo4FitDataProfileIter TGo4FitDataRidgeIter List of all members.

Public Methods

 TGo4FitDataIter ()
 Default constructor. More...

virtual ~TGo4FitDataIter ()
 Destroys TGo4FitDataIter object. More...

virtual Bool_t Reset (Bool_t UseRanges=kTRUE)
 Initialize iterator and positioning pointer on first point. More...

virtual Bool_t Next (Bool_t UseRanges=kTRUE)
 Shift pointer to next data point. More...

Bool_t HasIndexes () const
 Return kTRUE, if data object has indexes. More...

Int_t IndexesSize () const
 Return size (number of dimensions) of data indexes. More...

const Int_t * Indexes () const
 Return indexes for current data point. More...

Bool_t DefineIndexesLimits (TArrayI &Limits)
 Iterate over all data points and returns maximum value for indexes. More...

Int_t ScalesSize () const
 Return size (number) of scale values for each data point. More...

const Double_t * Scales () const
 Return scale values for current data points. More...

Double_t x () const
 Return current x coordinate if exists, otherwise 0. More...

Double_t y () const
 Return current y coordinate if exists, otherwise 0. More...

Double_t z () const
 Return current z coordinate if exists, otherwise 0. More...

Bool_t HasWidths () const
 Return kTRUE, if scale widths values exists. More...

const Double_t * Widths () const
 Return scales widths values. More...

Double_t xWidths () const
 Return production of all width parameters (1 if no widths). More...

Double_t Value () const
 Return bin content (Value) for current point. More...

Double_t StandardDeviation () const
 Return standard deviation of bin content (Value) for current point. More...

Int_t Point () const
 Return number of current point, starting from 0. More...

Bool_t CheckPointForRange ()
 Check range conditions and amplitude threshold for current point. More...

Int_t CountPoints (Bool_t UseRanges=kTRUE)
 Counts total number of points in data object. More...

Bool_t ReachEnd () const
 Checks, if iterator already reach end of data object. More...

TH1 * CreateHistogram (const char *HistoName, Bool_t UseRanges=kFALSE, Bool_t SetBins=kFALSE)
 Create histogram (if possible) with appropriate to data object dimensions number and size. More...

TGraph * CreateGraph (const char *GraphName, Bool_t UseRanges=kFALSE, Bool_t SetBins=kFALSE)
 Create TGraph object with appropriate to data object size. More...

TObject * CreateDrawObject (const char *ObjName)
 Create either histogram or graph object. More...


Protected Methods

virtual TGo4FitDataGetData () const=0
 Return pointer on correspondent TGo4FitData object, which create iterator. More...

virtual Bool_t StartReset ()=0
 Reset pointer and other specific values to the beggining of data. More...

virtual Bool_t ReadCurrentPoint ()=0
 Perform specific actions to read all values from data object. More...

virtual Bool_t ShiftToNextPoint ()=0
 Move pointer to following data point. More...

Bool_t ReserveArrays (Int_t NumDimen, Int_t NumOwnAxis, Bool_t HasWidth)
 Reserve buffers for indexes, scales and width values. More...

void TransformScales (Double_t *scales)
 Transform scales values, using transformation objects in data. More...

Bool_t ProduceScales (const Int_t *index, const Double_t *ownscales, const Double_t *ownwidths)
 Converts scale values. More...

Bool_t NextIndex (TArrayI &Index, TArrayI &Limits)
 Producing next indexes set according limits values. More...

Bool_t GetDeviation ()
 Calculates standard deviation from GetSigmaValue() of data object. More...


Protected Attributes

TArrayI fxIndexes
TArrayD fxScales
TArrayD fxWidths
Double_t fdValue
Double_t fdStandardDeviation
Int_t fiNumPoint
Bool_t fbReachEnd

Detailed Description

Iterator calss for data object.

The main aim of TGo4FitDataIter class is provide an sequential access to data, containing in appropriate data object. Each new class of data object should provide also it's own implementation for TGo4FitDataIrter class. To create iterator, MakeIter() method of data object should be used. Iterator has two main methods: Reset() and Next(). First method resets all internal buffers of iterator and positioning pointer on first data point. Next() method shifts to next data pointer. As argument of these methods usage of bins selection meachanizm via range conditions or amplitude threshold can be specified. Typical usage of iterator:

TGo4FitDataIter* iter = data->MakeIter(); if (iter->Reset()) do { // do something with values in iterator } while (iter->Next());

Access to most iterator methods like Values(), IndexesSize() and so on can be done only after first call of Reset() method.

Definition at line 425 of file TGo4FitData.h.


Constructor & Destructor Documentation

TGo4FitDataIter::TGo4FitDataIter  
 

Default constructor.

Definition at line 347 of file TGo4FitData.cxx.

TGo4FitDataIter::~TGo4FitDataIter   [virtual]
 

Destroys TGo4FitDataIter object.

Definition at line 351 of file TGo4FitData.cxx.


Member Function Documentation

Bool_t TGo4FitDataIter::Reset Bool_t    UseRanges = kTRUE [virtual]
 

Initialize iterator and positioning pointer on first point.

If UseRanges = kTRUE (default), selection meachanizm of data points via range conditions or amplitude threshold will be involved. Most of iterator routines should be used only after Reset() command.

Definition at line 444 of file TGo4FitData.cxx.

References CheckPointForRange(), fbReachEnd, fiNumPoint, ReadCurrentPoint(), ShiftToNextPoint(), and StartReset().

Referenced by TGo4FitData::ApplyRangesForModelMask(), TGo4FitModelFromData::BeforeEval(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), CountPoints(), TGo4Fitter::CreateDrawObject(), CreateDrawObject(), CreateGraph(), CreateHistogram(), TGo4FitData::DefineDimensions(), DefineIndexesLimits(), TGo4FitData::DefineScaleMinMax(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitData::Initialize(), TGo4FitData::IsCompatibleData(), TGo4FitPeakFinder::ROOTPeakFinder(), TGo4FitPeakFinder::SergeyLinevPeakFinder(), and TGo4FitDataRidgeIter::StartReset().

Bool_t TGo4FitDataIter::Next Bool_t    UseRanges = kTRUE [virtual]
 

Shift pointer to next data point.

Return kTRUE, if next points exist. If UseRanges = kTRUE (default), selection meachanizm of data points via range conditions or amplitude threshold will be involved. Most of iterator routines should be used only after Reset() command.

Definition at line 463 of file TGo4FitData.cxx.

References CheckPointForRange(), fbReachEnd, fiNumPoint, GetData(), ReadCurrentPoint(), and ShiftToNextPoint().

Referenced by TGo4FitData::ApplyRangesForModelMask(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), CountPoints(), TGo4Fitter::CreateDrawObject(), CreateGraph(), CreateHistogram(), DefineIndexesLimits(), TGo4FitData::DefineScaleMinMax(), TGo4FitModelFromData::FindDataPoint(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitData::Initialize(), TGo4FitPeakFinder::ROOTPeakFinder(), TGo4FitPeakFinder::SergeyLinevPeakFinder(), and TGo4FitDataRidgeIter::ShiftToNextPoint().

Bool_t TGo4FitDataIter::HasIndexes   const [inline]
 

Return kTRUE, if data object has indexes.

Definition at line 456 of file TGo4FitData.h.

References IndexesSize().

Referenced by TGo4Fitter::CreateDrawObject(), CreateDrawObject(), CreateHistogram(), and TGo4FitData::Initialize().

Int_t TGo4FitDataIter::IndexesSize   const [inline]
 

Return size (number of dimensions) of data indexes.

Definition at line 461 of file TGo4FitData.h.

References fxIndexes.

Referenced by TGo4FitAmplEstimation::CalculateWithIterators(), TGo4Fitter::CreateDrawObject(), CreateDrawObject(), CreateHistogram(), TGo4FitData::DefineDimensions(), DefineIndexesLimits(), TGo4FitModelFromData::EvaluateAtPoint(), TGo4FitModelFromData::FindDataPoint(), HasIndexes(), TGo4FitData::Initialize(), TGo4FitData::IsCompatibleData(), and TGo4FitDataRidgeIter::StartReset().

const Int_t* TGo4FitDataIter::Indexes   const [inline]
 

Return indexes for current data point.

Definition at line 466 of file TGo4FitData.h.

References fxIndexes.

Referenced by TGo4Fitter::CreateDrawObject(), CreateHistogram(), DefineIndexesLimits(), TGo4FitModelFromData::EvaluateAtPoint(), TGo4FitModelFromData::FindDataPoint(), TGo4FitData::Initialize(), and TGo4FitDataRidgeIter::ReadCurrentPoint().

Bool_t TGo4FitDataIter::DefineIndexesLimits TArrayI &    Limits
 

Iterate over all data points and returns maximum value for indexes.

Definition at line 498 of file TGo4FitData.cxx.

References Indexes(), IndexesSize(), n, Next(), and Reset().

Referenced by CreateHistogram().

Int_t TGo4FitDataIter::ScalesSize   const [inline]
 

Return size (number) of scale values for each data point.

Definition at line 476 of file TGo4FitData.h.

References fxScales.

Referenced by TGo4FitData::ApplyRangesForModelMask(), TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), CheckPointForRange(), TGo4Fitter::CreateDrawObject(), CreateDrawObject(), CreateGraph(), CreateHistogram(), TGo4FitData::DefineScaleMinMax(), TGo4FitModel::EvaluateAtPoint(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitData::Initialize(), ProduceScales(), TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitPeakFinder::ROOTPeakFinder(), TGo4FitPeakFinder::SergeyLinevPeakFinder(), TGo4FitDataRidgeIter::StartReset(), and TransformScales().

const Double_t* TGo4FitDataIter::Scales   const [inline]
 

Return scale values for current data points.

Definition at line 481 of file TGo4FitData.h.

References fxScales.

Referenced by TGo4FitData::ApplyRangesForModelMask(), CheckPointForRange(), CreateHistogram(), TGo4FitData::DefineScaleMinMax(), TGo4FitModel::EvaluateAtPoint(), TGo4FitData::Initialize(), and TGo4FitDataRidgeIter::ReadCurrentPoint().

Double_t TGo4FitDataIter::x   const [inline]
 

Return current x coordinate if exists, otherwise 0.

Definition at line 486 of file TGo4FitData.h.

References fxScales.

Referenced by TGo4Fitter::CalculatesMomentums(), TGo4Fitter::CreateDrawObject(), CreateGraph(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitPeakFinder::ROOTPeakFinder(), and TGo4FitPeakFinder::SergeyLinevPeakFinder().

Double_t TGo4FitDataIter::y   const [inline]
 

Return current y coordinate if exists, otherwise 0.

Definition at line 491 of file TGo4FitData.h.

References fxScales.

Double_t TGo4FitDataIter::z   const [inline]
 

Return current z coordinate if exists, otherwise 0.

Definition at line 496 of file TGo4FitData.h.

References fxScales.

Bool_t TGo4FitDataIter::HasWidths   const [inline]
 

Return kTRUE, if scale widths values exists.

Definition at line 501 of file TGo4FitData.h.

References fxWidths.

Referenced by TGo4Fitter::CreateDrawObject(), CreateDrawObject(), CreateHistogram(), TGo4FitData::Initialize(), TGo4FitPeakFinder::ROOTPeakFinder(), and xWidths().

const Double_t* TGo4FitDataIter::Widths   const [inline]
 

Return scales widths values.

Definition at line 506 of file TGo4FitData.h.

References fxWidths.

Referenced by CreateHistogram(), TGo4FitModel::EvaluateAtPoint(), TGo4FitData::Initialize(), and TGo4FitPeakFinder::ROOTPeakFinder().

Double_t TGo4FitDataIter::xWidths   const
 

Return production of all width parameters (1 if no widths).

Definition at line 480 of file TGo4FitData.cxx.

References fxWidths, HasWidths(), and n.

Referenced by TGo4Fitter::CalculatesIntegral().

Double_t TGo4FitDataIter::Value   const [inline]
 

Return bin content (Value) for current point.

Definition at line 516 of file TGo4FitData.h.

References fdValue.

Referenced by TGo4Fitter::CalculateFCN(), TGo4Fitter::CalculatesIntegral(), TGo4Fitter::CalculatesMomentums(), TGo4FitAmplEstimation::CalculateWithIterators(), CheckPointForRange(), CreateGraph(), CreateHistogram(), TGo4FitModelFromData::FindDataPoint(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitData::Initialize(), TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitPeakFinder::ROOTPeakFinder(), TGo4FitPeakFinder::SergeyLinevPeakFinder(), and TGo4FitDataRidgeIter::ShiftToNextPoint().

Double_t TGo4FitDataIter::StandardDeviation   const [inline]
 

Return standard deviation of bin content (Value) for current point.

Definition at line 521 of file TGo4FitData.h.

References fdStandardDeviation.

Referenced by TGo4Fitter::CalculateFCN(), TGo4FitAmplEstimation::CalculateWithIterators(), TGo4FitData::Initialize(), and TGo4FitPeakFinder::SergeyLinevPeakFinder().

Int_t TGo4FitDataIter::Point   const [inline]
 

Return number of current point, starting from 0.

Definition at line 526 of file TGo4FitData.h.

References fiNumPoint.

Referenced by TGo4Fitter::CreateDrawObject(), and CreateGraph().

Bool_t TGo4FitDataIter::CheckPointForRange  
 

Check range conditions and amplitude threshold for current point.

Definition at line 437 of file TGo4FitData.cxx.

References TGo4FitComponent::CheckRangeConditions(), GetData(), TGo4FitData::GetExcludeLessThen(), Scales(), ScalesSize(), and Value().

Referenced by Next(), and Reset().

Int_t TGo4FitDataIter::CountPoints Bool_t    UseRanges = kTRUE
 

Counts total number of points in data object.

Uses Reset() and Next() methods, therefore change pointer to the data object

Definition at line 489 of file TGo4FitData.cxx.

References Next(), and Reset().

Referenced by TGo4Fitter::CalculatesMomentums(), CreateGraph(), TGo4FitData::DefineBinsSize(), TGo4FitPeakFinder::HansEsselPeakFinder(), TGo4FitData::Initialize(), TGo4FitPeakFinder::ROOTPeakFinder(), and TGo4FitPeakFinder::SergeyLinevPeakFinder().

Bool_t TGo4FitDataIter::ReachEnd   const [inline]
 

Checks, if iterator already reach end of data object.

This heppens, when Next() method return kFALSE value.

Definition at line 543 of file TGo4FitData.h.

References fbReachEnd.

Referenced by TGo4FitModelFromData::FindDataPoint().

TH1 * TGo4FitDataIter::CreateHistogram const char *    HistoName,
Bool_t    UseRanges = kFALSE,
Bool_t    SetBins = kFALSE
 

Create histogram (if possible) with appropriate to data object dimensions number and size.

If UseRanges specified, data point selection mechanizm will be involved. If SetBins specified, bin content will be copied to histogram.

Definition at line 509 of file TGo4FitData.cxx.

References DefineIndexesLimits(), TGo4FitComponent::GetAmplValue(), GetData(), HasIndexes(), HasWidths(), Indexes(), IndexesSize(), n, Next(), Reset(), Scales(), ScalesSize(), Value(), and Widths().

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

TGraph * TGo4FitDataIter::CreateGraph const char *    GraphName,
Bool_t    UseRanges = kFALSE,
Bool_t    SetBins = kFALSE
 

Create TGraph object with appropriate to data object size.

If more than one scales values exists, only first will be used as X-coordinate of TGraph. Bin content (Value()) will be used as Y-coordinate in TGraph. If UseRanges specified, data point selection mechanizm will be involved. If SetBins specified, bin content will be copied to histogram.

Definition at line 558 of file TGo4FitData.cxx.

References CountPoints(), TGo4FitComponent::GetAmplValue(), GetData(), Next(), Point(), Reset(), ScalesSize(), Value(), and x().

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

TObject * TGo4FitDataIter::CreateDrawObject const char *    ObjName
 

Create either histogram or graph object.

Definition at line 573 of file TGo4FitData.cxx.

References CreateGraph(), CreateHistogram(), HasIndexes(), HasWidths(), IndexesSize(), Reset(), and ScalesSize().

Referenced by TGo4FitData::CreateDrawObject().

virtual TGo4FitData* TGo4FitDataIter::GetData   const [protected, pure virtual]
 

Return pointer on correspondent TGo4FitData object, which create iterator.

Should be implemented in derived classes.

Implemented in TGo4FitDataGraphIter, TGo4FitDataHistogramIter, TGo4FitDataProfileIter, and TGo4FitDataRidgeIter.

Referenced by CheckPointForRange(), CreateGraph(), CreateHistogram(), GetDeviation(), Next(), ProduceScales(), ReserveArrays(), and TransformScales().

virtual Bool_t TGo4FitDataIter::StartReset   [protected, pure virtual]
 

Reset pointer and other specific values to the beggining of data.

Should be implemented in derived classes.

Implemented in TGo4FitDataGraphIter, TGo4FitDataHistogramIter, TGo4FitDataProfileIter, and TGo4FitDataRidgeIter.

Referenced by Reset().

virtual Bool_t TGo4FitDataIter::ReadCurrentPoint   [protected, pure virtual]
 

Perform specific actions to read all values from data object.

Should be implemented in derived classes.

Implemented in TGo4FitDataGraphIter, TGo4FitDataHistogramIter, TGo4FitDataProfileIter, and TGo4FitDataRidgeIter.

Referenced by Next(), and Reset().

virtual Bool_t TGo4FitDataIter::ShiftToNextPoint   [protected, pure virtual]
 

Move pointer to following data point.

Should be implemented in derived classes.

Implemented in TGo4FitDataGraphIter, TGo4FitDataHistogramIter, TGo4FitDataProfileIter, and TGo4FitDataRidgeIter.

Referenced by Next(), and Reset().

Bool_t TGo4FitDataIter::ReserveArrays Int_t    NumDimen,
Int_t    NumOwnAxis,
Bool_t    HasWidth
[protected]
 

Reserve buffers for indexes, scales and width values.

In case of 3-D histogram they consume only 3 Int_t and 6 Double_t points.

Definition at line 354 of file TGo4FitData.cxx.

References fxIndexes, fxScales, fxWidths, GetData(), and TGo4FitData::GetUseBinScale().

Referenced by TGo4FitDataRidgeIter::StartReset(), TGo4FitDataProfileIter::StartReset(), TGo4FitDataHistogramIter::StartReset(), and TGo4FitDataGraphIter::StartReset().

void TGo4FitDataIter::TransformScales Double_t *    scales [protected]
 

Transform scales values, using transformation objects in data.

Definition at line 373 of file TGo4FitData.cxx.

References TGo4FitData::GetAxisTrans(), GetData(), TGo4FitData::GetNumberOfTransSlots(), ScalesSize(), and TGo4FitAxisTrans::Transformation().

Referenced by ProduceScales().

Bool_t TGo4FitDataIter::ProduceScales const Int_t *    index,
const Double_t *    ownscales,
const Double_t *    ownwidths
[protected]
 

Converts scale values.

Involved when usage of binary number insted scales or axis calibration objects specified to data.

Definition at line 381 of file TGo4FitData.cxx.

References TGo4FitData::dtHistogram, fxScales, fxWidths, GetData(), TGo4FitData::GetDataType(), TGo4FitData::GetNumberOfTransSlots(), TGo4FitData::GetUseBinScale(), n, ScalesSize(), and TransformScales().

Referenced by TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitDataProfileIter::ReadCurrentPoint(), TGo4FitDataHistogramIter::ReadCurrentPoint(), and TGo4FitDataGraphIter::ReadCurrentPoint().

Bool_t TGo4FitDataIter::NextIndex TArrayI &    Index,
TArrayI &    Limits
[protected]
 

Producing next indexes set according limits values.

Definition at line 418 of file TGo4FitData.cxx.

References n.

Referenced by TGo4FitDataHistogramIter::ShiftToNextPoint().

Bool_t TGo4FitDataIter::GetDeviation   [protected]
 

Calculates standard deviation from GetSigmaValue() of data object.

Definition at line 428 of file TGo4FitData.cxx.

References fdStandardDeviation, GetData(), TGo4FitData::GetSigmaSource(), and TGo4FitData::GetSigmaValue().

Referenced by TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitDataProfileIter::ReadCurrentPoint(), TGo4FitDataHistogramIter::ReadCurrentPoint(), and TGo4FitDataGraphIter::ReadCurrentPoint().


Member Data Documentation

TArrayI TGo4FitDataIter::fxIndexes [protected]
 

Definition at line 619 of file TGo4FitData.h.

Referenced by Indexes(), IndexesSize(), TGo4FitDataProfileIter::ReadCurrentPoint(), TGo4FitDataHistogramIter::ReadCurrentPoint(), TGo4FitDataGraphIter::ReadCurrentPoint(), ReserveArrays(), TGo4FitDataProfileIter::ShiftToNextPoint(), TGo4FitDataHistogramIter::ShiftToNextPoint(), and TGo4FitDataGraphIter::ShiftToNextPoint().

TArrayD TGo4FitDataIter::fxScales [protected]
 

Definition at line 621 of file TGo4FitData.h.

Referenced by ProduceScales(), ReserveArrays(), Scales(), ScalesSize(), x(), y(), and z().

TArrayD TGo4FitDataIter::fxWidths [protected]
 

Definition at line 622 of file TGo4FitData.h.

Referenced by HasWidths(), ProduceScales(), ReserveArrays(), Widths(), and xWidths().

Double_t TGo4FitDataIter::fdValue [protected]
 

Definition at line 623 of file TGo4FitData.h.

Referenced by TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitDataProfileIter::ReadCurrentPoint(), TGo4FitDataHistogramIter::ReadCurrentPoint(), TGo4FitDataGraphIter::ReadCurrentPoint(), and Value().

Double_t TGo4FitDataIter::fdStandardDeviation [protected]
 

Definition at line 624 of file TGo4FitData.h.

Referenced by GetDeviation(), TGo4FitDataRidgeIter::ReadCurrentPoint(), TGo4FitDataProfileIter::ReadCurrentPoint(), TGo4FitDataHistogramIter::ReadCurrentPoint(), TGo4FitDataGraphIter::ReadCurrentPoint(), and StandardDeviation().

Int_t TGo4FitDataIter::fiNumPoint [protected]
 

Definition at line 626 of file TGo4FitData.h.

Referenced by Next(), Point(), and Reset().

Bool_t TGo4FitDataIter::fbReachEnd [protected]
 

Definition at line 628 of file TGo4FitData.h.

Referenced by Next(), ReachEnd(), and Reset().


The documentation for this class was generated from the following files:
Generated on Tue Nov 8 10:56:40 2005 for Go4-v2.10-5 by doxygen1.2.15