casa
$Rev:20696$
|
VisBufferImpls encapsulate one chunk of visibility data for processing. More...
#include <VisBufferImpl.h>
Public Member Functions | |
VisBufferImpl () | |
Create empty VisBufferImpl you can assign to or attach. | |
VisBufferImpl (ROVisibilityIterator2 &iter) | |
Construct VisBufferImpl for a particular VisibilityIterator2 The buffer will remain synchronized with the iterator. | |
VisBufferImpl (const VisBufferImpl &vb) | |
Copy construct, looses synchronization with iterator: only use buffer for current iteration (or reattach). | |
virtual | ~VisBufferImpl () |
Destructor (detaches from VisIter) | |
virtual VisBufferImpl & | operator= (const VisBufferImpl &vb) |
Assignment, loses synchronization with iterator: only use buffer for current iteration (or reattach) | |
virtual void | assign (const VisBufferImpl &vb, Bool copy=True) |
Assignment, optionally without copying the data across; with copy=True this is identical to normal assignment operator. | |
virtual VisBufferImpl * | clone () const |
virtual const ROVisibilityIterator2 * | getVi () const |
virtual void | invalidate () |
*virtual void | dirtyComponentsAdd (const VbDirtyComponents &additionalDirtyComponents) |
--> provided by VI: virtual Int nRowChunk() const; | |
virtual void | dirtyComponentsAdd (VisBufferComponents::EnumType component) |
virtual void | dirtyComponentsClear () |
virtual VbDirtyComponents | dirtyComponentsGet () const |
virtual void | dirtyComponentsSet (const VbDirtyComponents &dirtyComponents) |
virtual void | dirtyComponentsSet (VisBufferComponents::EnumType component) |
virtual Vector< Float > | feed_pa (Double time) const |
--> This needs to be removed: virtual Bool fetch(const asyncio::PrefetchColumns *pfc); | |
virtual Float | parang0 (Double time) const |
direction1() and direction2() return arrays of directions where the first and the second antenna/feed are pointed to. | |
virtual Vector< Float > | parang (Double time) const |
virtual MDirection | azel0 (Double time) const |
virtual void | azel0Vec (Double time, Vector< Double > &azelVec) const |
virtual Vector< MDirection > | azel (Double time) const |
virtual void | azelMat (Double time, Matrix< Double > &azelMat) const |
virtual Double | hourang (Double time) const |
Hour angle for specified time. | |
void | freqAveCubes () |
virtual const Vector<Double>& lsrFrequency() const; virtual void setLsrFrequency (const Vector<Double>&); | |
void | averageChannels (const Matrix< Int > &chanavebounds) |
Average channel axis according to chanavebounds, for whichever of DATA, MODEL_DATA, CORRECTED_DATA, FLOAT_DATA, FLAG, and WEIGHT_SPECTRUM are present. | |
virtual void | sortCorr () |
Form Stokes parameters from correlations (these are preliminary versions) --> Not called: virtual void formStokes(); --> Not called: virtual void formStokesWeightandFlag(); --> Not called: virtual void formStokes(Cube<Complex>& vis); --> Not called: virtual void formStokes(Cube<Float>& fcube); // Will throw up if asked to do all 4. | |
virtual void | unSortCorr () |
virtual void | normalize (const Bool &phaseOnly=False) |
Normalize the visCube by the modelVisCube (and optionally also divide visCube_p by its normalized amp) | |
virtual void | resetWeightsUsingSigma () |
Fill weightMat according to sigma column. | |
virtual void | updateCoordInfo (const VisBufferImpl *vb=NULL, const Bool dirDependent=True) |
Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres) | |
void | copyCoordInfo (const VisBufferImpl &other, Bool force=False) |
virtual Bool | isNewArrayId () const |
--> Not called: virtual void setCorrectedVisCube(const Cube<Complex>& vis); Like the above, but for FLOAT_DATA, keeping it as real floats. | |
virtual Bool | isNewFieldId () const |
virtual Bool | isNewMs () const |
virtual Bool | isNewSpectralWindow () const |
virtual Bool | isWritable () const |
virtual Int | msId () const |
virtual String | msName (Bool stripPath=False) const |
Data accessors and | setters (where appropriate) There are the methods that allows access to the items cached in the VisBuffer.The straight accessors provide read-only access to the item.Where the item is allowed to be modified |
Data accessors and one or more set methods are provided *virtual Vector< Int > | antenna1 () const |
virtual const Vector< Int > & | antenna2 () const |
virtual Int | arrayId () const |
virtual const Vector< Int > & | channel () const |
virtual const Vector < SquareMatrix< Complex, 2 > > & | cjones () const |
virtual const Cube< Complex > & | correctedVisCube () const |
virtual void | setCorrectedVisCube (const Cube< Complex > &) |
virtual const Matrix < CStokesVector > & | correctedVisibility () const |
virtual void | setCorrectedVisibility (const Matrix< CStokesVector > &) |
virtual const Vector< Int > & | corrType () const |
virtual Int | dataDescriptionId () const |
virtual const Vector < MDirection > & | direction1 () const |
virtual const Vector < MDirection > & | direction2 () const |
virtual const Vector< Double > & | exposure () const |
virtual const Vector< Int > & | feed1 () const |
virtual const Vector< Float > & | feed1_pa () const |
virtual const Vector< Int > & | feed2 () const |
virtual const Vector< Float > & | feed2_pa () const |
virtual Int | fieldId () const |
virtual const Matrix< Bool > & | flag () const |
virtual void | setFlag (const Matrix< Bool > &) |
virtual const Array< Bool > & | flagCategory () const |
virtual void | setFlagCategory (const Array< Bool > &) |
virtual const Cube< Bool > & | flagCube () const |
virtual void | setFlagCube (const Cube< Bool > &) |
virtual const Vector< Bool > & | flagRow () const |
virtual void | setFlagRow (const Vector< Bool > &) |
virtual const Cube< Float > & | floatDataCube () const |
virtual void | setFloatDataCube (const Cube< Float > &) |
virtual const Vector< Double > & | frequency () const |
virtual const Matrix< Float > & | imagingWeight () const |
virtual const Cube< Complex > & | modelVisCube () const |
virtual void | setModelVisCube (const Complex &c) |
virtual void | setModelVisCube (const Cube< Complex > &vis) |
virtual void | setModelVisCube (const Vector< Float > &stokes) |
virtual const Matrix < CStokesVector > & | modelVisibility () const |
virtual void | setModelVisibility (Matrix< CStokesVector > &) |
virtual Int | nChannel () const |
virtual Int | nCorr () const |
virtual Int | nRow () const |
virtual const Vector< Int > & | observationId () const |
virtual const MDirection & | phaseCenter () const |
virtual Int | polFrame () const |
virtual const Vector< Int > & | processorId () const |
virtual const Vector< uInt > & | rowIds () const |
virtual const Vector< Int > & | scan () const |
virtual const Vector< Float > & | sigma () const |
virtual const Matrix< Float > & | sigmaMat () const |
virtual Int | spectralWindow () const |
virtual const Vector< Int > & | stateId () const |
virtual const Vector< Double > & | time () const |
virtual const Vector< Double > & | timeCentroid () const |
virtual const Vector< Double > & | timeInterval () const |
virtual const Vector < RigidVector< Double, 3 > > & | uvw () const |
virtual const Matrix< Double > & | uvwMat () const |
virtual const Cube< Complex > & | visCube () const |
virtual void | setVisCube (const Complex &c) |
virtual void | setVisCube (const Cube< Complex > &) |
virtual const Matrix < CStokesVector > & | visibility () const |
virtual void | setVisibility (Matrix< CStokesVector > &) |
virtual const Vector< Float > & | weight () const |
virtual void | setWeight (const Vector< Float > &) |
virtual const Matrix< Float > & | weightMat () const |
virtual void | setWeightMat (const Matrix< Float > &) |
virtual const Cube< Float > & | weightSpectrum () const |
virtual void | setWeightSpectrum (const Cube< Float > &) |
Public Attributes | |
shouldn t be | settable: virtual void setNRow (const Int &) |
subtraction: return the difference of the visibilities, flags of this and other are or-ed. | |
Protected Member Functions | |
virtual void | attachToVisibilityIterator2 (ROVisibilityIterator2 &iter) |
Attach to a VisIter. | |
virtual void | cacheCopy (const VisBufferImpl &other, Bool markAsCached) |
virtual void | cacheClear (Bool markAsCached=False) |
void | adjustWeightFactorsAndFlags (Matrix< Float > &rowWeightFactors, Bool useWeightSpectrum, Int nRows, Int nCorrelations, Int nChannelsOut) |
void | adjustWeightAndSigmaMatrices (Int nChannelsAveraged, Int nChannelsOut, Int nRows, Int nCorrelations, Int nChannelsSelected, const Matrix< Float > &rowWeightFactors) |
Int | averageChannelFrequencies (Int nChannelsOut, const Vector< Int > &channels, const Matrix< Int > &averagingBounds) |
void | averageFlagInfoChannels (const Matrix< Int > &averagingBounds, Int nChannelsOut, Bool useWeightSpectrum) |
template<class T > | |
void | averageVisCubeChannels (T &dataCache, Int nChanOut, const Matrix< Int > &averagingbounds) |
virtual void | checkVisIter (const char *func, const char *file, int line, const char *extra="") const |
void | computeRowWeightFactors (Matrix< Float > &rowWeightFactors, Bool useWeightSpectrum) |
virtual void | sortCorrelationsAux (Bool makeSorted) |
virtual void | detachFromVisibilityIterator2 () |
virtual ROVisibilityIterator2 * | getViP () const |
void | registerCacheItem (VbCacheItemBase *) |
void | setIterationInfo (Int msId, const String &msName, Bool isNewMs, Bool isNewArrayId, Bool isNewFieldId, Bool isNewSpectralWindow) |
virtual void | stateCopy (const VisBufferImpl &other) |
template<typename Coord > | |
void | updateCoord (Coord &item, const Coord &otherItem) |
Private Member Functions | |
virtual Bool | areCorrelationsInCanonicalOrder () const |
void | checkVisIterBase (const char *func, const char *file, int line, const char *extra="") const |
void | construct () |
void | constructCache () |
virtual void | validate () |
Fillers These methods fill the needed value into the cache This usually means getting it from the attached VisibilityIterator2 but the needed value can be generated as well The name of the filler should match up with the accessor | method (see above) as well as the member name in the cache(see VisBufferCache class in VisBuffer.cc).*/virtual void fillAntenna1(Vector< Int > &value) const |
virtual void | fillAntenna2 (Vector< Int > &value) const |
virtual void | fillArrayId (Int &value) const |
virtual void | fillChannel (Vector< Int > &value) const |
virtual void | fillCorrType (Vector< Int > &value) const |
virtual void | fillCubeCorrected (Cube< Complex > &value) const |
virtual void | fillCubeModel (Cube< Complex > &value) const |
virtual void | fillCubeObserved (Cube< Complex > &value) const |
virtual void | fillDataDescriptionId (Int &value) const |
virtual void | fillDirection1 (Vector< MDirection > &value) const |
virtual void | fillDirection2 (Vector< MDirection > &value) const |
virtual void | fillDirectionAux (Vector< MDirection > &value, const Vector< Int > &antenna, const Vector< Int > &feed, const Vector< Float > &feedPa) const |
virtual void | fillExposure (Vector< Double > &value) const |
virtual void | fillFeed1 (Vector< Int > &value) const |
virtual void | fillFeed2 (Vector< Int > &value) const |
virtual void | fillFeedPa1 (Vector< Float > &feedPa) const |
virtual void | fillFeedPa2 (Vector< Float > &feedPa) const |
virtual void | fillFeedPaAux (Vector< Float > &feedPa, const Vector< Int > &antenna, const Vector< Int > &feed) const |
virtual void | fillFieldId (Int &value) const |
virtual void | fillFlag (Matrix< Bool > &value) const |
virtual void | fillFlagCategory (Array< Bool > &value) const |
virtual void | fillFlagCube (Cube< Bool > &value) const |
virtual void | fillFlagRow (Vector< Bool > &value) const |
virtual void | fillFloatData (Cube< Float > &value) const |
virtual void | fillFrequency (Vector< Double > &value) const |
virtual void | fillImagingWeight (Matrix< Float > &value) const |
virtual void | fillJonesC (Vector< SquareMatrix< Complex, 2 > > &value) const |
virtual void | fillNChannel (Int &value) const |
virtual void | fillNCorr (Int &value) const |
virtual void | fillNRow (Int &value) const |
virtual void | fillObservationId (Vector< Int > &value) const |
virtual void | fillPhaseCenter (MDirection &value) const |
virtual void | fillPolFrame (Int &value) const |
virtual void | fillProcessorId (Vector< Int > &value) const |
virtual void | fillScan (Vector< Int > &value) const |
virtual void | fillSigma (Vector< Float > &value) const |
virtual void | fillSigmaMat (Matrix< Float > &value) const |
virtual void | fillSpectralWindow (Int &value) const |
virtual void | fillStateId (Vector< Int > &value) const |
virtual void | fillTime (Vector< Double > &value) const |
virtual void | fillTimeCentroid (Vector< Double > &value) const |
virtual void | fillTimeInterval (Vector< Double > &value) const |
virtual void | fillUvw (Vector< RigidVector< Double, 3 > > &value) const |
virtual void | fillUvwMat (Matrix< Double > &value) const |
virtual void | fillVisibilityCorrected (Matrix< CStokesVector > &value) const |
virtual void | fillVisibilityModel (Matrix< CStokesVector > &value) const |
virtual void | fillVisibilityObserved (Matrix< CStokesVector > &value) const |
virtual void | fillWeight (Vector< Float > &value) const |
virtual void | fillWeightMat (Matrix< Float > &value) const |
virtual void | fillWeightSpectrum (Cube< Float > &value) const |
Private Attributes | |
VisBufferCache * | cache_p |
VisBufferState * | state_p |
Friends | |
class | casa::asyncio::VLAT |
class | VbCacheItemBase |
class | VisBufferCache |
class | VisBufferState |
class | VisBufferImplAsync |
class | VisBufferImplAsyncWrapper |
class | ViReadImpl |
class | ViReadImplAsync |
VisBufferImpls encapsulate one chunk of visibility data for processing.
Public interface
VisBufferImpl is a buffer for visibility data
This class contains 'one iteration' of the VisibilityIterator2 It is a modifiable buffer of values to which calibration and averaging can be applied. This allows processing of the data in larger blocks, avoiding some overheads for processing per visibility point or spectrum.
See MeasurementEquations for more details on how the VisBufferImpl is to be used.
When the user intends to allow asynchronous I/O they will need to use the VisBufferImplAsync and VisBufferImplAsyncWrapper classes; these are publicly derived from VisBufferImpl. Normally, the user should not explicitly use these classes but should use the helper class VisBufferImplAutoPtr which will ensure that the appropriate class is used.
Definition at line 168 of file VisBufferImpl.h.
Create empty VisBufferImpl you can assign to or attach.
casa::vi::VisBufferImpl::VisBufferImpl | ( | ROVisibilityIterator2 & | iter | ) |
Construct VisBufferImpl for a particular VisibilityIterator2 The buffer will remain synchronized with the iterator.
casa::vi::VisBufferImpl::VisBufferImpl | ( | const VisBufferImpl & | vb | ) |
Copy construct, looses synchronization with iterator: only use buffer for current iteration (or reattach).
virtual casa::vi::VisBufferImpl::~VisBufferImpl | ( | ) | [virtual] |
Destructor (detaches from VisIter)
void casa::vi::VisBufferImpl::adjustWeightAndSigmaMatrices | ( | Int | nChannelsAveraged, |
Int | nChannelsOut, | ||
Int | nRows, | ||
Int | nCorrelations, | ||
Int | nChannelsSelected, | ||
const Matrix< Float > & | rowWeightFactors | ||
) | [protected] |
void casa::vi::VisBufferImpl::adjustWeightFactorsAndFlags | ( | Matrix< Float > & | rowWeightFactors, |
Bool | useWeightSpectrum, | ||
Int | nRows, | ||
Int | nCorrelations, | ||
Int | nChannelsOut | ||
) | [protected] |
Data accessors and one or more set methods are provided* virtual Vector<Int> casa::vi::VisBufferImpl::antenna1 | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::antenna2 | ( | ) | const [virtual] |
virtual Bool casa::vi::VisBufferImpl::areCorrelationsInCanonicalOrder | ( | ) | const [private, virtual] |
virtual Int casa::vi::VisBufferImpl::arrayId | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::assign | ( | const VisBufferImpl & | vb, |
Bool | copy = True |
||
) | [virtual] |
Assignment, optionally without copying the data across; with copy=True this is identical to normal assignment operator.
virtual void casa::vi::VisBufferImpl::attachToVisibilityIterator2 | ( | ROVisibilityIterator2 & | iter | ) | [protected, virtual] |
Attach to a VisIter.
Detaches itself first if already attached to a VisIter. Will remain synchronized with iterator.
Int casa::vi::VisBufferImpl::averageChannelFrequencies | ( | Int | nChannelsOut, |
const Vector< Int > & | channels, | ||
const Matrix< Int > & | averagingBounds | ||
) | [protected] |
void casa::vi::VisBufferImpl::averageChannels | ( | const Matrix< Int > & | chanavebounds | ) |
Average channel axis according to chanavebounds, for whichever of DATA, MODEL_DATA, CORRECTED_DATA, FLOAT_DATA, FLAG, and WEIGHT_SPECTRUM are present.
It will only treat the first 5 as present if they have already been loaded into the buffer!
void casa::vi::VisBufferImpl::averageFlagInfoChannels | ( | const Matrix< Int > & | averagingBounds, |
Int | nChannelsOut, | ||
Bool | useWeightSpectrum | ||
) | [protected] |
void casa::vi::VisBufferImpl::averageVisCubeChannels | ( | T & | dataCache, |
Int | nChanOut, | ||
const Matrix< Int > & | averagingbounds | ||
) | [protected] |
virtual Vector<MDirection> casa::vi::VisBufferImpl::azel | ( | Double | time | ) | const [virtual] |
virtual MDirection casa::vi::VisBufferImpl::azel0 | ( | Double | time | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::azel0Vec | ( | Double | time, |
Vector< Double > & | azelVec | ||
) | const [virtual] |
virtual void casa::vi::VisBufferImpl::azelMat | ( | Double | time, |
Matrix< Double > & | azelMat | ||
) | const [virtual] |
virtual void casa::vi::VisBufferImpl::cacheClear | ( | Bool | markAsCached = False | ) | [protected, virtual] |
virtual void casa::vi::VisBufferImpl::cacheCopy | ( | const VisBufferImpl & | other, |
Bool | markAsCached | ||
) | [protected, virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::channel | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::checkVisIter | ( | const char * | func, |
const char * | file, | ||
int | line, | ||
const char * | extra = "" |
||
) | const [protected, virtual] |
void casa::vi::VisBufferImpl::checkVisIterBase | ( | const char * | func, |
const char * | file, | ||
int | line, | ||
const char * | extra = "" |
||
) | const [private] |
virtual const Vector<SquareMatrix<Complex, 2> >& casa::vi::VisBufferImpl::cjones | ( | ) | const [virtual] |
virtual VisBufferImpl* casa::vi::VisBufferImpl::clone | ( | ) | const [virtual] |
void casa::vi::VisBufferImpl::computeRowWeightFactors | ( | Matrix< Float > & | rowWeightFactors, |
Bool | useWeightSpectrum | ||
) | [protected] |
void casa::vi::VisBufferImpl::construct | ( | ) | [private] |
void casa::vi::VisBufferImpl::constructCache | ( | ) | [private] |
void casa::vi::VisBufferImpl::copyCoordInfo | ( | const VisBufferImpl & | other, |
Bool | force = False |
||
) |
virtual const Cube<Complex>& casa::vi::VisBufferImpl::correctedVisCube | ( | ) | const [virtual] |
virtual const Matrix<CStokesVector>& casa::vi::VisBufferImpl::correctedVisibility | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::corrType | ( | ) | const [virtual] |
virtual Int casa::vi::VisBufferImpl::dataDescriptionId | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::detachFromVisibilityIterator2 | ( | ) | [protected, virtual] |
virtual const Vector<MDirection>& casa::vi::VisBufferImpl::direction1 | ( | ) | const [virtual] |
virtual const Vector<MDirection>& casa::vi::VisBufferImpl::direction2 | ( | ) | const [virtual] |
* virtual void casa::vi::VisBufferImpl::dirtyComponentsAdd | ( | const VbDirtyComponents & | additionalDirtyComponents | ) | [virtual] |
--> provided by VI: virtual Int nRowChunk() const;
virtual void casa::vi::VisBufferImpl::dirtyComponentsAdd | ( | VisBufferComponents::EnumType | component | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::dirtyComponentsClear | ( | ) | [virtual] |
virtual VbDirtyComponents casa::vi::VisBufferImpl::dirtyComponentsGet | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::dirtyComponentsSet | ( | const VbDirtyComponents & | dirtyComponents | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::dirtyComponentsSet | ( | VisBufferComponents::EnumType | component | ) | [virtual] |
virtual const Vector<Double>& casa::vi::VisBufferImpl::exposure | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::feed1 | ( | ) | const [virtual] |
virtual const Vector<Float>& casa::vi::VisBufferImpl::feed1_pa | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::feed2 | ( | ) | const [virtual] |
virtual const Vector<Float>& casa::vi::VisBufferImpl::feed2_pa | ( | ) | const [virtual] |
virtual Vector<Float> casa::vi::VisBufferImpl::feed_pa | ( | Double | time | ) | const [virtual] |
--> This needs to be removed: virtual Bool fetch(const asyncio::PrefetchColumns *pfc);
feed1_pa() and feed2_pa() return an array of parallactic angles (each corresponds to the first receptor of the feed) one for each row in the current buffer. In contrast, feed_pa() calculates the angles for each antenna. These methods are implemented for VisBufferImpl only to benefit from caching of the feed and antenna IDs.
Note that feed_pa is a function instead of a cached value
virtual Int casa::vi::VisBufferImpl::fieldId | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::fillAntenna2 | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillArrayId | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillChannel | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillCorrType | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillCubeCorrected | ( | Cube< Complex > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillCubeModel | ( | Cube< Complex > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillCubeObserved | ( | Cube< Complex > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillDataDescriptionId | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillDirection1 | ( | Vector< MDirection > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillDirection2 | ( | Vector< MDirection > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillDirectionAux | ( | Vector< MDirection > & | value, |
const Vector< Int > & | antenna, | ||
const Vector< Int > & | feed, | ||
const Vector< Float > & | feedPa | ||
) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillExposure | ( | Vector< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFeed1 | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFeed2 | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFeedPa1 | ( | Vector< Float > & | feedPa | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFeedPa2 | ( | Vector< Float > & | feedPa | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFeedPaAux | ( | Vector< Float > & | feedPa, |
const Vector< Int > & | antenna, | ||
const Vector< Int > & | feed | ||
) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFieldId | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFlag | ( | Matrix< Bool > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFlagCategory | ( | Array< Bool > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFlagCube | ( | Cube< Bool > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFlagRow | ( | Vector< Bool > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFloatData | ( | Cube< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillFrequency | ( | Vector< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillImagingWeight | ( | Matrix< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillJonesC | ( | Vector< SquareMatrix< Complex, 2 > > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillNChannel | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillNCorr | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillNRow | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillObservationId | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillPhaseCenter | ( | MDirection & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillPolFrame | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillProcessorId | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillScan | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillSigma | ( | Vector< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillSigmaMat | ( | Matrix< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillSpectralWindow | ( | Int & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillStateId | ( | Vector< Int > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillTime | ( | Vector< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillTimeCentroid | ( | Vector< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillTimeInterval | ( | Vector< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillUvw | ( | Vector< RigidVector< Double, 3 > > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillUvwMat | ( | Matrix< Double > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillVisibilityCorrected | ( | Matrix< CStokesVector > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillVisibilityModel | ( | Matrix< CStokesVector > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillVisibilityObserved | ( | Matrix< CStokesVector > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillWeight | ( | Vector< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillWeightMat | ( | Matrix< Float > & | value | ) | const [private, virtual] |
virtual void casa::vi::VisBufferImpl::fillWeightSpectrum | ( | Cube< Float > & | value | ) | const [private, virtual] |
virtual const Matrix<Bool>& casa::vi::VisBufferImpl::flag | ( | ) | const [virtual] |
virtual const Array<Bool>& casa::vi::VisBufferImpl::flagCategory | ( | ) | const [virtual] |
virtual const Cube<Bool>& casa::vi::VisBufferImpl::flagCube | ( | ) | const [virtual] |
virtual const Vector<Bool>& casa::vi::VisBufferImpl::flagRow | ( | ) | const [virtual] |
virtual const Cube<Float>& casa::vi::VisBufferImpl::floatDataCube | ( | ) | const [virtual] |
virtual const Vector<Double>& lsrFrequency() const; virtual void setLsrFrequency (const Vector<Double>&);
the following method is to convert the observed frequencies This conversion may not be accurate for some frame conversion like topo to lsr except if the spw is in the actual buffer
if ignoreconv=True..frequency is served as is in the data frame virtual void lsrFrequency(const Int & spw, Vector<Double>& freq, Bool & convert, const Bool ignoreconv = False) const;
virtual const Matrix<Float>& imagingWeight() const; virtual void setImagingWeight (const Matrix<Float>&);
Utility functions to provide coordinate or column ranges of the data in the VisBufferImpl. Flagging is applied before computing the ranges.
Generic accessor to column ranges of integer type, as specified by enumerations defined in class MSCalEnums. Throws an exception if the enum is not for a recognized integer column. --> Low utility?: virtual Vector<Int> vecIntRange(const MSCalEnums::colDef & calEnum) const;
Antenna id. range (includes both ANTENNA1 and ANTENNA2 columns) --> Low utility?: virtual Vector<Int> antIdRange() const;
Time range
--> Low utility?: virtual Bool timeRange(MEpoch & rTime, MVEpoch & rTimeEP, MVEpoch & rInterval) const;
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.
--> Belongs in VI: virtual void setRowIds (const Vector<uInt>&); --> Belongs in VI: virtual const Vector<uInt>& rowIds() const;
Frequency average the buffer (visibility() column only) --> Not called: virtual void freqAverage();
Frequency average the buffer (visCube and [if present] modelVisCube)
virtual const Vector<Double>& casa::vi::VisBufferImpl::frequency | ( | ) | const [virtual] |
virtual const ROVisibilityIterator2* casa::vi::VisBufferImpl::getVi | ( | ) | const [virtual] |
virtual ROVisibilityIterator2* casa::vi::VisBufferImpl::getViP | ( | ) | const [protected, virtual] |
virtual Double casa::vi::VisBufferImpl::hourang | ( | Double | time | ) | const [virtual] |
Hour angle for specified time.
virtual const Matrix<Float>& casa::vi::VisBufferImpl::imagingWeight | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::invalidate | ( | ) | [virtual] |
virtual Bool casa::vi::VisBufferImpl::isNewArrayId | ( | ) | const [virtual] |
--> Not called: virtual void setCorrectedVisCube(const Cube<Complex>& vis); Like the above, but for FLOAT_DATA, keeping it as real floats.
--> Not called: virtual void setFloatDataCube(const Cube<Float>& fcube); Reference external model visibilities --> Not called: virtual void refModelVis(const Matrix<CStokesVector>& mvis);
Remove scratch cols data from vb --> Not called: virtual void removeScratchCols();
Access the current ROMSColumns object via VisIter --> Access using VI: virtual const ROMSColumns & msColumns() const;
--> Access via VI: virtual Int numberAnt () const;
Get all selected spectral windows not just the one in the actual buffer --> Get from VI: virtual void allSelectedSpectralWindows(Vector<Int>& spws, Vector<Int>& nvischan);
--> Get from VI: virtual void getChannelSelection(Block< Vector<Int> >& blockNGroup, Block< Vector<Int> >& blockStart, Block< Vector<Int> >& blockWidth, Block< Vector<Int> >& blockIncr, Block< Vector<Int> >& blockSpw) const;; --> Get from VI: void allSelectedSpectralWindows(Vector<Int>& spws, Vector<Int>& nvischan) const;
virtual Bool casa::vi::VisBufferImpl::isNewFieldId | ( | ) | const [virtual] |
virtual Bool casa::vi::VisBufferImpl::isNewMs | ( | ) | const [virtual] |
virtual Bool casa::vi::VisBufferImpl::isNewSpectralWindow | ( | ) | const [virtual] |
virtual Bool casa::vi::VisBufferImpl::isWritable | ( | ) | const [virtual] |
Fillers These methods fill the needed value into the cache This usually means getting it from the attached VisibilityIterator2 but the needed value can be generated as well The name of the filler should match up with the accessor casa::vi::VisBufferImpl::method | ( | see | above | ) | const [private] |
virtual const Cube<Complex>& casa::vi::VisBufferImpl::modelVisCube | ( | ) | const [virtual] |
virtual const Matrix<CStokesVector>& casa::vi::VisBufferImpl::modelVisibility | ( | ) | const [virtual] |
virtual Int casa::vi::VisBufferImpl::msId | ( | ) | const [virtual] |
virtual String casa::vi::VisBufferImpl::msName | ( | Bool | stripPath = False | ) | const [virtual] |
virtual Int casa::vi::VisBufferImpl::nChannel | ( | ) | const [virtual] |
virtual Int casa::vi::VisBufferImpl::nCorr | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::normalize | ( | const Bool & | phaseOnly = False | ) | [virtual] |
Normalize the visCube by the modelVisCube (and optionally also divide visCube_p by its normalized amp)
virtual Int casa::vi::VisBufferImpl::nRow | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::observationId | ( | ) | const [virtual] |
virtual VisBufferImpl& casa::vi::VisBufferImpl::operator= | ( | const VisBufferImpl & | vb | ) | [virtual] |
Assignment, loses synchronization with iterator: only use buffer for current iteration (or reattach)
virtual Vector<Float> casa::vi::VisBufferImpl::parang | ( | Double | time | ) | const [virtual] |
virtual Float casa::vi::VisBufferImpl::parang0 | ( | Double | time | ) | const [virtual] |
direction1() and direction2() return arrays of directions where the first and the second antenna/feed are pointed to.
One value for each row in the current buffer.
NOMINAL parallactic angle (feed p.a. offset NOT included)
virtual const MDirection& casa::vi::VisBufferImpl::phaseCenter | ( | ) | const [virtual] |
virtual Int casa::vi::VisBufferImpl::polFrame | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::processorId | ( | ) | const [virtual] |
void casa::vi::VisBufferImpl::registerCacheItem | ( | VbCacheItemBase * | ) | [protected] |
virtual void casa::vi::VisBufferImpl::resetWeightsUsingSigma | ( | ) | [virtual] |
Fill weightMat according to sigma column.
virtual const Vector<uInt>& casa::vi::VisBufferImpl::rowIds | ( | ) | const [virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::scan | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::setCorrectedVisCube | ( | const Cube< Complex > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setCorrectedVisibility | ( | const Matrix< CStokesVector > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setFlag | ( | const Matrix< Bool > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setFlagCategory | ( | const Array< Bool > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setFlagCube | ( | const Cube< Bool > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setFlagRow | ( | const Vector< Bool > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setFloatDataCube | ( | const Cube< Float > & | ) | [virtual] |
void casa::vi::VisBufferImpl::setIterationInfo | ( | Int | msId, |
const String & | msName, | ||
Bool | isNewMs, | ||
Bool | isNewArrayId, | ||
Bool | isNewFieldId, | ||
Bool | isNewSpectralWindow | ||
) | [protected] |
virtual void casa::vi::VisBufferImpl::setModelVisCube | ( | const Complex & | c | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setModelVisCube | ( | const Cube< Complex > & | vis | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setModelVisCube | ( | const Vector< Float > & | stokes | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setModelVisibility | ( | Matrix< CStokesVector > & | ) | [virtual] |
Data accessors and casa::vi::VisBufferImpl::setters | ( | where | appropriate | ) |
virtual void casa::vi::VisBufferImpl::setVisCube | ( | const Complex & | c | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setVisCube | ( | const Cube< Complex > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setVisibility | ( | Matrix< CStokesVector > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setWeight | ( | const Vector< Float > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setWeightMat | ( | const Matrix< Float > & | ) | [virtual] |
virtual void casa::vi::VisBufferImpl::setWeightSpectrum | ( | const Cube< Float > & | ) | [virtual] |
virtual const Vector<Float>& casa::vi::VisBufferImpl::sigma | ( | ) | const [virtual] |
virtual const Matrix<Float>& casa::vi::VisBufferImpl::sigmaMat | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::sortCorr | ( | ) | [virtual] |
Form Stokes parameters from correlations (these are preliminary versions) --> Not called: virtual void formStokes(); --> Not called: virtual void formStokesWeightandFlag(); --> Not called: virtual void formStokes(Cube<Complex>& vis); --> Not called: virtual void formStokes(Cube<Float>& fcube); // Will throw up if asked to do all 4.
Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted correlations--use with care!)
virtual void casa::vi::VisBufferImpl::sortCorrelationsAux | ( | Bool | makeSorted | ) | [protected, virtual] |
virtual Int casa::vi::VisBufferImpl::spectralWindow | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::stateCopy | ( | const VisBufferImpl & | other | ) | [protected, virtual] |
virtual const Vector<Int>& casa::vi::VisBufferImpl::stateId | ( | ) | const [virtual] |
virtual const Vector<Double>& casa::vi::VisBufferImpl::time | ( | ) | const [virtual] |
virtual const Vector<Double>& casa::vi::VisBufferImpl::timeCentroid | ( | ) | const [virtual] |
virtual const Vector<Double>& casa::vi::VisBufferImpl::timeInterval | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::unSortCorr | ( | ) | [virtual] |
void casa::vi::VisBufferImpl::updateCoord | ( | Coord & | item, |
const Coord & | otherItem | ||
) | [protected] |
virtual void casa::vi::VisBufferImpl::updateCoordInfo | ( | const VisBufferImpl * | vb = NULL , |
const Bool | dirDependent = True |
||
) | [virtual] |
Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres)
--> Called by routine in FixVis but that routine is not called: virtual void phaseCenterShift(const Vector<Double>& phase); Rotate visibility phase for phase center offsets (arcsecs) --> Not called: virtual void phaseCenterShift(Double dx, Double dy);
Update coordinate info - useful for copied VisBufferImpls 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.
virtual const Vector<RigidVector<Double, 3> >& casa::vi::VisBufferImpl::uvw | ( | ) | const [virtual] |
virtual const Matrix<Double>& casa::vi::VisBufferImpl::uvwMat | ( | ) | const [virtual] |
virtual void casa::vi::VisBufferImpl::validate | ( | ) | [private, virtual] |
virtual const Cube<Complex>& casa::vi::VisBufferImpl::visCube | ( | ) | const [virtual] |
virtual const Matrix<CStokesVector>& casa::vi::VisBufferImpl::visibility | ( | ) | const [virtual] |
virtual const Vector<Float>& casa::vi::VisBufferImpl::weight | ( | ) | const [virtual] |
virtual const Matrix<Float>& casa::vi::VisBufferImpl::weightMat | ( | ) | const [virtual] |
virtual const Cube<Float>& casa::vi::VisBufferImpl::weightSpectrum | ( | ) | const [virtual] |
friend class casa::asyncio::VLAT [friend] |
Definition at line 170 of file VisBufferImpl.h.
friend class VbCacheItemBase [friend] |
Definition at line 171 of file VisBufferImpl.h.
friend class ViReadImpl [friend] |
Definition at line 176 of file VisBufferImpl.h.
friend class ViReadImplAsync [friend] |
Definition at line 177 of file VisBufferImpl.h.
friend class VisBufferCache [friend] |
Definition at line 172 of file VisBufferImpl.h.
friend class VisBufferImplAsync [friend] |
Definition at line 174 of file VisBufferImpl.h.
friend class VisBufferImplAsyncWrapper [friend] |
Definition at line 175 of file VisBufferImpl.h.
friend class VisBufferState [friend] |
Definition at line 173 of file VisBufferImpl.h.
VisBufferCache* casa::vi::VisBufferImpl::cache_p [private] |
Definition at line 600 of file VisBufferImpl.h.
shouldn t be casa::vi::VisBufferImpl::settable |
subtraction: return the difference of the visibilities, flags of this and other are or-ed.
An exception is thrown if the number of rows or channels differs, but no further checks are done. -->Not called: VisBufferImpl & operator-=(const VisBufferImpl & vb);
Invalidate the cache
Access functions
return nCatOK_p ? nCat_p : fillnCat();
virtual void setNCat (const Int &))) { } virtual Int nCat() const { return This->nCat(); }Because of it being publicly exposed ...using nRow, nChannel, nCorr etc to determine the size of the buffer can be totally WRONG *They MAY NOT represent the shape of a buffer filled in this iteration. Decide what is the right value (depending on where the vb is coming from) for you for the size of the buffer. i.e (nCorr(), nChannel(), nRow()) or vb.visCube().shape() The latter comes from the VisIter state ...the former be careful... For example VisBuffAccumulator changes these in an unconnected fashion; without updating fillnrow datacube shape etc etc. You are warned nrow_p etc are public variables effectively (despite being *declared private) so it can be changed anywhere the code uses a vb, intentionally or accidentally.
Definition at line 240 of file VisBufferImpl.h.
VisBufferState* casa::vi::VisBufferImpl::state_p [private] |
Definition at line 601 of file VisBufferImpl.h.