8 #ifndef VISIBILITYBUFFERASYNC_H_
9 #define VISIBILITYBUFFERASYNC_H_
15 class ROVisibilityIteratorAsync;
90 void checkVisIter (
const char * func,
const char *
file,
int line,
const char * extra =
"")
const;
void setNSpw(casacore::Int)
A Vector of integers, for indexing into Array<T> objects.
A Measure: astronomical direction.
virtual casacore::Bool newSpectralWindow() const
A Measure: position on Earth.
void checkVisIter(const char *func, const char *file, int line, const char *extra="") const
void setNCoh(casacore::Int)
MSDerivedValues calculates values derived from a MS.
void setNRowChunk(casacore::Int)
casacore::Bool fillAllBeamOffsetsZero()
virtual void setVisCube(casacore::Complex c)
Set the visibility to a constant, note that this only changes the buffer, no values are written back ...
casacore::Cube< casacore::Double > receptorAngles_p
casacore::Bool newArrayId_p
casacore::Vector< casacore::Int > selectedNVisibilityChannels_p
StatsData< AccumType > copy(const StatsData< AccumType > &stats)
virtual casacore::Vector< casacore::MDirection > azel(casacore::Double time) const
virtual void copyAsyncValues(const VisBufferAsync &other)
virtual VisBuffer * clone() const
casacore::MPosition observatoryPosition_p
const casacore::ScalarColumn<casacore::Int> * obsMFreqTypes_p; // [use]
casacore::Vector< casacore::String > antennaMounts_p
virtual casacore::Bool newArrayId() const
VlaDatum is a single elemement in the VlaDatum buffer ring used to support the ROVisibilityIteratorAs...
std::complex< Float > Complex
void setSelectedSpectralWindows(const casacore::Vector< casacore::Int > &spectralWindows)
virtual casacore::Int polarizationId() const
casacore::Block< casacore::Int > channelWidth_p
casacore::MEpoch mEpoch_p
casacore::MDirection getPhaseCenter() const
void setLsrInfo(const casacore::Block< casacore::Int > &channelGroupNumber, const casacore::Block< casacore::Int > &channelIncrement, const casacore::Block< casacore::Int > &channelStart, const casacore::Block< casacore::Int > &channelWidth, const casacore::MPosition &observatoryPosition, const casacore::MDirection &phaseCenter, casacore::Bool velocitySelection)
virtual casacore::Bool newFieldId() const
virtual casacore::Double hourang(casacore::Double time) const
Hour angle for specified time.
virtual casacore::Vector< casacore::Float > feed_pa(casacore::Double time) const
Note that feed_pa is a function instead of a cached value.
casacore::Vector< casacore::Float > parangCached_p
casacore::Vector< casacore::MDirection > & fillDirection2()
VLAT is the Visibility LookAhead Thread. This thread advances a visibility iterator and fills the dat...
void attachToVisIter(ROVisibilityIterator &iter)
Attach to a VisIter.
casacore::MSDerivedValues * msd_p
casacore::Int polarizationId_p
casacore::Int numberCoh() const
casacore::Vector< casacore::String > fillAntennaMounts()
casacore::Block< casacore::Int > channelIncrement_p
virtual void detachFromVisIter()
virtual casacore::Int dataDescriptionId() const;
casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > beamOffsets_p
casacore::Double azelCachedTime_p
casacore::Vector< casacore::Double > lsrFrequency_p
virtual casacore::Vector< casacore::Float > parang(casacore::Double time) const
casacore::ROMSColumns * msColumns_p
const casacore::Vector< casacore::String > & getAntennaMounts() const
void setNAntennas(casacore::Int)
casacore::Double feedpaCachedTime_p
casacore::Vector< casacore::MDirection > & fillDirection1()
virtual void invalidateAsync()
void setAngleInfo(casacore::Bool allBeamOffsetsZero, const casacore::Vector< casacore::String > antennaMounts, casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > beamOffsets, const casacore::Cube< casacore::Double > &receptorAngles)
virtual casacore::MDirection azel0(casacore::Double time) const
Note that azel is a function instead of a cached value.
casacore::Vector< casacore::Float > feedpaCached_p
casacore::Int dataDescriptionId_p;
Array< T > copy(ArrayInitPolicy policy=ArrayInitPolicies::NO_INIT) const
This makes a copy of the array and returns it.
A Measure: instant in time.
casacore::IPosition visibilityShape_p
virtual casacore::Vector< casacore::uInt > & rowIds()
Return the row Ids from the original ms.
void setMEpoch(const casacore::MEpoch &mEpoch)
casacore::Int numberAnt() const
Fast Vector classes with fixed (templated) length.
static casacore::MPosition unsharedCopyPosition(const casacore::MPosition &position)
void setSelectedNVisibilityChannels(const casacore::Vector< casacore::Int > &nVisibilityChannels)
virtual void setModelVisCube(casacore::Complex c)
casacore::Bool velSelection_p
void setTopoFreqs(const casacore::Vector< casacore::Double > &lsrFreq, const casacore::Vector< casacore::Double > &selFreq_p)
virtual void setCorrectedVisCube(casacore::Complex c)
casacore::Int nAntennas_p
casacore::Vector< casacore::Double > selFreq_p
const casacore::MeasurementSet & getMs() const
static void unsharedCopyDirectionVector(casacore::Vector< casacore::MDirection > &direction)
virtual void allSelectedSpectralWindows(casacore::Vector< casacore::Int > &spws, casacore::Vector< casacore::Int > &nvischan)
Get all selected spectral windows not just the one in the actual buffer.
casacore::Bool getAllBeamOffsetsZero() const
virtual casacore::MDirection & phaseCenter()
virtual const casacore::Vector< casacore::uInt > & rowIds() const
casacore::Block< casacore::Int > channelGroupNumber_p
void setFilling(casacore::Bool isFilling)
A class to provide easy read-only access to MeasurementSet columns.
static casacore::MDirection unsharedCopyDirection(const casacore::MDirection &direction)
casacore::Vector< casacore::Float > receptor0Angle_p
void setReceptor0Angle(const casacore::Vector< casacore::Float > &receptor0Angle)
void fillFrom(const VisBufferAsync &other)
A convenience class to assist in migrating code to potentially use asynchronous I/O.
virtual void lsrFrequency(const casacore::Int &spw, casacore::Vector< casacore::Double > &freq, casacore::Bool &convert) const
virtual casacore::Vector<casacore::Double> & lsrFrequency (); virtual const casacore::Vector<casacore...
void setMSD(const casacore::MSDerivedValues &msd)
bool Bool
Define the standard types used by Casacore.
virtual void copyCache(const VisBuffer &other, casacore::Bool force)
void setMeasurementSet(const casacore::MeasurementSet &ms)
VisBuffers encapulsate one chunk of visibility data for processing.
VisBufferAsync()
The constructors are not public because creation should be performed by a factory object (e...
const casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > & getBeamOffsets() const
casacore::Int msId() const
Return the actual msid, useful if using multiple ms to monitor which ms in the list is being dealt wi...
casacore::Bool isFilling_p
A Table intended to hold astronomical data (a set of Measurements).
casacore::Int nRowChunk() const
void setRowIds(const casacore::Vector< casacore::uInt > &rowIds)
VisBufferAsync & operator=(const VisBufferAsync &other)
void setNewEntityFlags(bool newArrayId, bool newFieldId, bool newSpectralWindow)
void setPolarizationId(casacore::Int)
casacore::Bool allBeamOffsetsZero_p
casacore::Int nRowChunk_p
const casacore::Cube< casacore::Double > & getReceptorAngles() const
casacore::Block< casacore::Int > channelStart_p
virtual VisBufferAsync & assign(const VisBuffer &vb, casacore::Bool copy)
Assignment, optionally without copying the data across; with copy=true this is identical to normal as...
casacore::Bool newFieldId_p
Base class for all Casacore library errors.
const casacore::MeasurementSet * measurementSet_p
casacore::Int getNSpw() const
casacore::Cube< casacore::Double > fillReceptorAngles()
virtual casacore::Float parang0(casacore::Double time) const
NOMINAL parallactic angle (feed p.a.
casacore::Vector< casacore::MDirection > azelCached_p
const Double c
Fundamental physical constants (SI units):
void setMeasurementSetId(casacore::Int id, bool isNew)
virtual const casacore::ROMSColumns & msColumns() const
Access the current casacore::ROMSColumns object via VisIter.
static casacore::MEpoch unsharedCopyEpoch(const casacore::MEpoch &mEpoch)
VisBuffers encapsulate one chunk of visibility data for processing.
virtual casacore::Vector< casacore::Double > & time()
casacore::Double parangCachedTime_p
casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > fillBeamOffsets()
casacore::Bool newSpectralWindow_p
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
casacore::MDirection & fillPhaseCenter()
virtual void invalidate()
Invalidate the cache.
void copyVector(const casacore::Vector< T > &from, casacore::Vector< T > &to)
void setVisibilityShape(const casacore::IPosition &pvisibilityShape)
void updateCoordInfo(const VisBuffer *, const casacore::Bool dirDependent=true)
Update coordinate info - useful for copied VisBuffers that need to retain some state for later refere...
casacore::Vector< casacore::Int > selectedSpectralWindows_p
~VisBufferAsync()
VisBufferAsync (const VisBuffer& vb);.
casacore::Bool newMS() const
checked if the ms has changed since the last chunk processed
Defines nreal time structures used by the VLA table filler.