casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
casa::MSCache Class Reference

#include <MSCache.h>

Inheritance diagram for casa::MSCache:
casa::PlotMSCacheBase

List of all members.

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< IntnVBPerAve_
 Provisional flagging helpers.
ROVisIteratorrvi_p
 VisIterator pointer.
VisIteratorwvi_p
VisBufferUtil vbu_
 VisBufferUtil for freq/vel calculations.
MSCacheVolMeter vm_
 Volume meter for volume calculation.

Friends

class PlotMSIndexer
 Friend class declarations.

Detailed Description

Definition at line 52 of file MSCache.h.


Constructor & Destructor Documentation

Constructor which takes parent PlotMS.

virtual casa::MSCache::~MSCache ( ) [virtual]

Destructor.

casa::MSCache::MSCache ( const MSCache ) [private]

Forbid copy for now.


Member Function Documentation

Identify myself.

Implements casa::PlotMSCacheBase.

Definition at line 66 of file MSCache.h.

References casa::PlotMSCacheBase::MS.

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)


Friends And Related Function Documentation

friend class PlotMSIndexer [friend]

Friend class declarations.

Reimplemented from casa::PlotMSCacheBase.

Definition at line 55 of file MSCache.h.


Member Data Documentation

A container for channel averaging bounds.

Definition at line 142 of file MSCache.h.

Referenced by chanAveBounds().

Provisional flagging helpers.

Definition at line 145 of file MSCache.h.

VisIterator pointer.

Definition at line 148 of file MSCache.h.

VisBufferUtil for freq/vel calculations.

Definition at line 152 of file MSCache.h.

Volume meter for volume calculation.

Definition at line 155 of file MSCache.h.

Definition at line 149 of file MSCache.h.


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