25#ifndef LATTICES_LATTICESTATSDATAPROVIDER_H
26#define LATTICES_LATTICESTATSDATAPROVIDER_H
28#include <casacore/lattices/Lattices/LatticeIterator.h>
29#include <casacore/lattices/LatticeMath/LatticeStatsDataProviderBase.h>
31#include <casacore/casa/aips.h>
119 std::shared_ptr<RO_LatticeIterator<T>>
_iter;
131#ifndef CASACORE_NO_AUTO_TEMPLATES
132#include <casacore/lattices/LatticeMath/LatticeStatsDataProvider.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 an unmasked lattice.
void reset()
reset the provider to point to the first data set it manages.
Bool hasMask() const
Does the current data set have an associated mask?
void updateMinPos(const std::pair< Int64, Int64 > &minpos)
void operator++()
increment the data provider to the next dataset, mask, range set, and weights.
std::shared_ptr< RO_LatticeIterator< T > > _iter
LatticeStatsDataProvider()
default constructor, must set lattice after construction but before using the object
Bool atEnd() const
Are there any data sets left to provide?
LatticeStatsDataProvider(const Lattice< T > &lattice, uInt iteratorLimitBytes=4096 *4096)
iteratorLimitBytes is related to the size of the lattice.
uInt64 getCount()
get the count of elements in the current data set.
uInt getNMaxThreads() const
returns something reasonable based on the lattice size.
void updateMaxPos(const std::pair< Int64, Int64 > &maxpos)
see base class documentation.
~LatticeStatsDataProvider()
void finalize()
Take any actions necessary to finalize the provider.
const T * getData()
get the current data set
const Bool * getMask()
Get the associated mask of the current dataset.
void setLattice(const Lattice< T > &lattice, uInt iteratorLimitBytes=4096 *4096)
set the lattice.
uInt estimatedSteps() const
estimated number of steps to iterate through the the lattice
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.
unsigned long long uInt64