casacore
Loading...
Searching...
No Matches
casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator > Class Template Referenceabstract

This is the virtual base class from which concrete QuantileComputer classes are derived. More...

#include <StatisticsAlgorithmQuantileComputer.h>

Public Member Functions

 StatisticsAlgorithmQuantileComputer ()=delete
virtual ~StatisticsAlgorithmQuantileComputer ()
virtual StatisticsAlgorithmQuantileComputer< CASA_STATP > * clone () const =0
 clone this object by returning a pointer to a copy
void deleteSortedArray ()
 delete any (partially) sorted array
virtual void reset ()
 reset this object by clearing data.
void setDataset (StatisticsDataset< CASA_STATP > *ds)
 This must be called upon the copy or assignment of the associated statistics algorithm object.
std::vector< AccumType > & _getSortedArray ()
 FIXME make protected once refactor is complete.
void _setSortedArray (const std::vector< AccumType > &v)
 FIXME make protected once refactor is complete.
void setMedian (std::shared_ptr< AccumType > median)

Protected Member Functions

 StatisticsAlgorithmQuantileComputer (StatisticsDataset< CASA_STATP > *ds)
 ds should be the dataset object held in the StatisticsAlgorithm object.
 StatisticsAlgorithmQuantileComputer (const StatisticsAlgorithmQuantileComputer &other)
 use copy semantics.
StatisticsAlgorithmQuantileComputeroperator= (const StatisticsAlgorithmQuantileComputer &other)
 use copy semantics.
StatisticsDataset< CASA_STATP > * _getDataset ()
std::shared_ptr< AccumType > _getMedian () const
std::shared_ptr< AccumType > _getMedianAbsDevMedian () const
void _setMedianAbsDevMedian (std::shared_ptr< AccumType > medAbsDevMed)

Private Attributes

std::vector< AccumType > _sortedArray
StatisticsDataset< CASA_STATP > * _dataset
 This pointer references the (non-pointer) object in the associated non-QuantileComputer computer object, so this should not be wrapped in a smart pointer.
std::shared_ptr< AccumType > _median
std::shared_ptr< AccumType > _medAbsDevMed

Detailed Description

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

This is the virtual base class from which concrete QuantileComputer classes are derived.

The API developer should never explicitly instantiate a QuantileComputer class; they are used internally by other StatsFramework classes. See the documentation of StatisticsAlgorithm for more details.

Definition at line 44 of file StatisticsAlgorithmQuantileComputer.h.

Constructor & Destructor Documentation

◆ StatisticsAlgorithmQuantileComputer() [1/3]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::StatisticsAlgorithmQuantileComputer ( )
delete

◆ ~StatisticsAlgorithmQuantileComputer()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
virtual casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::~StatisticsAlgorithmQuantileComputer ( )
virtual

◆ StatisticsAlgorithmQuantileComputer() [2/3]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::StatisticsAlgorithmQuantileComputer ( StatisticsDataset< CASA_STATP > * ds)
protected

ds should be the dataset object held in the StatisticsAlgorithm object.

The QuantileComputer calculator object should never hold its own version of a dataset object. The algorithm object (caller of this method) is always responsible for deleting the passed object, usually upon its destruction.

◆ StatisticsAlgorithmQuantileComputer() [3/3]

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::StatisticsAlgorithmQuantileComputer ( const StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator > & other)
protected

use copy semantics.

statistics algorithm object's responsibility to set the _dataset object in the new QuantileComputer calculator object upon a copy. The underlying _dataset object in the new stats calculator object should be a reference to the new _dataset object in the copied statistics algorithm object.

References StatisticsAlgorithmQuantileComputer().

Member Function Documentation

◆ _getDataset()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsDataset< CASA_STATP > * casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getDataset ( )
inlineprotected

Definition at line 102 of file StatisticsAlgorithmQuantileComputer.h.

References _dataset.

◆ _getMedian()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::shared_ptr< AccumType > casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getMedian ( ) const
inlineprotected

Definition at line 104 of file StatisticsAlgorithmQuantileComputer.h.

References _median.

◆ _getMedianAbsDevMedian()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::shared_ptr< AccumType > casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getMedianAbsDevMedian ( ) const
inlineprotected

Definition at line 106 of file StatisticsAlgorithmQuantileComputer.h.

References _medAbsDevMed.

◆ _getSortedArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::vector< AccumType > & casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_getSortedArray ( )
inline

FIXME make protected once refactor is complete.

Definition at line 67 of file StatisticsAlgorithmQuantileComputer.h.

References _sortedArray.

◆ _setMedianAbsDevMedian()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_setMedianAbsDevMedian ( std::shared_ptr< AccumType > medAbsDevMed)
inlineprotected

Definition at line 110 of file StatisticsAlgorithmQuantileComputer.h.

References _medAbsDevMed.

◆ _setSortedArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_setSortedArray ( const std::vector< AccumType > & v)
inline

FIXME make protected once refactor is complete.

Definition at line 70 of file StatisticsAlgorithmQuantileComputer.h.

References _sortedArray.

◆ clone()

◆ deleteSortedArray()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::deleteSortedArray ( )

delete any (partially) sorted array

◆ operator=()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsAlgorithmQuantileComputer & casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::operator= ( const StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator > & other)
protected

use copy semantics.

The _dataset object is not copied. It is the associated statistics algorithm object's responsibility to set the _dataset object in the new QuantileComputer calculator object upon an assignment. The underlying _dataset object in the new stats calculator object should be a reference to that in the newly assigned statistics algorithm object.

References StatisticsAlgorithmQuantileComputer().

◆ reset()

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

◆ setDataset()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::setDataset ( StatisticsDataset< CASA_STATP > * ds)

This must be called upon the copy or assignment of the associated statistics algorithm object.

Otherwise, there is generally no reason to call it.

◆ setMedian()

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
void casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::setMedian ( std::shared_ptr< AccumType > median)
inline

Definition at line 72 of file StatisticsAlgorithmQuantileComputer.h.

References _median, and casacore::median().

Member Data Documentation

◆ _dataset

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
StatisticsDataset<CASA_STATP>* casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_dataset
private

This pointer references the (non-pointer) object in the associated non-QuantileComputer computer object, so this should not be wrapped in a smart pointer.

Definition at line 119 of file StatisticsAlgorithmQuantileComputer.h.

Referenced by _getDataset().

◆ _medAbsDevMed

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::shared_ptr<AccumType> casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_medAbsDevMed
private

◆ _median

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::shared_ptr<AccumType> casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_median
private

Definition at line 120 of file StatisticsAlgorithmQuantileComputer.h.

Referenced by _getMedian(), and setMedian().

◆ _sortedArray

template<class AccumType, class DataIterator, class MaskIterator = const Bool *, class WeightsIterator = DataIterator>
std::vector<AccumType> casacore::StatisticsAlgorithmQuantileComputer< AccumType, DataIterator, MaskIterator, WeightsIterator >::_sortedArray
private

Definition at line 115 of file StatisticsAlgorithmQuantileComputer.h.

Referenced by _getSortedArray(), and _setSortedArray().


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