25#ifndef LATTICES_MASKEDLATTICESTATSDATAPROVIDER_H
26#define LATTICES_MASKEDLATTICESTATSDATAPROVIDER_H
28#include <casacore/lattices/LatticeMath/LatticeStatsDataProviderBase.h>
30#include <casacore/lattices/Lattices/MaskedLattice.h>
31#include <casacore/lattices/Lattices/MaskedLatticeIterator.h>
33#include <casacore/casa/aips.h>
119 std::shared_ptr<RO_MaskedLatticeIterator<T>>
_iter;
133#ifndef CASACORE_NO_AUTO_TEMPLATES
134#include <casacore/lattices/LatticeMath/MaskedLatticeStatsDataProvider.tcc>
Abstract base class of data providers which allows stats framework to iterate through a lattice.
Data provider which allows stats framework to iterate through a masked lattice.
Bool hasMask() const
Does the current data set have an associated mask?
Bool atEnd() const
Are there any data sets left to provide?
MaskedLatticeStatsDataProvider()
default constructor.
uInt getNMaxThreads() const
returns something reasonable based on the lattice size.
void operator++()
increment the data provider to the next dataset, mask, range set, and weights.
const T * getData()
get the current data set
void updateMinPos(const std::pair< Int64, Int64 > &minpos)
void setLattice(const MaskedLattice< T > &lattice, uInt iteratorLimitBytes=4096 *4096)
set the lattice.
void finalize()
Take any actions necessary to finalize the provider.
~MaskedLatticeStatsDataProvider()
Array< Bool > _currentMaskSlice
void reset()
reset the provider to point to the first data set it manages.
const Bool * _currentMaskPtr
uInt64 getCount()
get the count of elements in the current data set.
MaskedLatticeStatsDataProvider(MaskedLattice< T > &lattice, uInt iteratorLimitBytes=4096 *4096)
iteratorLimitBytes is related to the size of the lattice.
std::shared_ptr< RO_MaskedLatticeIterator< T > > _iter
uInt estimatedSteps() const
estimated number of steps to iterate through the the lattice
const Bool * getMask()
Get the associated mask of the current dataset.
void updateMaxPos(const std::pair< Int64, Int64 > &maxpos)
see base class documentation.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
unsigned long long uInt64