casa
$Rev:20696$
|
#include <MSCache.h>
Public Member Functions | |
MSCache (PlotMSApp *parent) | |
Constructor which takes parent PlotMS. | |
virtual | ~MSCache () |
Destructor. | |
PlotMSCacheBase::Type | cacheType () |
Identify myself. | |
Matrix< Int > & | chanAveBounds (Int spw) |
Access to channel averaging bounds. | |
virtual String | polname (Int ipol) |
...not yet MS-specific... | |
Protected Member Functions | |
virtual void | loadIt (vector< PMS::Axis > &loadAxes, vector< PMS::DataColumn > &loadData, PlotMSCacheThread *thread=NULL) |
MS-specific loadIt method. | |
Private Member Functions | |
MSCache (const MSCache &) | |
Forbid copy for now. | |
void | setUpVisIter (const String &msname, const PlotMSSelection &selection, Bool readonly=True, Bool chanselect=True, Bool corrselect=True) |
Setup the VisIter. | |
void | countChunks (ROVisibilityIterator &vi, PlotMSCacheThread *thread) |
Count the chunks required in the cache. | |
void | countChunks (ROVisibilityIterator &vi, Vector< Int > &nIterPerAve, const PlotMSAveraging &averaging, PlotMSCacheThread *thread) |
void | trapExcessVolume (map< PMS::Axis, Bool > pendingLoadAxes) |
Trap attempt to use to much memory (too many points) | |
void | loadChunks (ROVisibilityIterator &vi, const vector< PMS::Axis > loadAxes, const vector< PMS::DataColumn > loadData, const PlotMSAveraging &averaging, PlotMSCacheThread *thread) |
Loop over VisIter, filling the cache. | |
void | loadChunks (ROVisibilityIterator &vi, const PlotMSAveraging &averaging, const Vector< Int > &nIterPerAve, const vector< PMS::Axis > loadAxes, const vector< PMS::DataColumn > loadData, PlotMSCacheThread *thread) |
void | forceVBread (VisBuffer &vb, vector< PMS::Axis > loadAxes, vector< PMS::DataColumn > loadData) |
Force read on vb for requested axes (so pre-cache averaging treats all data it should) | |
void | discernData (vector< PMS::Axis > loadAxes, vector< PMS::DataColumn > loadData, PlotMSVBAverager &vba) |
Tell time averager which data column to read. | |
void | loadAxis (VisBuffer &vb, Int vbnum, PMS::Axis axis, PMS::DataColumn data=PMS::DEFAULT_DATACOLUMN) |
Loads the specific axis/metadata into the cache using the given VisBuffer. | |
virtual void | flagToDisk (const PlotMSFlagging &flagging, Vector< Int > &chunks, Vector< Int > &relids, Bool flag, PlotMSIndexer *indexer) |
Set flags in the MS. | |
Private Attributes | |
Vector< Matrix< Int > > | chanAveBounds_p |
A container for channel averaging bounds. | |
Vector< Int > | nVBPerAve_ |
Provisional flagging helpers. | |
ROVisIterator * | rvi_p |
VisIterator pointer. | |
VisIterator * | wvi_p |
VisBufferUtil | vbu_ |
VisBufferUtil for freq/vel calculations. | |
MSCacheVolMeter | vm_ |
Volume meter for volume calculation. | |
Friends | |
class | PlotMSIndexer |
Friend class declarations. |
casa::MSCache::MSCache | ( | PlotMSApp * | parent | ) |
Constructor which takes parent PlotMS.
virtual casa::MSCache::~MSCache | ( | ) | [virtual] |
Destructor.
casa::MSCache::MSCache | ( | const MSCache & | ) | [private] |
Forbid copy for now.
PlotMSCacheBase::Type casa::MSCache::cacheType | ( | ) | [inline, virtual] |
Identify myself.
Implements casa::PlotMSCacheBase.
Definition at line 66 of file MSCache.h.
References casa::PlotMSCacheBase::MS.
Matrix<Int>& casa::MSCache::chanAveBounds | ( | Int | spw | ) | [inline] |
Access to channel averaging bounds.
Definition at line 69 of file MSCache.h.
References chanAveBounds_p.
void casa::MSCache::countChunks | ( | ROVisibilityIterator & | vi, |
PlotMSCacheThread * | thread | ||
) | [private] |
Count the chunks required in the cache.
void casa::MSCache::countChunks | ( | ROVisibilityIterator & | vi, |
Vector< Int > & | nIterPerAve, | ||
const PlotMSAveraging & | averaging, | ||
PlotMSCacheThread * | thread | ||
) | [private] |
void casa::MSCache::discernData | ( | vector< PMS::Axis > | loadAxes, |
vector< PMS::DataColumn > | loadData, | ||
PlotMSVBAverager & | vba | ||
) | [private] |
Tell time averager which data column to read.
virtual void casa::MSCache::flagToDisk | ( | const PlotMSFlagging & | flagging, |
Vector< Int > & | chunks, | ||
Vector< Int > & | relids, | ||
Bool | flag, | ||
PlotMSIndexer * | indexer | ||
) | [private, virtual] |
Set flags in the MS.
Implements casa::PlotMSCacheBase.
void casa::MSCache::forceVBread | ( | VisBuffer & | vb, |
vector< PMS::Axis > | loadAxes, | ||
vector< PMS::DataColumn > | loadData | ||
) | [private] |
Force read on vb for requested axes (so pre-cache averaging treats all data it should)
void casa::MSCache::loadAxis | ( | VisBuffer & | vb, |
Int | vbnum, | ||
PMS::Axis | axis, | ||
PMS::DataColumn | data = PMS::DEFAULT_DATACOLUMN |
||
) | [private] |
Loads the specific axis/metadata into the cache using the given VisBuffer.
void casa::MSCache::loadChunks | ( | ROVisibilityIterator & | vi, |
const vector< PMS::Axis > | loadAxes, | ||
const vector< PMS::DataColumn > | loadData, | ||
const PlotMSAveraging & | averaging, | ||
PlotMSCacheThread * | thread | ||
) | [private] |
Loop over VisIter, filling the cache.
void casa::MSCache::loadChunks | ( | ROVisibilityIterator & | vi, |
const PlotMSAveraging & | averaging, | ||
const Vector< Int > & | nIterPerAve, | ||
const vector< PMS::Axis > | loadAxes, | ||
const vector< PMS::DataColumn > | loadData, | ||
PlotMSCacheThread * | thread | ||
) | [private] |
virtual void casa::MSCache::loadIt | ( | vector< PMS::Axis > & | loadAxes, |
vector< PMS::DataColumn > & | loadData, | ||
PlotMSCacheThread * | thread = NULL |
||
) | [protected, virtual] |
MS-specific loadIt method.
Implements casa::PlotMSCacheBase.
virtual String casa::MSCache::polname | ( | Int | ipol | ) | [virtual] |
...not yet MS-specific...
(or ever?) Set up indexing for the plot void setUpIndexer(PMS::Axis iteraxis=PMS::SCAN, Bool globalXRange=False, Bool globalYRange=False);
Implements casa::PlotMSCacheBase.
void casa::MSCache::setUpVisIter | ( | const String & | msname, |
const PlotMSSelection & | selection, | ||
Bool | readonly = True , |
||
Bool | chanselect = True , |
||
Bool | corrselect = True |
||
) | [private] |
Setup the VisIter.
void casa::MSCache::trapExcessVolume | ( | map< PMS::Axis, Bool > | pendingLoadAxes | ) | [private] |
Trap attempt to use to much memory (too many points)
friend class PlotMSIndexer [friend] |
Friend class declarations.
Reimplemented from casa::PlotMSCacheBase.
Vector<Matrix<Int> > casa::MSCache::chanAveBounds_p [private] |
A container for channel averaging bounds.
Definition at line 142 of file MSCache.h.
Referenced by chanAveBounds().
Vector<Int> casa::MSCache::nVBPerAve_ [private] |
ROVisIterator* casa::MSCache::rvi_p [private] |
VisIterator pointer.
VisBufferUtil casa::MSCache::vbu_ [private] |
VisBufferUtil for freq/vel calculations.
MSCacheVolMeter casa::MSCache::vm_ [private] |
VisIterator* casa::MSCache::wvi_p [private] |