GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4FitDataIter Class Referenceabstract

Iterator class for data object. More...

#include <TGo4FitData.h>

+ Inheritance diagram for TGo4FitDataIter:

Public Member Functions

 TGo4FitDataIter ()
 Default constructor.
 
virtual ~TGo4FitDataIter ()
 Destroys TGo4FitDataIter object.
 
Bool_t CheckPointForRange ()
 Check range conditions and amplitude threshold for current point.
 
Int_t CountPoints (Bool_t UseRanges=kTRUE)
 Counts total number of points in data object.
 
TObject * CreateDrawObject (const char *ObjName)
 Create either histogram or graph object.
 
TGraph * CreateGraph (const char *GraphName, Bool_t UseRanges=kFALSE, Bool_t SetBins=kFALSE)
 Create TGraph object with appropriate to data object size.
 
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.
 
Bool_t DefineIndexesLimits (TArrayI &Limits)
 Iterate over all data points and returns maximum value for indexes.
 
Bool_t HasIndexes () const
 Return kTRUE, if data object has indexes.
 
Bool_t HasWidths () const
 Return kTRUE, if scale widths values exists.
 
const Int_t * Indexes () const
 Return indexes for current data point.
 
Int_t IndexesSize () const
 Return size (number of dimensions) of data indexes.
 
virtual Bool_t Next (Bool_t UseRanges=kTRUE)
 Shift pointer to next data point.
 
Int_t Point () const
 Return number of current point, starting from 0.
 
Bool_t ReachEnd () const
 Checks, if iterator already reach end of data object.
 
virtual Bool_t Reset (Bool_t UseRanges=kTRUE)
 Initialize iterator and positioning pointer on first point.
 
const Double_t * Scales () const
 Return scale values for current data points.
 
Int_t ScalesSize () const
 Return size (number) of scale values for each data point.
 
Double_t StandardDeviation () const
 Return standard deviation of bin content (Value) for current point.
 
Double_t Value () const
 Return bin content (Value) for current point.
 
const Double_t * Widths () const
 Return scales widths values.
 
Double_t x () const
 Return current x coordinate if exists, otherwise 0.
 
Double_t xWidths () const
 Return production of all width parameters (1 if no widths)
 
Double_t y () const
 Return current y coordinate if exists, otherwise 0.
 
Double_t z () const
 Return current z coordinate if exists, otherwise 0.
 

Protected Member Functions

virtual TGo4FitDataGetData () const =0
 Return pointer on correspondent TGo4FitData object, which create iterator.
 
Bool_t GetDeviation ()
 Calculates standard deviation from GetSigmaValue() of data object.
 
Bool_t NextIndex (TArrayI &Index, TArrayI &Limits)
 Producing next indexes set according limits values.
 
Bool_t ProduceScales (const Int_t *index, const Double_t *ownscales, const Double_t *ownwidths)
 Converts scale values.
 
virtual Bool_t ReadCurrentPoint ()=0
 Perform specific actions to read all values from data object.
 
Bool_t ReserveArrays (Int_t NumDimen, Int_t NumOwnAxis, Bool_t HasWidth)
 Reserve buffers for indexes, scales and width values.
 
virtual Bool_t ShiftToNextPoint ()=0
 Move pointer to following data point.
 
virtual Bool_t StartReset ()=0
 Reset pointer and other specific values to the beginning of data.
 
void TransformScales (Double_t *scales)
 Transform scales values, using transformation objects in data.
 

Protected Attributes

Bool_t fbReachEnd {kFALSE}
 
Double_t fdStandardDeviation {0.}
 
Double_t fdValue {0.}
 
Int_t fiNumPoint {0}
 
TArrayI fxIndexes
 
TArrayD fxScales
 
TArrayD fxWidths
 

Detailed Description

Iterator class 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 mechanism via range conditions or amplitude threshold can be specified. Typical usage of iterator:

auto 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 419 of file TGo4FitData.h.

Constructor & Destructor Documentation

◆ TGo4FitDataIter()

◆ ~TGo4FitDataIter()

TGo4FitDataIter::~TGo4FitDataIter ( )
virtual

Destroys TGo4FitDataIter object.

Definition at line 388 of file TGo4FitData.cxx.

Member Function Documentation

◆ CheckPointForRange()

Bool_t TGo4FitDataIter::CheckPointForRange ( )

Check range conditions and amplitude threshold for current point.

Definition at line 494 of file TGo4FitData.cxx.

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

Referenced by Next(), and Reset().

◆ CountPoints()

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 568 of file TGo4FitData.cxx.

References Next(), and Reset().

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

◆ CreateDrawObject()

TObject * TGo4FitDataIter::CreateDrawObject ( const char * ObjName)

Create either histogram or graph object.

Definition at line 671 of file TGo4FitData.cxx.

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

◆ CreateGraph()

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 mechanism will be involved. If SetBins specified, bin content will be copied to histogram.

Definition at line 653 of file TGo4FitData.cxx.

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

Referenced by CreateDrawObject().

◆ CreateHistogram()

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 mechanism will be involved. If SetBins specified, bin content will be copied to histogram.

Definition at line 595 of file TGo4FitData.cxx.

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

Referenced by CreateDrawObject().

◆ DefineIndexesLimits()

Bool_t TGo4FitDataIter::DefineIndexesLimits ( TArrayI & Limits)

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

Definition at line 579 of file TGo4FitData.cxx.

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

Referenced by CreateHistogram().

◆ GetData()

virtual TGo4FitData * TGo4FitDataIter::GetData ( ) const
protectedpure 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().

◆ GetDeviation()

Bool_t TGo4FitDataIter::GetDeviation ( )
protected

◆ HasIndexes()

Bool_t TGo4FitDataIter::HasIndexes ( ) const
inline

Return kTRUE, if data object has indexes.

Definition at line 450 of file TGo4FitData.h.

References IndexesSize().

Referenced by CreateDrawObject(), and CreateHistogram().

◆ HasWidths()

Bool_t TGo4FitDataIter::HasWidths ( ) const
inline

Return kTRUE, if scale widths values exists.

Definition at line 495 of file TGo4FitData.h.

References fxWidths.

Referenced by CreateDrawObject(), CreateHistogram(), and xWidths().

◆ Indexes()

const Int_t * TGo4FitDataIter::Indexes ( ) const
inline

Return indexes for current data point.

Definition at line 460 of file TGo4FitData.h.

References fxIndexes.

Referenced by CreateHistogram(), and DefineIndexesLimits().

◆ IndexesSize()

Int_t TGo4FitDataIter::IndexesSize ( ) const
inline

Return size (number of dimensions) of data indexes.

Definition at line 455 of file TGo4FitData.h.

References fxIndexes.

Referenced by CreateDrawObject(), CreateHistogram(), DefineIndexesLimits(), and HasIndexes().

◆ Next()

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 mechanism 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 531 of file TGo4FitData.cxx.

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

Referenced by CountPoints(), CreateGraph(), CreateHistogram(), and DefineIndexesLimits().

◆ NextIndex()

Bool_t TGo4FitDataIter::NextIndex ( TArrayI & Index,
TArrayI & Limits )
protected

Producing next indexes set according limits values.

Definition at line 469 of file TGo4FitData.cxx.

Referenced by TGo4FitDataHistogramIter::ShiftToNextPoint().

◆ Point()

Int_t TGo4FitDataIter::Point ( ) const
inline

Return number of current point, starting from 0.

Definition at line 520 of file TGo4FitData.h.

References fiNumPoint.

Referenced by CreateGraph().

◆ ProduceScales()

Bool_t TGo4FitDataIter::ProduceScales ( const Int_t * index,
const Double_t * ownscales,
const Double_t * ownwidths )
protected

◆ ReachEnd()

Bool_t TGo4FitDataIter::ReachEnd ( ) const
inline

Checks, if iterator already reach end of data object.

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

Definition at line 537 of file TGo4FitData.h.

References fbReachEnd.

◆ ReadCurrentPoint()

virtual Bool_t TGo4FitDataIter::ReadCurrentPoint ( )
protectedpure 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().

◆ ReserveArrays()

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 390 of file TGo4FitData.cxx.

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

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

◆ Reset()

Bool_t TGo4FitDataIter::Reset ( Bool_t UseRanges = kTRUE)
virtual

Initialize iterator and positioning pointer on first point.

If UseRanges = kTRUE (default), selection mechanism 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 504 of file TGo4FitData.cxx.

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

Referenced by CountPoints(), CreateDrawObject(), CreateGraph(), CreateHistogram(), and DefineIndexesLimits().

◆ Scales()

const Double_t * TGo4FitDataIter::Scales ( ) const
inline

Return scale values for current data points.

Definition at line 475 of file TGo4FitData.h.

References fxScales.

Referenced by CheckPointForRange(), and CreateHistogram().

◆ ScalesSize()

Int_t TGo4FitDataIter::ScalesSize ( ) const
inline

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

Definition at line 470 of file TGo4FitData.h.

References fxScales.

Referenced by CheckPointForRange(), CreateDrawObject(), CreateGraph(), CreateHistogram(), ProduceScales(), and TransformScales().

◆ ShiftToNextPoint()

virtual Bool_t TGo4FitDataIter::ShiftToNextPoint ( )
protectedpure 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().

◆ StandardDeviation()

Double_t TGo4FitDataIter::StandardDeviation ( ) const
inline

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

Definition at line 515 of file TGo4FitData.h.

References fdStandardDeviation.

◆ StartReset()

virtual Bool_t TGo4FitDataIter::StartReset ( )
protectedpure virtual

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

Should be implemented in derived classes.

Implemented in TGo4FitDataGraphIter, TGo4FitDataHistogramIter, TGo4FitDataProfileIter, and TGo4FitDataRidgeIter.

Referenced by Reset().

◆ TransformScales()

void TGo4FitDataIter::TransformScales ( Double_t * scales)
protected

Transform scales values, using transformation objects in data.

Definition at line 419 of file TGo4FitData.cxx.

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

Referenced by ProduceScales().

◆ Value()

Double_t TGo4FitDataIter::Value ( ) const
inline

Return bin content (Value) for current point.

Definition at line 510 of file TGo4FitData.h.

References fdValue.

Referenced by CheckPointForRange(), CreateGraph(), and CreateHistogram().

◆ Widths()

const Double_t * TGo4FitDataIter::Widths ( ) const
inline

Return scales widths values.

Definition at line 500 of file TGo4FitData.h.

References fxWidths.

Referenced by CreateHistogram().

◆ x()

Double_t TGo4FitDataIter::x ( ) const
inline

Return current x coordinate if exists, otherwise 0.

Definition at line 480 of file TGo4FitData.h.

References fxScales.

Referenced by CreateGraph().

◆ xWidths()

Double_t TGo4FitDataIter::xWidths ( ) const

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

Definition at line 559 of file TGo4FitData.cxx.

References fxWidths, and HasWidths().

◆ y()

Double_t TGo4FitDataIter::y ( ) const
inline

Return current y coordinate if exists, otherwise 0.

Definition at line 485 of file TGo4FitData.h.

References fxScales.

◆ z()

Double_t TGo4FitDataIter::z ( ) const
inline

Return current z coordinate if exists, otherwise 0.

Definition at line 490 of file TGo4FitData.h.

References fxScales.

Field Documentation

◆ fbReachEnd

Bool_t TGo4FitDataIter::fbReachEnd {kFALSE}
protected

Definition at line 622 of file TGo4FitData.h.

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

◆ fdStandardDeviation

◆ fdValue

◆ fiNumPoint

Int_t TGo4FitDataIter::fiNumPoint {0}
protected

Definition at line 620 of file TGo4FitData.h.

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

◆ fxIndexes

◆ fxScales

TArrayD TGo4FitDataIter::fxScales
protected

Definition at line 615 of file TGo4FitData.h.

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

◆ fxWidths

TArrayD TGo4FitDataIter::fxWidths
protected

Definition at line 616 of file TGo4FitData.h.

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


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