casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Reference

Abstract base class which defines interface for providing "datasets" to the statistics framework when nontrivial means of doing so are not sufficient. More...

#include <StatsDataProvider.h>

List of all members.

Public Member Functions

virtual ~StatsDataProvider ()
virtual void operator++ ()=0
 increment the data provider to the next dataset, mask, range set, and weights.
virtual Bool atEnd () const =0
 Are there any data sets left to provide?
virtual void finalize ()=0
 Take any actions necessary to finalize the provider.
virtual uInt64 getCount ()=0
 get the count of elements in the current data set.
virtual DataIterator getData ()=0
 get the current dataset
virtual MaskIterator getMask ()=0
 Get the associated mask of the current dataset.
virtual uInt getMaskStride ()=0
 Get the stride for the current mask (only called if hasMask() returns True).
virtual DataRanges getRanges ()=0
 Get the associated range(s) of the current dataset.
virtual uInt getStride ()=0
 Get the stride for the current data set.
virtual WeightsIterator getWeights ()=0
 Get the associated weights of the current dataset.
virtual Bool hasMask () const =0
 Does the current data set have an associated mask?
virtual Bool hasRanges () const =0
 Does the current data set have associated range(s)?
virtual Bool hasWeights () const =0
 Does the current data set have associated weights?
virtual Bool isInclude () const =0
 If the associated data set has ranges, are these include (return True) or exclude (return False) ranges?
virtual void reset ()=0
 reset the provider to point to the first data set it manages.
virtual void updateMaxPos (const std::pair< Int64, Int64 > &)
 In general, unless you are writing statistics algorithm code, you shouldn't need to call these methods.
virtual void updateMinPos (const std::pair< Int64, Int64 > &)

Protected Member Functions

 StatsDataProvider ()

Detailed Description

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
class casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >

Abstract base class which defines interface for providing "datasets" to the statistics framework when nontrivial means of doing so are not sufficient.

Definition at line 40 of file StatsDataProvider.h.


Constructor & Destructor Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::~StatsDataProvider (  )  [virtual]
template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::StatsDataProvider (  )  [protected]

Member Function Documentation

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual Bool casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::atEnd (  )  const [pure virtual]

Are there any data sets left to provide?

Implemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual void casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::finalize (  )  [pure virtual]

Take any actions necessary to finalize the provider.

This will be called when atEnd() returns True.

Implemented in casacore::LatticeStatsDataProvider< T >, casacore::LatticeStatsDataProviderBase< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual uInt64 casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getCount (  )  [pure virtual]

get the count of elements in the current data set.

When implementing this method, be certain to take stride into account; ie for a data set with nominally 100 elements that is to have a stride of two, this method should return 50.

Implemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual DataIterator casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getData (  )  [pure virtual]
template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual MaskIterator casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMask (  )  [pure virtual]

Get the associated mask of the current dataset.

Only called if hasMask() returns True;

Implemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual uInt casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getMaskStride (  )  [pure virtual]

Get the stride for the current mask (only called if hasMask() returns True).

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual DataRanges casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getRanges (  )  [pure virtual]

Get the associated range(s) of the current dataset.

Only called if hasRanges() returns True;

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual uInt casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getStride (  )  [pure virtual]

Get the stride for the current data set.

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual WeightsIterator casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::getWeights (  )  [pure virtual]

Get the associated weights of the current dataset.

Only called if hasWeights() returns True;

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual Bool casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::hasMask (  )  const [pure virtual]

Does the current data set have an associated mask?

Implemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual Bool casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::hasRanges (  )  const [pure virtual]

Does the current data set have associated range(s)?

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual Bool casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::hasWeights (  )  const [pure virtual]

Does the current data set have associated weights?

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual Bool casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::isInclude (  )  const [pure virtual]

If the associated data set has ranges, are these include (return True) or exclude (return False) ranges?

Implemented in casacore::LatticeStatsDataProviderBase< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual void casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::operator++ (  )  [pure virtual]

increment the data provider to the next dataset, mask, range set, and weights.

Implemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual void casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::reset (  )  [pure virtual]

reset the provider to point to the first data set it manages.

Implemented in casacore::LatticeStatsDataProvider< T >, casacore::LatticeStatsDataProviderBase< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual void casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::updateMaxPos ( const std::pair< Int64, Int64 > &   )  [inline, virtual]

In general, unless you are writing statistics algorithm code, you shouldn't need to call these methods.

The statistics framework calls these methods when the min and max posiitons are updated. It passes in the relevant index of the current sub dataset it is processing. Data providers can use this information to transform into something more useful, eg an IPosition for lattice data providers, so that they may be retreived easily after statistics have been calculated. The default implementations do nothing.

Reimplemented in casacore::LatticeStatsDataProvider< T >, and casacore::MaskedLatticeStatsDataProvider< T >.

Definition at line 102 of file StatsDataProvider.h.

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual void casacore::StatsDataProvider< AccumType, DataIterator, MaskIterator, WeightsIterator >::updateMinPos ( const std::pair< Int64, Int64 > &   )  [inline, virtual]

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

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1