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

#include <VisBufferAsync.h>

Inheritance diagram for casa::VisBufferAsync:
casa::VisBuffer casa::VisBufferAsyncWrapper

List of all members.

Public Member Functions

 ~VisBufferAsync ()
 VisBufferAsync (const VisBuffer& vb);.
VisBufferAsyncoperator= (const VisBufferAsync &other)
virtual void allSelectedSpectralWindows (Vector< Int > &spws, Vector< Int > &nvischan)
 Get all selected spectral windows not just the one in the actual buffer.
virtual VisBufferAsyncassign (const VisBuffer &vb, Bool copy)
 Assignment, optionally without copying the data across; with copy=True this is identical to normal assignment operator.
virtual Vector< MDirectionazel (Double time) const
virtual MDirection azel0 (Double time) const
 Note that azel is a function instead of a cached value.
virtual VisBufferclone ()
virtual void detachFromVisIter ()
 virtual Int dataDescriptionId() const;
virtual Vector< Floatfeed_pa (Double time) const
 Note that feed_pa is a function instead of a cached value.
virtual Double hourang (Double time) const
 Hour angle for specified time.
virtual void invalidate ()
 Invalidate the cache.
virtual void invalidateAsync ()
virtual void lsrFrequency (const Int &spw, Vector< Double > &freq, Bool &convert) const
 virtual Vector<Double> & lsrFrequency (); virtual const Vector<Double> & lsrFrequency () const;
virtual const ROMSColumnsmsColumns () const
 Access the current ROMSColumns object via VisIter.
Int msId () const
 Return the actual msid, useful if using multiple ms to monitor which ms in the list is being dealt with.
virtual Bool newArrayId () const
virtual Bool newFieldId () const
Bool newMS () const
 checked if the ms has changed since the last chunk processed
virtual Bool newSpectralWindow () const
Int nRowChunk () const
Int numberAnt () const
Int numberCoh () const
virtual Vector< Floatparang (Double time) const
virtual Float parang0 (Double time) const
 NOMINAL parallactic angle (feed p.a.
virtual Int polarizationId () const
virtual Vector< uInt > & rowIds ()
 Return the row Ids from the original ms.
virtual const Vector< uInt > & rowIds () const
virtual void setCorrectedVisCube (Complex c)
virtual void setCorrectedVisCube (const Cube< Complex > &vis)
virtual void setModelVisCube (Complex c)
virtual void setModelVisCube (const Cube< Complex > &vis)
virtual void setModelVisCube (const Vector< Float > &stokes)
 Set model according to a Stokes vector.
virtual void setVisCube (Complex c)
 Set the visibility to a constant, note that this only changes the buffer, no values are written back to tables from here.
virtual void setVisCube (const Cube< Complex > &vis)
 Set the visibility, note that this only changes the buffer, no values are written back to tables from here.

Protected Member Functions

 VisBufferAsync ()
 The constructors are not public because creation should be performed by a factory object (e.g., VisBufferAutoPtr).
 VisBufferAsync (const VisBufferAsync &other)
 VisBufferAsync (ROVisibilityIterator &iter)
void attachToVisIter (ROVisibilityIterator &iter)
 Attach to a VisIter.
void checkVisIter (const char *func, const char *file, int line, const char *extra="") const
void clear ()
void construct ()
virtual void copyAsyncValues (const VisBufferAsync &other)
virtual void copyCache (const VisBuffer &other, Bool force)
template<typename T >
void copyVector (const Vector< T > &from, Vector< T > &to)
Vector< MDirection > & fillDirection1 ()
Vector< MDirection > & fillDirection2 ()
void fillFrom (const VisBufferAsync &other)
MDirectionfillPhaseCenter ()
Bool getAllBeamOffsetsZero () const
const Vector< String > & getAntennaMounts () const
const Cube< RigidVector
< Double, 2 > > & 
getBeamOffsets () const
const MeasurementSetgetMs () const
Int getNSpw () const
MDirection getPhaseCenter () const
const Cube< Double > & getReceptorAngles () const
void setAngleInfo (Bool allBeamOffsetsZero, const Vector< String > antennaMounts, Cube< RigidVector< Double, 2 > > beamOffsets, const Cube< Double > &receptorAngles)
void initializeScalars ()
void setFilling (Bool isFilling)
void setLsrInfo (const Block< Int > &channelGroupNumber, const Block< Int > &channelIncrement, const Block< Int > &channelStart, const Block< Int > &channelWidth, const MPosition &observatoryPosition, const MDirection &phaseCenter, Bool velocitySelection)
void setMeasurementSet (const MeasurementSet &ms)
void setMeasurementSetId (Int id, bool isNew)
void setMEpoch (const MEpoch &mEpoch)
void setMSD (const MSDerivedValues &msd)
void setNAntennas (Int)
void setNCoh (Int)
void setNSpw (Int)
void setNewEntityFlags (bool newArrayId, bool newFieldId, bool newSpectralWindow)
void setPolarizationId (Int)
void setNRowChunk (Int)
void setReceptor0Angle (const Vector< Float > &receptor0Angle)
void setRowIds (const Vector< uInt > &rowIds)
void setSelectedNVisibilityChannels (const Vector< Int > &nVisibilityChannels)
void setSelectedSpectralWindows (const Vector< Int > &spectralWindows)
void setTopoFreqs (const Vector< Double > &lsrFreq, const Vector< Double > &selFreq_p)
void setVisibilityShape (const IPosition &pvisibilityShape)
void updateCoordInfo (const VisBuffer *, const Bool dirDependent=True)
 Update coordinate info - useful for copied VisBuffers that need to retain some state for later reference.

Static Protected Member Functions

static MDirection unsharedCopyDirection (const MDirection &direction)
static void unsharedCopyDirectionVector (Vector< MDirection > &direction)
static MEpoch unsharedCopyEpoch (const MEpoch &mEpoch)
static MPosition unsharedCopyPosition (const MPosition &position)

Private Member Functions

Bool fillAllBeamOffsetsZero ()
Vector< StringfillAntennaMounts ()
Cube< RigidVector< Double, 2 > > fillBeamOffsets ()
Cube< DoublefillReceptorAngles ()

Private Attributes

Bool allBeamOffsetsZero_p
Vector< StringantennaMounts_p
Vector< MDirectionazelCached_p
Double azelCachedTime_p
Cube< RigidVector< Double, 2 > > beamOffsets_p
Block< IntchannelGroupNumber_p
Block< IntchannelIncrement_p
Block< IntchannelStart_p
Block< IntchannelWidth_p
Vector< FloatfeedpaCached_p
 Int dataDescriptionId_p;.
Double feedpaCachedTime_p
Bool isFilling_p
Vector< DoublelsrFrequency_p
MEpoch mEpoch_p
const MeasurementSetmeasurementSet_p
ROMSColumnsmsColumns_p
MSDerivedValuesmsd_p
Int nAntennas_p
Int nCoh_p
Bool newArrayId_p
Bool newFieldId_p
Bool newSpectralWindow_p
Int nRowChunk_p
Int nSpw_p
MPosition observatoryPosition_p
 const ROScalarColumn<Int> * obsMFreqTypes_p; // [use]
Vector< FloatparangCached_p
Double parangCachedTime_p
Int polarizationId_p
Vector< Floatreceptor0Angle_p
Cube< DoublereceptorAngles_p
Vector< DoubleselFreq_p
Vector< IntselectedNVisibilityChannels_p
Vector< IntselectedSpectralWindows_p
Bool velSelection_p
IPosition visibilityShape_p

Friends

class Rovia_Test
class ViReadImplAsync
class VisBufferAsyncWrapper
class VisBufferAutoPtr
class asyncio::VlaDatum
class asyncio::VLAT

Detailed Description

Definition at line 22 of file VisBufferAsync.h.


Constructor & Destructor Documentation

VisBufferAsync (const VisBuffer& vb);.

The constructors are not public because creation should be performed by a factory object (e.g., VisBufferAutoPtr).

The use of a factory makes it possible to fine tune at run time whether a VisBuffer or a VisBufferAsync is created.

casa::VisBufferAsync::VisBufferAsync ( const VisBufferAsync other) [protected]

Member Function Documentation

virtual void casa::VisBufferAsync::allSelectedSpectralWindows ( Vector< Int > &  spws,
Vector< Int > &  nvischan 
) [virtual]

Get all selected spectral windows not just the one in the actual buffer.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual VisBufferAsync& casa::VisBufferAsync::assign ( const VisBuffer vb,
Bool  copy 
) [virtual]

Assignment, optionally without copying the data across; with copy=True this is identical to normal assignment operator.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::attachToVisIter ( ROVisibilityIterator iter) [protected, virtual]

Attach to a VisIter.

Detaches itself first if already attached to a VisIter. Will remain synchronized with iterator.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Vector<MDirection> casa::VisBufferAsync::azel ( Double  time) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual MDirection casa::VisBufferAsync::azel0 ( Double  time) const [virtual]

Note that azel is a function instead of a cached value.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::checkVisIter ( const char *  func,
const char *  file,
int  line,
const char *  extra = "" 
) const [protected, virtual]

Reimplemented from casa::VisBuffer.

void casa::VisBufferAsync::clear ( ) [protected]
virtual VisBuffer* casa::VisBufferAsync::clone ( ) [virtual]

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::construct ( ) [protected]
virtual void casa::VisBufferAsync::copyAsyncValues ( const VisBufferAsync other) [protected, virtual]
virtual void casa::VisBufferAsync::copyCache ( const VisBuffer other,
Bool  force 
) [protected, virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

template<typename T >
void casa::VisBufferAsync::copyVector ( const Vector< T > &  from,
Vector< T > &  to 
) [protected]

Make an independent copy of the vector. N.B.: the independence is only at the top Vector level so any deep dependence is not undone

Definition at line 192 of file VisBufferAsync.h.

References casa::Array< T >::copy().

virtual void casa::VisBufferAsync::detachFromVisIter ( ) [virtual]

virtual Int dataDescriptionId() const;

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Vector<Float> casa::VisBufferAsync::feed_pa ( Double  time) const [virtual]

Note that feed_pa is a function instead of a cached value.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::fillFrom ( const VisBufferAsync other) [protected]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

const Vector<String>& casa::VisBufferAsync::getAntennaMounts ( ) const [protected]
const Cube<RigidVector <Double, 2> >& casa::VisBufferAsync::getBeamOffsets ( ) const [protected]
const MeasurementSet& casa::VisBufferAsync::getMs ( ) const [protected]
Int casa::VisBufferAsync::getNSpw ( ) const [protected]
const Cube<Double>& casa::VisBufferAsync::getReceptorAngles ( ) const [protected]
virtual Double casa::VisBufferAsync::hourang ( Double  time) const [virtual]

Hour angle for specified time.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::invalidate ( ) [virtual]

Invalidate the cache.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::invalidateAsync ( ) [virtual]
virtual void casa::VisBufferAsync::lsrFrequency ( const Int spw,
Vector< Double > &  freq,
Bool convert 
) const [virtual]

virtual Vector<Double> & lsrFrequency (); virtual const Vector<Double> & lsrFrequency () const;

Reimplemented in casa::VisBufferAsyncWrapper.

virtual const ROMSColumns& casa::VisBufferAsync::msColumns ( ) const [virtual]

Access the current ROMSColumns object via VisIter.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Int casa::VisBufferAsync::msId ( ) const [virtual]

Return the actual msid, useful if using multiple ms to monitor which ms in the list is being dealt with.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Bool casa::VisBufferAsync::newArrayId ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Bool casa::VisBufferAsync::newFieldId ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Bool casa::VisBufferAsync::newMS ( ) const [virtual]

checked if the ms has changed since the last chunk processed

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Bool casa::VisBufferAsync::newSpectralWindow ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Int casa::VisBufferAsync::nRowChunk ( ) const [inline, virtual]

Reimplemented from casa::VisBuffer.

Definition at line 59 of file VisBufferAsync.h.

References nRowChunk_p.

Int casa::VisBufferAsync::numberAnt ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Int casa::VisBufferAsync::numberCoh ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

VisBufferAsync& casa::VisBufferAsync::operator= ( const VisBufferAsync other)
virtual Vector<Float> casa::VisBufferAsync::parang ( Double  time) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Float casa::VisBufferAsync::parang0 ( Double  time) const [virtual]

NOMINAL parallactic angle (feed p.a.

offset NOT included)

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Int casa::VisBufferAsync::polarizationId ( ) const [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual Vector<uInt>& casa::VisBufferAsync::rowIds ( ) [inline, virtual]

Return the row Ids from the original ms.

If the ms used is a subset of another ms then rowIds() return the row ids of the original ms.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Definition at line 68 of file VisBufferAsync.h.

virtual const Vector<uInt>& casa::VisBufferAsync::rowIds ( ) const [inline, virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Definition at line 69 of file VisBufferAsync.h.

void casa::VisBufferAsync::setAngleInfo ( Bool  allBeamOffsetsZero,
const Vector< String antennaMounts,
Cube< RigidVector< Double, 2 > >  beamOffsets,
const Cube< Double > &  receptorAngles 
) [protected]
virtual void casa::VisBufferAsync::setCorrectedVisCube ( Complex  c) [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::setCorrectedVisCube ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::setFilling ( Bool  isFilling) [protected]
void casa::VisBufferAsync::setLsrInfo ( const Block< Int > &  channelGroupNumber,
const Block< Int > &  channelIncrement,
const Block< Int > &  channelStart,
const Block< Int > &  channelWidth,
const MPosition observatoryPosition,
const MDirection phaseCenter,
Bool  velocitySelection 
) [protected]
void casa::VisBufferAsync::setMeasurementSet ( const MeasurementSet ms) [protected]
void casa::VisBufferAsync::setMeasurementSetId ( Int  id,
bool  isNew 
) [protected]
void casa::VisBufferAsync::setMEpoch ( const MEpoch mEpoch) [protected]
virtual void casa::VisBufferAsync::setModelVisCube ( Complex  c) [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::setModelVisCube ( const Cube< Complex > &  vis) [virtual]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::setModelVisCube ( const Vector< Float > &  stokes) [virtual]

Set model according to a Stokes vector.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::setMSD ( const MSDerivedValues msd) [protected]
void casa::VisBufferAsync::setNAntennas ( Int  ) [protected]
void casa::VisBufferAsync::setNCoh ( Int  ) [protected]
void casa::VisBufferAsync::setNewEntityFlags ( bool  newArrayId,
bool  newFieldId,
bool  newSpectralWindow 
) [protected]
void casa::VisBufferAsync::setNRowChunk ( Int  ) [protected]
void casa::VisBufferAsync::setNSpw ( Int  ) [protected]
void casa::VisBufferAsync::setReceptor0Angle ( const Vector< Float > &  receptor0Angle) [protected]
void casa::VisBufferAsync::setRowIds ( const Vector< uInt > &  rowIds) [protected]
void casa::VisBufferAsync::setSelectedNVisibilityChannels ( const Vector< Int > &  nVisibilityChannels) [protected]
void casa::VisBufferAsync::setSelectedSpectralWindows ( const Vector< Int > &  spectralWindows) [protected]
void casa::VisBufferAsync::setTopoFreqs ( const Vector< Double > &  lsrFreq,
const Vector< Double > &  selFreq_p 
) [protected]
virtual void casa::VisBufferAsync::setVisCube ( Complex  c) [virtual]

Set the visibility to a constant, note that this only changes the buffer, no values are written back to tables from here.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

virtual void casa::VisBufferAsync::setVisCube ( const Cube< Complex > &  vis) [virtual]

Set the visibility, note that this only changes the buffer, no values are written back to tables from here.

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

void casa::VisBufferAsync::setVisibilityShape ( const IPosition pvisibilityShape) [protected]
static MDirection casa::VisBufferAsync::unsharedCopyDirection ( const MDirection direction) [static, protected]
static void casa::VisBufferAsync::unsharedCopyDirectionVector ( Vector< MDirection > &  direction) [static, protected]
static MEpoch casa::VisBufferAsync::unsharedCopyEpoch ( const MEpoch mEpoch) [static, protected]
static MPosition casa::VisBufferAsync::unsharedCopyPosition ( const MPosition position) [static, protected]
void casa::VisBufferAsync::updateCoordInfo ( const VisBuffer vb,
const Bool  dirDependent = True 
) [protected, virtual]

Update coordinate info - useful for copied VisBuffers that need to retain some state for later reference.

Presently this fills antenna, array, field and spectralWindow ids, time, frequency and number of rows. if dirDependent is set to False the expensive direction dependent calculation of parallactic or direction of antenna from pointing table is avoided Add more as needed.

Reimplemented from casa::VisBuffer.


Friends And Related Function Documentation

friend class asyncio::VlaDatum [friend]

Definition at line 28 of file VisBufferAsync.h.

friend class asyncio::VLAT [friend]

Reimplemented from casa::VisBuffer.

Definition at line 29 of file VisBufferAsync.h.

friend class Rovia_Test [friend]

Definition at line 24 of file VisBufferAsync.h.

friend class ViReadImplAsync [friend]

Reimplemented from casa::VisBuffer.

Reimplemented in casa::VisBufferAsyncWrapper.

Definition at line 25 of file VisBufferAsync.h.

friend class VisBufferAsyncWrapper [friend]

Reimplemented from casa::VisBuffer.

Definition at line 26 of file VisBufferAsync.h.

friend class VisBufferAutoPtr [friend]

Definition at line 27 of file VisBufferAsync.h.


Member Data Documentation

Definition at line 151 of file VisBufferAsync.h.

Definition at line 152 of file VisBufferAsync.h.

Definition at line 153 of file VisBufferAsync.h.

Definition at line 154 of file VisBufferAsync.h.

Definition at line 155 of file VisBufferAsync.h.

Definition at line 156 of file VisBufferAsync.h.

Definition at line 157 of file VisBufferAsync.h.

Definition at line 158 of file VisBufferAsync.h.

Definition at line 159 of file VisBufferAsync.h.

Int dataDescriptionId_p;.

Definition at line 161 of file VisBufferAsync.h.

Definition at line 162 of file VisBufferAsync.h.

Definition at line 163 of file VisBufferAsync.h.

Definition at line 164 of file VisBufferAsync.h.

Definition at line 166 of file VisBufferAsync.h.

Definition at line 165 of file VisBufferAsync.h.

Definition at line 167 of file VisBufferAsync.h.

Definition at line 168 of file VisBufferAsync.h.

Definition at line 169 of file VisBufferAsync.h.

Definition at line 170 of file VisBufferAsync.h.

Definition at line 171 of file VisBufferAsync.h.

Definition at line 172 of file VisBufferAsync.h.

Definition at line 173 of file VisBufferAsync.h.

Definition at line 174 of file VisBufferAsync.h.

Referenced by nRowChunk().

Definition at line 175 of file VisBufferAsync.h.

const ROScalarColumn<Int> * obsMFreqTypes_p; // [use]

Definition at line 177 of file VisBufferAsync.h.

Definition at line 178 of file VisBufferAsync.h.

Definition at line 179 of file VisBufferAsync.h.

Definition at line 180 of file VisBufferAsync.h.

Definition at line 181 of file VisBufferAsync.h.

Definition at line 182 of file VisBufferAsync.h.

Definition at line 184 of file VisBufferAsync.h.

Definition at line 185 of file VisBufferAsync.h.

Definition at line 183 of file VisBufferAsync.h.

Definition at line 186 of file VisBufferAsync.h.

Definition at line 187 of file VisBufferAsync.h.


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