27 #ifndef MSVIS_VISBUFFER2_H
28 #define MSVIS_VISBUFFER2_H
46 template <
typename T>
class Array;
47 template <
typename T>
class CountedPtr;
48 template <
typename T>
class Cube;
50 template <
typename T>
class Matrix;
52 template <
typename T, Int N>
class SquareMatrix;
53 template <
typename T>
class Vector;
71 class ViImplementation2;
72 class VisibilityIterator2;
74 class SubtableColumns;
A Vector of integers, for indexing into Array<T> objects.
virtual const casacore::Vector< casacore::Float > & parang(casacore::Double time) const =0
Calculates the parallactic angle of each antenna in the array at the specified time.
A Measure: astronomical direction.
virtual casacore::Int polarizationId() const =0
virtual void setAntenna1(const casacore::Vector< casacore::Int > &value)=0
A 1-D Specialization of the Array class.
virtual void setStateId(const casacore::Vector< casacore::Int > &value)=0
VisBuffer2 & operator=(const VisBuffer2 &)=delete
virtual casacore::Cube< casacore::Float > & weightSpectrumRef()=0
std::vector< double > Vector
virtual void resetWeightsUsingSigma()=0
Set the weight cube using the sigma cube.
virtual const casacore::Vector< casacore::Int > & getChannelNumbers(casacore::Int rowInBuffer) const =0
virtual void initWeightSpectrum(const casacore::Cube< casacore::Float > &wtspec)=0
virtual const casacore::Vector< casacore::Int > & antenna2() const =0
virtual casacore::CountedPtr< WeightScaling > getWeightScaling() const =0
virtual void setVisCubeFloat(const casacore::Cube< casacore::Float > &)=0
virtual casacore::Bool isNewMs() const =0
std::complex< Float > Complex
virtual casacore::Cube< casacore::Complex > & visCubeModelRef()=0
virtual void initSigmaSpectrum(const casacore::Cube< casacore::Float > &sigspec)=0
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual casacore::Cube< casacore::Complex > & visCubeRef()=0
virtual const casacore::Matrix< casacore::Float > & sigma() const =0
virtual const casacore::Vector< casacore::Double > & getFrequencies(casacore::Int rowInBuffer, casacore::Int frame=FrameNotSpecified) const =0
virtual ms::MsRow * getRow(casacore::Int row) const
virtual const casacore::Vector< casacore::MDirection > & direction2() const =0
FinalTvi2 - Class that serves as the final Tvi2 in a pipeline; it adds simple write functionality tha...
Stokes parameter definitions for interface to table data.
virtual void setDataDescriptionIds(const casacore::Vector< casacore::Int > &)=0
virtual void setVisCubeModel(const casacore::Complex &c)=0
virtual casacore::Double getFrequency(casacore::Int rowInBuffer, casacore::Int frequencyIndex, casacore::Int frame=FrameNotSpecified) const =0
virtual void setProcessorId(const casacore::Vector< casacore::Int > &value)=0
virtual void dirtyComponentsClear()=0
TableExprNode phase(const TableExprNode &node)
The phase (i.e.
virtual const casacore::Vector< casacore::Int > & arrayId() const =0
virtual void setFlagCategory(const casacore::Array< casacore::Bool > &value)=0
virtual const casacore::Cube< casacore::Complex > & visCubeCorrected() const =0
virtual const casacore::Matrix<CStokesVector> & vis () const = 0; // [nF,nR] virtual void setVis (cas...
virtual casacore::Bool isNewFieldId() const =0
virtual void associateWithVi2(const VisibilityIterator2 *)
virtual const casacore::MDirection & phaseCenter() const =0
Returns the phase center of the array for the specified row.
virtual const VisibilityIterator2 * getVi() const
For attached VBs this returns the VI the VB is attached to.
virtual casacore::Int nAntennas() const =0
virtual const casacore::Vector< casacore::Float > & feedPa1() const =0
Calculates the parallactic angle for feed 0 of the row's Antenna1.
virtual void setSigmaSpectrum(const casacore::Cube< casacore::Float > &value)=0
VisBufferOptions
These are options to be applied to a VisBuffer, usually when it's created.
virtual casacore::Cube< casacore::Complex > & visCubeCorrectedRef()=0
virtual const casacore::Cube< casacore::Float > & sigmaSpectrum() const =0
virtual void setFeed2(const casacore::Vector< casacore::Int > &value)=0
static VisBuffer2 * factory(VisBufferOptions vbOptions=VbNoOptions)
virtual void dirtyComponentsSet(const VisBufferComponents2 &dirtyComponents)=0
virtual const casacore::Vector< casacore::Double > & timeInterval() const =0
virtual const casacore::Cube< casacore::Complex > & visCubeModel() const =0
virtual bool setWritability(bool)
virtual const casacore::Vector< casacore::Int > & processorId() const =0
virtual const casacore::Vector< casacore::Int > & stateId() const =0
virtual const casacore::Matrix<casacore::Float> & sigmaMat () const = 0; // [nC,nR] ...
virtual void setFlagRow(const casacore::Vector< casacore::Bool > &value)=0
virtual ms::MsRow * getRowMutable(casacore::Int row)
virtual const casacore::Vector< casacore::Int > & dataDescriptionIds() const =0
virtual casacore::Int dataDescriptionId () const = 0; virtual void setDataDescriptionId (casacore::In...
virtual casacore::Bool existsColumn(VisBufferComponent2 id) const =0
virtual const casacore::Vector< casacore::uInt > & rowIds() const =0
The returned casacore::Vector serves as a map between the rows in the VisBuffer and the row IDs in th...
virtual void setImagingWeight(const casacore::Matrix< casacore::Float > &newImagingWeights)=0
virtual casacore::IPosition getShape() const =0
virtual void dirtyComponentsAdd(const VisBufferComponents2 &additionalDirtyComponents)=0
virtual void setTime(const casacore::Vector< casacore::Double > &value)=0
static void phaseCenterShift(VisBuffer2 &vb, const casacore::Vector< casacore::Double > &phase)
virtual casacore::Int getChannelNumber(casacore::Int rowInBuffer, casacore::Int frequencyIndex) const =0
virtual casacore::Float getSigmaScaled(casacore::Int row) const =0
virtual void copyComponents(const VisBuffer2 &other, const VisBufferComponents2 &components, casacore::Bool allowShapeChange=false, casacore::Bool fetchIfNeeded=true)=0
Copies the specified components (or just the ones in the cache if fetchIfNeeded is false) from the sp...
virtual const casacore::Vector< casacore::Float > & feedPa2() const =0
Calculates the parallactic angle for feed 0 of the row's Antenna2.
virtual const casacore::Vector< casacore::Int > & feed1() const =0
Referenced counted pointer for constant data.
virtual void setVisCubeCorrected(const casacore::Cube< casacore::Complex > &)=0
virtual void setVisCube(const casacore::Complex &c)=0
Fast Square Matrix class with fixed (templated) size.
virtual void normalize()=0
casacore::Sort/unsort the correlations, if necessary (Rudimentary handling of non-canonically sorted ...
const VisibilityIterator2 * associatedVi_p
virtual void setSpectralWindows(const casacore::Vector< casacore::Int > &spectralWindows)=0
virtual casacore::Cube< casacore::Bool > & flagCubeRef()=0
virtual const casacore::Vector< casacore::Int > & observationId() const =0
virtual const casacore::Vector< casacore::Int > & correlationTypes() const =0
Returns the correlation type of each correlation in the VisCube.
virtual void writeChangesBack()=0
virtual const casacore::Vector< casacore::MDirection > & azel(casacore::Double time) const =0
Returns the pointing angle for each antenna in the array at the specified time.
virtual casacore::Int polarizationFrame() const =0
Returns the polarization frame for the specified row.
virtual const casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > & cjones() const =0
Returns the Jones C matrix for each antenna.
virtual casacore::Int nRows() const =0
Returns the number of rows in this VisBuffer.
virtual casacore::Vector< casacore::Int > getCorrelationTypes() const =0
virtual void validateShapes() const =0
virtual const casacore::Vector< casacore::Int > & scan() const =0
virtual const casacore::Matrix< casacore::Double > & uvw() const =0
virtual const casacore::MeasurementSet & ms() const
virtual const casacore::Vector< casacore::Int > & feed2() const =0
bool Bool
Define the standard types used by Casacore.
virtual const casacore::Vector< casacore::Int > & fieldId() const =0
virtual void setShape(casacore::Int nCorrelations, casacore::Int nChannels, casacore::Int nRows, casacore::Bool clearCache=false)=0
virtual const vi::SubtableColumns & subtableColumns() const
virtual casacore::Bool isRekeyable() const =0
virtual void invalidate()=0
virtual void setWeightSpectrum(const casacore::Cube< casacore::Float > &value)=0
virtual void setRekeyable(casacore::Bool isRekeable)=0
virtual casacore::Bool isNewSpectralWindow() const =0
virtual casacore::Float getWeightScaled(casacore::Int row) const =0
virtual const casacore::Matrix<CStokesVector> & visModel () const = 0; // [nF,nR] virtual void setVis...
virtual casacore::Vector< casacore::Stokes::StokesTypes > getCorrelationTypesDefined() const =0
virtual casacore::Vector< casacore::Stokes::StokesTypes > getCorrelationTypesSelected() const =0
virtual void copyCoordinateInfo(const VisBuffer2 *other, casacore::Bool includeDirections, casacore::Bool allowShapeChange=false, casacore::Bool fetchIfNeeded=true)=0
Copies the coordinate components (or just the ones in the cache if fetchIfNeeded is false) from the s...
template <class T, class U> class vector;
virtual casacore::Int nCorrelations() const =0
Returns the number of correlations along the visCube correlation axis.
virtual ~VisBuffer2()
Used by framework.
A Table intended to hold astronomical data (a set of Measurements).
virtual casacore::Vector< casacore::Bool > & flagRowRef()=0
virtual casacore::Double hourang(casacore::Double time) const =0
Returns the hour angle of the array at the specified time.
virtual void setObservationId(const casacore::Vector< casacore::Int > &value)=0
virtual void setArrayId(const casacore::Vector< casacore::Int > &)=0
virtual const casacore::Vector< casacore::Double > & timeCentroid() const =0
virtual const casacore::Array< casacore::Bool > & flagCategory() const =0
virtual const casacore::Matrix<casacore::Bool> & flag () const = 0; // [nF,nR] virtual void setFlag (...
virtual casacore::Vector< casacore::Int > getChannelNumbersSelected(casacore::Int outputChannelIndex) const =0
virtual casacore::Int nChannels() const =0
virtual Subchunk getSubchunk() const =0
virtual const casacore::Vector< casacore::Double > & exposure() const =0
virtual const casacore::Cube< casacore::Complex > & visCube() const =0
Visibility data accessors in order of observed, corrected, float, & model
virtual void setFillable(casacore::Bool isFillable)=0
virtual const casacore::Vector< casacore::Bool > & flagRow() const =0
VisBuffer2s encapsulate one chunk of visibility data for processing.
virtual void configureNewSubchunk(casacore::Int msId, const casacore::String &msName, casacore::Bool isNewMs, casacore::Bool isNewArrayId, casacore::Bool isNewFieldId, casacore::Bool isNewSpectralWindow, const Subchunk &subchunk, casacore::Int nRows, casacore::Int nChannels, casacore::Int nCorrelations, const casacore::Vector< casacore::Int > &correlations, const casacore::Vector< casacore::Stokes::StokesTypes > &correlationsDefined, const casacore::Vector< casacore::Stokes::StokesTypes > &correlationsSelected, casacore::CountedPtr< WeightScaling > weightScaling)=0
virtual void setUvw(const casacore::Matrix< casacore::Double > &value)=0
virtual const casacore::Cube< casacore::Bool > & flagCube() const =0
virtual VisBufferComponents2 dirtyComponentsGet() const =0
virtual casacore::MDirection azel0(casacore::Double time) const =0
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
const Double c
Fundamental physical constants (SI units):
virtual const casacore::Vector< casacore::MDirection > & direction1() const =0
virtual const casacore::Vector< casacore::Float > & feedPa(casacore::Double time) const =0
Calculates the parallactic angle for the first receptor of each antenna at the specified time...
String: the storage and methods of handling collections of characters.
virtual void phaseCenterShift(const casacore::Vector< casacore::Double > &phase)=0
Rotate visibility phase for given vector (dim = nrow of vb) of phases (metres)
virtual void setFeed1(const casacore::Vector< casacore::Int > &value)=0
virtual casacore::Bool isWritable() const =0
virtual casacore::Float parang0(casacore::Double time) const =0
Calculates the parallactic angle of the array as a whole at the specified time.
virtual void copy(const VisBuffer2 &other, casacore::Bool fetchIfNeeded)=0
virtual void setWeight(const casacore::Matrix< casacore::Float > &value)=0
virtual void setTimeInterval(const casacore::Vector< casacore::Double > &value)=0
This class encapsulates an enum with values corresponding to the various data components accessible v...
virtual casacore::Int msId() const =0
virtual void setSigma(const casacore::Matrix< casacore::Float > &value)=0
virtual void setFlagCube(const casacore::Cube< casacore::Bool > &value)=0
virtual void setFieldId(const casacore::Vector< casacore::Int > &)=0
virtual const casacore::Cube< casacore::Float > & visCubeFloat() const =0
virtual const casacore::Matrix<CStokesVector> & visCorrected () const = 0; // [nF,nR] virtual void setVisCorrected (const casacore::Matrix<CStokesVector> &) = 0; // [nF,nR]
virtual const casacore::Matrix< casacore::Float > & imagingWeight() const =0
This method returns the imagin g If an imaging weight generator has not been supplied to the associat...
virtual const casacore::Matrix< casacore::Float > & weight() const =0
virtual casacore::String msName(casacore::Bool stripPath=false) const =0
virtual casacore::Bool isNewArrayId() const =0
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
virtual void setAntenna2(const casacore::Vector< casacore::Int > &value)=0
virtual const casacore::Cube< casacore::Float > & weightSpectrum() const =0
virtual const casacore::Matrix<casacore::Float> & weightMat () const = 0; // [nC,nR] virtual void set...
virtual void setTimeCentroid(const casacore::Vector< casacore::Double > &value)=0
virtual const casacore::Vector< casacore::Double > & time() const =0
virtual void setScan(const casacore::Vector< casacore::Int > &value)=0
virtual casacore::Bool isFillable() const =0
virtual casacore::Bool isAttached() const =0
virtual const casacore::Vector< casacore::Int > & spectralWindows() const =0
Returns the spectral window ID for the specified row.
virtual void setExposure(const casacore::Vector< casacore::Double > &value)=0
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.