28 #ifndef MSVIS_VISIBILITYITERATORIMPL_H
29 #define MSVIS_VISIBILITYITERATORIMPL_H
538 virtual void slurp ()
const;
1166 template <
typename Setter,
typename Getter>
1184 template <
typename Setter,
typename Getter>
1207 template <
typename Ret>
1216 template <
typename Ret>
1226 typedef Ret (
VisBuffer::* Getter) ()
const;
static void azelCalculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::Vector< casacore::MDirection > &azel, casacore::Int nAnt, const casacore::MEpoch &mEpoch0)
casacore::ArrayColumn< casacore::Bool > flagCategory_p
A Vector of integers, for indexing into Array<T> objects.
casacore::ArrayColumn< casacore::Bool > flag_p
virtual casacore::Bool allBeamOffsetsZero() const
true if all elements of the cube returned by getBeamOffsets are zero
Int msId() const
Return the current MS Id (according to the order in which they appeared in the constructor) ...
A Measure: astronomical direction.
virtual casacore::Bool isInSelectedSPW(const casacore::Int &spw)
Check if spw is in selected SPW for actual ms.
casacore::String vInterpolation_p
A Measure: position on Earth.
virtual void originChunks()
Reset iterator to true start of data (first chunk)
Int arrayId() const
Return the current ArrayId.
MSDerivedValues calculates values derived from a MS.
virtual void setSigma(const casacore::Vector< casacore::Float > &sig)
Set/modify the Sigma.
virtual void putModel(const casacore::RecordInterface &rec, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false)
This puts a model into the descriptor of the actual ms Set iscomponentlist to true if the record repr...
virtual casacore::String fieldName() const
Return the current Field Name.
Int fieldId() const
Return the current FieldId.
virtual casacore::Cube< casacore::Float > & weightSpectrum(casacore::Cube< casacore::Float > &wtsp) const
Return weightspectrum (a weight for each channel)
casacore::Bool floatDataCubeOK_p
casacore::MDirection getPhaseCenter() const
virtual casacore::Vector< casacore::Float > & sigma(casacore::Vector< casacore::Float > &sig) const
Return sigma.
virtual casacore::Int nRow() const
Return the number of rows in the current iteration.
void initializeBackWriters()
casacore::Vector< casacore::uInt > getRowIds() const
casacore::ScalarColumn< casacore::Int > feed1_p
virtual casacore::Vector< casacore::Bool > & flagRow(casacore::Vector< casacore::Bool > &rowflags) const
Return row flag.
ROVisibilityIterator::DataColumn DataColumn
casacore::MDirection azel0_p
casacore::MFrequency::Types getObservatoryFrequencyType() const
Object to hold type of imaging weight scheme to be used on the fly and to provide facilities to do th...
casacore::Matrix< casacore::Double > uvwMat_p
virtual SubChunkPair getSubchunkId() const
virtual casacore::Int nRowChunk() const
Return the numbers of rows in the current chunk.
Main interface class to a read/write table.
virtual casacore::Matrix< casacore::Float > & sigmaMat(casacore::Matrix< casacore::Float > &sigmat) const
Return sigma matrix (pol-dep)
casacore::Bool weightSpOK_p
Bool newField() const
Return True if FieldId/Source has changed since last iteration.
ROVisibilityIterator * rovi_p
virtual casacore::Bool newSpectralWindow() const
Return true if SpectralWindow has changed since last iteration.
virtual casacore::Vector< casacore::Double > & frequency(casacore::Vector< casacore::Double > &freq) const
Return current frequencies (in Hz, acc.
virtual void setWeight(const casacore::Vector< casacore::Float > &wt)
Set/modify the weights.
casacore::Int msCounter_p
casacore::Int curEndRow_p
casacore::Bool autoTileCacheSizing_p
virtual const casacore::MDirection phaseCenter(const casacore::Int fieldId, const casacore::Double time=-1.0) const
casacore::Double timeInterval_p
casacore::Cube< casacore::Float > wtSp_p
VisibilityIterator iterates through one or more writable MeasurementSets.
virtual casacore::Vector< casacore::Float > & weight(casacore::Vector< casacore::Float > &wt) const
Return weight.
casacore::MDoppler::Types vDef_p
TableExprNode array(const TableExprNode &values, const TableExprNodeSet &shape)
Create an array of the given shape and fill it with the values.
static BackWriter * makeBackWriter2(void(VisibilityIteratorWriteImpl::*setter)(Ret, VisibilityIteratorReadImpl::DataColumn), Ret(VisBuffer::*getter)() const, ROVisibilityIterator::DataColumn dc)
virtual void writeBack(VisBuffer *)
virtual const casacore::Block< casacore::Int > & getSortColumns() const
casacore::ScalarColumn< casacore::Int > processor_p
casacore::Vector< casacore::MDirection > azel_p
virtual casacore::Bool existsColumn(VisBufferComponents::EnumType id) const
casacore::Int getNAntennas() const
virtual casacore::Vector< casacore::MDirection > azel(casacore::Double time) const
virtual casacore::MDirection azel0(casacore::Double time) const
Return the antenna AZ/EL casacore::Vector (nant)
casacore::ArrayColumn< casacore::Bool > flag_p
virtual ~VisibilityIteratorWriteImpl()
Destructor.
casacore::ArrayColumn< casacore::Bool > flagCategory_p
casacore::Bool useSlicer_p
void setTileShape(casacore::RefRows &rowRef, casacore::ArrayColumn< T > &outputDataCol, const casacore::IPosition &arrayShape)
casacore::Block< casacore::Int > sortColumns_p
virtual casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > & uvw(casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &uvwvec) const
Return u,v and w (in meters)
casacore::Float parang0_p
casacore::Bool velSelection_p
Int polFrame() const
Return frame for polarization (returns PolFrame enum)
casacore::ScalarColumn< casacore::Double > timeCentroid_p
casacore::Bool floatDataFound_p
virtual casacore::Matrix< casacore::Float > & weightMat(casacore::Matrix< casacore::Float > &wtmat) const
Returns the nPol_p x curNumRow_p weight matrix.
casacore::Block< casacore::Vector< casacore::Int > > inc_p
virtual casacore::Vector< casacore::Int > & channel(casacore::Vector< casacore::Int > &chan) const
Return channel numbers in selected VisSet spectrum (i.e.
virtual void setInterval(casacore::Double timeInterval)
Set or reset the time interval (in seconds) to use for iteration.
Int dataDescriptionId() const
Return current DataDescriptionId.
virtual casacore::Array< casacore::Bool > & flagCategory(casacore::Array< casacore::Bool > &flagCategories) const
Return flags for each polarization, channel, category, and row.
casacore::Vector< casacore::Float > parang_p
virtual VisBuffer * getVisBuffer()
std::vector< casacore::MeasurementSet > getMeasurementSets() const
virtual casacore::Cube< casacore::Float > & floatData(casacore::Cube< casacore::Float > &fcube) const
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
static casacore::Vector< casacore::Float > parangCalculate(casacore::Double time, casacore::MSDerivedValues &msd, int nAntennas, const casacore::MEpoch mEpoch0)
const VisImagingWeight & getImagingWeightGenerator() const
Return imaging weight (a weight for each channel) virtual casacore::Matrix<casacore::Float> & imagin...
casacore::ArrayColumn< casacore::Complex > modelVis_p
casacore::ScalarColumn< casacore::Bool > flagRow_p
virtual casacore::Vector< casacore::Int > & antenna1(casacore::Vector< casacore::Int > &ant1) const
Return antenna1.
void putDataColumn(DataColumn whichOne, const casacore::Slicer &slicer, const casacore::Cube< casacore::Complex > &data)
void setInterpolatedVisFlag (const casacore::Cube<casacore::Complex> & vis, const casacore::Cube<casa...
casacore::ArrayColumn< casacore::Float > weightSpectrum_p
const String & sourceName() const
virtual casacore::Vector< casacore::Int > & stateId(casacore::Vector< casacore::Int > &stateids) const
Return the STATE_IDs.
VisibilityIteratorReadImpl & operator=(const VisibilityIteratorReadImpl &other)
Assigment.
virtual void getLsrInfo(casacore::Block< casacore::Int > &channelGroupNumber, casacore::Block< casacore::Int > &channelIncrement, casacore::Block< casacore::Int > &channelStart, casacore::Block< casacore::Int > &channelWidth, casacore::MPosition &observatoryPositon, casacore::MDirection &phaseCenter, casacore::Bool &velocitySelection) const
virtual void setSelTable()
set the currently selected table
virtual void getSpwInFreqRange(casacore::Block< casacore::Vector< casacore::Int > > &spw, casacore::Block< casacore::Vector< casacore::Int > > &start, casacore::Block< casacore::Vector< casacore::Int > > &nchan, casacore::Double freqStart, casacore::Double freqEnd, casacore::Double freqStep, casacore::MFrequency::Types freqFrame=casacore::MFrequency::LSRK) const
Get the spw, start and nchan for all the ms's is this Visiter that match the frequecy "freqstart-freq...
casacore::ScalarColumn< casacore::Int > state_p
casacore::Block< casacore::Int > width_p
casacore::Int getDataDescriptionId() const
casacore::Double lastfeedpaUT_p
Columns & operator=(const Columns &other)
const String & fieldName() const
return FIELD table associated current fieldname and sourcename respectively
void swapyz(casacore::Cube< T > &out, const casacore::Cube< T > &in) const
virtual void getCol (const casacore::String & colName, casacore::Array<casacore::Double> & array...
virtual void slurp() const
Call to use the slurp i/o method for all scalar columns.
VisibilityIterator * vi_p
virtual void operator()(VisibilityIteratorWriteImpl *vi, VisBuffer *vb)=0
void setInterval(Double timeInterval)
Set or reset the time interval to use for iteration.
virtual casacore::Double getInterval() const
Return the time interval (in seconds) used for iteration.
Int polarizationId() const
Return current PolarizationId.
virtual const casacore::MDirection & phaseCenter() const
Return the current phase center as an MDirection.
A Measure: instant in time.
virtual casacore::Int numberAnt()
return number of Ant
virtual void getDataColumn(ROVisibilityIterator::DataColumn whichOne, const casacore::Slicer &slicer, casacore::Cube< casacore::Complex > &data) const
get the visibility data (observed, corrected or model); deals with casacore::Float and casacore::Comp...
ROVisibilityIterator::DataColumn DataColumn
VLAT should not access private parts, especially variables.
casacore::ArrayColumn< casacore::Complex > vis_p
virtual VisibilityIteratorReadImpl & selectChannel(casacore::Int nGroup=1, casacore::Int start=0, casacore::Int width=0, casacore::Int increment=1, casacore::Int spectralWindow=-1)
Channel selection - only the selected channels will be returned by the access functions.
casacore::Int curChanGroup_p
casacore::Double hourang_p
virtual casacore::Int numberDDId()
const Vector< SquareMatrix< Complex, 2 > > & CJones() const
Return the feed configuration/leakage matrix for feed 0 on each antenna TODO: CJonesAll can be used i...
virtual void setTileCache()
Set the tile cache size....when using slice access if tile cache size is not set memory usage can go ...
casacore::ScalarColumn< casacore::Int > antenna1_p
casacore::Block< casacore::Int > inc_p
virtual casacore::Vector< casacore::Int > & feed1(casacore::Vector< casacore::Int > &fd1) const
Return feed1.
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
casacore::Cube< casacore::Float > floatDataCube_p
virtual casacore::Vector< casacore::Double > & timeInterval(casacore::Vector< casacore::Double > &ti) const
Return nominal time interval.
casacore::Bool msHasWtSp_p
virtual casacore::Vector< casacore::Double > & exposure(casacore::Vector< casacore::Double > &expo) const
Return actual time interval.
virtual casacore::Bool newMS() const
Check if ms has change since last iteration.
casacore::Block< casacore::Int > getChannelStart() const
Internal value for MRadialVelocity.
Fast Vector classes with fixed (templated) length.
virtual casacore::Cube< casacore::Bool > & flag(casacore::Cube< casacore::Bool > &flags) const
Return flag for each polarization, channel and row.
casacore::Block< casacore::Vector< casacore::Int > > width_p
casacore::ScalarColumn< casacore::Int > scan_p
casacore::MSDerivedValues msd_p
casacore::Block< casacore::Vector< casacore::Int > > spw_p
static BackWriter * makeBackWriter(void(VisibilityIteratorWriteImpl::*setter)(Ret), Ret(VisBuffer::*getter)() const)
Backwriter(2) creation methods.
virtual casacore::Bool newFieldId() const
Return true if FieldId/Source has changed since last iteration.
casacore::Bool useCustomTileShape()
void putColScalar(casacore::ScalarColumn< casacore::Bool > &column, const casacore::Vector< casacore::Bool > &array)
non-virtual, no reason to template this function because casacore::Bool is the only type needed ...
casacore::ScalarColumn< casacore::Int > observation_p
virtual casacore::Vector< casacore::Double > & timeCentroid(casacore::Vector< casacore::Double > &t) const
Return MJD centroid of interval.
casacore::Vector< casacore::Float > getReceptor0Angle()
virtual VisibilityIteratorWriteImpl * clone(VisibilityIterator *vi) const
Members.
casacore::Double lastazelUT_p
void operator()(VisibilityIteratorWriteImpl *vi, VisBuffer *vb)
virtual void setWeightSpectrum(const casacore::Cube< casacore::Float > &wtsp)
Set/modify the weightSpectrum.
casacore::Int curTableNumRow_p
virtual casacore::Bool isWritable() const
virtual void advance()
advance the iteration
virtual const casacore::Cube< casacore::RigidVector< casacore::Double, 2 > > & getBeamOffsets() const
Return a cube containing pairs of coordinate offsets for each receptor of each feed (values are in ra...
virtual void getTopoFreqs()
get the TOPO frequencies from the selected velocities and the obs.
virtual void setState()
set the iteration state
Velocity & operator=(const Velocity &other)
Bool newMS() const
Return true if msId has changed since last iteration.
Fast Square Matrix class with fixed (templated) size.
virtual casacore::Cube< casacore::Complex > & visibility(casacore::Cube< casacore::Complex > &vis, DataColumn whichOne) const
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
casacore::Int chunkNumber_p
virtual void setSigmaMat(const casacore::Matrix< casacore::Float > &sigmat)
Set/modify the ncorr x nrow SigmaMat.
MeasurementSets measurementSets_p
Cache & operator=(const Cache &other)
Int spectralWindowId() const
Return current SpectralWindow.
virtual casacore::IPosition visibilityShape() const
Return the shape of the visibility Cube.
Bool newArray() const
Return True if ArrayId has changed since last iteration.
virtual const casacore::Cube< casacore::Double > & receptorAngles() const
Return receptor angles for all antennae and feeds First axis of the cube is a receptor number...
virtual casacore::Vector< casacore::Int > & scan(casacore::Vector< casacore::Int > &scans) const
Return scan number.
virtual VisibilityIteratorReadImpl & velInterpolation(const casacore::String &)
Select the velocity interpolation scheme.
A class to provide easy read-only access to MeasurementSet columns.
Class holding the row numbers in a RefTable.
casacore::ScalarColumn< casacore::Int > antenna2_p
virtual void setVis(const casacore::Matrix< CStokesVector > &vis, DataColumn whichOne)
Set/modify the visibilities.
virtual void getFreqInSpwRange(casacore::Double &freqStart, casacore::Double &freqEnd, casacore::MFrequency::Types freqframe=casacore::MFrequency::LSRK) const
Get the range of frequency convered by the selected data in the frame requested.
casacore::Vector< casacore::Float > feedpa_p
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
Columns & operator=(const Columns &other)
casacore::Bool asyncEnabled_p
virtual casacore::Int dataDescriptionId() const
Return current DataDescription Id.
void getColArray(const casacore::ArrayColumn< T > &column, casacore::Array< T > &array, casacore::Bool resize) const
virtual void getFloatDataColumn(const casacore::Slicer &slicer, casacore::Cube< casacore::Float > &data) const
get FLOAT_DATA as real Floats.
casacore::ScalarColumn< casacore::Int > feed2_p
virtual const casacore::Float & parang0(casacore::Double time) const
Return nominal parallactic angle at specified time (does not include feed position angle offset–see f...
casacore::RefRows selRows_p
casacore::Block< casacore::Int > nGroups_p
casacore::Bool initialized_p
virtual void setWeightMat(const casacore::Matrix< casacore::Float > &wtmat)
Set/modify the weightMat.
virtual const casacore::Table attachTable() const
returns the table, to which columns are attached, can be overridden in derived classes ...
const MS & ms() const
Return reference to the current MS.
casacore::ArrayColumn< casacore::Complex > corrVis_p
virtual casacore::Int arrayId() const
Return the current ArrayId.
casacore::MVRadialVelocity vInc_p
casacore::ArrayColumn< casacore::Complex > corrVis_p
Table table() const
Return the current Table iteration.
casacore::ArrayColumn< casacore::Float > sigma_p
virtual const casacore::ROMSColumns & msColumns() const
Access the current casacore::ROMSColumns object in MSIter.
Bool allBeamOffsetsZero() const
True if all elements of the cube returned by getBeamOffsets are zero.
A BackWriter is a functor that will extract a piece of information out of its VisBuffer argument and ...
Types
Types of known MRadialVelocity Warning: The order defines the order in the translation matrix FromTo...
bool Bool
Define the standard types used by Casacore.
virtual void getChannelSelection(casacore::Block< casacore::Vector< casacore::Int > > &blockNGroup, casacore::Block< casacore::Vector< casacore::Int > > &blockStart, casacore::Block< casacore::Vector< casacore::Int > > &blockWidth, casacore::Block< casacore::Vector< casacore::Int > > &blockIncr, casacore::Block< casacore::Vector< casacore::Int > > &blockSpw)
get the channel selection...the block over the number of ms's associated with this iterator ...
void setFlagCategory(const casacore::Array< casacore::Bool > &fc)
casacore::Bool newChanGroup_p
casacore::Double lastParang0UT_p
virtual VisibilityIteratorReadImpl & selectVelocity(casacore::Int nChan, const casacore::MVRadialVelocity &vStart, const casacore::MVRadialVelocity &vInc, casacore::MRadialVelocity::Types rvType=casacore::MRadialVelocity::LSR, casacore::MDoppler::Types dType=casacore::MDoppler::RADIO, casacore::Bool precise=false)
Velocity selection - specify the output channels in velocity: nChan - number of output channels...
VisibilityIteratorReadImpl::DataColumn DataColumn
casacore::ArrayColumn< casacore::Float > sigma_p
virtual casacore::Vector< casacore::Int > & feed2(casacore::Vector< casacore::Int > &fd2) const
Return feed2.
casacore::Bool isMultiMS_p
A simple BackWriterImpl uses a nullary accessor on a VisBuffer.
const Cube< RigidVector< Double, 2 > > & getBeamOffsets() const
Return a cube containing pairs of coordinate offset for each receptor of each feed (values are in rad...
casacore::Vector< casacore::Double > frequency_p
BackWriterImpl2 is slightly more complicated in that it uses a unary accessor.
virtual void origin()
Reset iterator to origin/start of data (of current chunk)
virtual casacore::Int msId() const
casacore::ArrayColumn< casacore::Float > weight_p
void attachColumnsSafe(const casacore::Table &t)
uInt nrow() const
Get the number of rows.
virtual casacore::Matrix< casacore::Double > & uvwMat(casacore::Matrix< casacore::Double > &uvwmat) const
Types
Types of known MDopplers Warning: The order defines the order in the translation matrix FromTo in th...
virtual void doChannelSelection()
Re-Do the channel selection in multi ms case.
VisibilityIteratorWriteImpl(VisibilityIterator *vi)
Constructors.
const MDirection & phaseCenter() const
Returns the phasecenter for the first time stamp of the iteration The time is important for field tab...
casacore::Double lastParangUT_p
casacore::ArrayColumn< casacore::Double > uvw_p
virtual casacore::Vector< casacore::Double > & time(casacore::Vector< casacore::Double > &t) const
Return MJD midpoint of interval.
casacore::Slicer slicer_p
casacore::Bool existsFlagCategory() const
Determine whether FLAG_CATEGORY is valid.
const casacore::MSDerivedValues & getMSD() const
virtual const casacore::Vector< casacore::String > & antennaMounts() const
return a string mount identifier for each antenna
virtual casacore::Int nCorr() const
Return the number of correlations in the current iteration.
static void azel0Calculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::MDirection &azel0, const casacore::MEpoch &mEpoch0)
casacore::MPosition getObservatoryPosition() const
virtual casacore::Int numberCoh()
Return number of rows in all selected ms's.
casacore::ScalarColumn< casacore::Double > timeInterval_p
casacore::Int channelGroupSize_p
casacore::Block< casacore::Bool > visOK_p
casacore::Block< casacore::Int > getChannelIncrement() const
virtual void putCol(casacore::ScalarColumn< casacore::Bool > &column, const casacore::Vector< casacore::Bool > &array)
column access functions, can be overridden in derived classes
casacore::ScalarColumn< casacore::Double > time_p
virtual casacore::Vector< casacore::Double > & lsrFrequency(casacore::Vector< casacore::Double > &freq) const
Return frequencies (in Hz, acc.
virtual const casacore::MeasurementSet & ms() const
reference to actual ms in interator
A Table intended to hold astronomical data (a set of Measurements).
virtual casacore::Vector< casacore::Int > & observationId(casacore::Vector< casacore::Int > &obsids) const
Return the OBSERVATION_IDs.
virtual void updateSlicer()
update the DATA slicer
casacore::Block< casacore::Int > getChannelWidth() const
virtual casacore::Bool newArrayId() const
Return true if arrayID has changed since last iteration.
Specify which elements to extract from an n-dimensional array.
std::map< VisBufferComponents::EnumType, BackWriter * > backWriters_p
virtual void allSelectedSpectralWindows(casacore::Vector< casacore::Int > &spws, casacore::Vector< casacore::Int > &nvischan)
get back the selected spectral windows and spectral channels for current ms
virtual Bool more() const
Return False if there is no more data.
virtual casacore::Int numberSpw()
Return number of spws, polids, ddids.
virtual casacore::Int polarizationId() const
Return current Polarization Id.
casacore::ArrayColumn< casacore::Complex > modelVis_p
casacore::ScalarColumn< casacore::Double > exposure_p
virtual casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > & CJones(casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &cjones) const
Return feed configuration matrix for specified antenna.
casacore::Bool vPrecise_p
casacore::Int nRowBlocking_p
void operator()(VisibilityIteratorWriteImpl *vi, VisBuffer *vb)
Bool newSpectralWindow() const
Return True if SpectralWindow has changed since last iteration.
casacore::Bool isAsyncEnabled() const
Members.
virtual void setRowBlocking(casacore::Int nRows=0)
Set the 'blocking' size for returning data.
virtual casacore::Int fieldId() const
Return the current FieldId.
casacore::ArrayColumn< casacore::Float > floatVis_p
virtual casacore::Vector< casacore::Float > feed_pa(casacore::Double time) const
Return feed parallactic angles casacore::Vector (nant) (1 feed/ant)
casacore::Int curStartRow_p
casacore::Cube< casacore::Bool > flagCube_p
casacore::ScalarColumn< casacore::Bool > flagRow_p
casacore::MDoppler::Convert cFromBETA_p
virtual void attachColumns(const casacore::Table &t)
const Vector< String > & antennaMounts() const
Return a string mount identifier for each antenna.
BackWriterImpl2(Setter setter, Getter getter, DataColumn dc)
casacore::ArrayColumn< casacore::Float > floatVis_p
virtual casacore::Vector< casacore::uInt > & rowIds(casacore::Vector< casacore::uInt > &rowids) const
Return the row ids as from the original root table.
casacore::Block< casacore::Int > start_p
virtual ~VisibilityIteratorReadImpl()
Destructor.
virtual casacore::MEpoch getEpoch() const
virtual VisibilityIteratorReadImpl * clone(ROVisibilityIterator *rovi) const
casacore::Bool freqCacheOK_p
An iterator class for MeasurementSets.
casacore::Vector< casacore::Bool > tileCacheIsSet_p
static casacore::Vector< casacore::Float > feed_paCalculate(casacore::Double time, casacore::MSDerivedValues &msd, casacore::Int nAntennas, const casacore::MEpoch &mEpoch0, const casacore::Vector< casacore::Float > &receptor0Angle)
casacore::Bool msIterAtOrigin_p
virtual casacore::Bool isWritable() const
casacore::Block< casacore::Int > preselectedChanStart_p
virtual casacore::Int polFrame() const
Return frame for polarization (returns PolFrame enum)
virtual void attachColumns(const casacore::Table &t)
attach the column objects to the currently selected table
virtual casacore::Vector< casacore::Int > & corrType(casacore::Vector< casacore::Int > &corrTypes) const
Return the correlation type (returns casacore::Stokes enums)
casacore::Block< casacore::Vector< casacore::Int > > start_p
MeasurementSetChannels msChannels_p
virtual void getCol(const casacore::ScalarColumn< casacore::Bool > &column, casacore::Vector< casacore::Bool > &array, casacore::Bool resize=false) const
column access functions, can be overridden in derived classes
casacore::Bool addDefaultSort_p
casacore::Bool useCustomTileShape_p
std::vector< casacore::MeasurementSet > MeasurementSets
casacore::Vector< casacore::Double > time_p
virtual casacore::Int spectralWindow() const
Return current SpectralWindow.
virtual casacore::Bool moreChunks() const
Return false if no more 'Chunks' of data left.
casacore::Double lasthourangUT_p
String: the storage and methods of handling collections of characters.
BackWriterImpl(Setter setter, Getter getter)
void setAsyncEnabled(casacore::Bool enable)
casacore::Block< casacore::Int > preselectednChan_p
static casacore::Double hourangCalculate(casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &mEpoch0)
VisibilityIteratorReadImpl()
class AsyncEnabler { public: AsyncEnabler (ROVisibilityIterator &); AsyncEnabler (ROVisibilityIterato...
void slicesToMatrices(casacore::Vector< casacore::Matrix< casacore::Int > > &matv, const casacore::Vector< casacore::Vector< casacore::Slice > > &slicesv, const casacore::Vector< casacore::Int > &widthsv) const
Translate slicesv from the form returned by casacore::MSSelection::getChanSlices () to matv as used b...
casacore::Bool usesTiledDataManager(const casacore::String &columnName, const casacore::MeasurementSet &ms) const
get the (velocity selected) interpolated visibilities, flags and weights.
casacore::ArrayColumn< casacore::Double > & getChannelFrequency() const
virtual void setFlag(const casacore::Matrix< casacore::Bool > &flag)
Set/modify the flags in the data.
VisBuffers encapsulate one chunk of visibility data for processing.
virtual casacore::Int channelIndex() const
Return the index of the first channel of the current channel group in the total (selected) spectrum...
casacore::Slicer weightSlicer_p
casacore::ArrayColumn< casacore::Complex > vis_p
casacore::uInt curNumRow_p
VisibilityIterator iterates through one or more writable MeasurementSets.
const casacore::MeasurementSet & getMeasurementSet() const
casacore::Cube< casacore::Complex > visCube_p
casacore::ArrayColumn< casacore::Float > weightSpectrum_p
virtual void useImagingWeight(const VisImagingWeight &imWgt)
assign a VisImagingWeight object to this iterator
casacore::Vector< casacore::uInt > rowIds_p
casacore::Bool existsWeightSpectrum() const
Determine whether WEIGHT_SPECTRUM exists.
VisibilityIteratorReadImpl * getReadImpl()
virtual casacore::Vector< casacore::Int > & antenna2(casacore::Vector< casacore::Int > &ant2) const
Return antenna2.
Abstract base class for Record classes.
friend class AsyncEnabler
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
casacore::Double lastazel0UT_p
virtual void update_rowIds() const
Updates, if necessary, rowIds_p member for the current chunk.
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
virtual VisibilityIteratorReadImpl & nextChunk()
Advance to the next Chunk of data.
virtual casacore::Vector< casacore::Int > & processorId(casacore::Vector< casacore::Int > &procids) const
Return the PROCESSOR_IDs.
static casacore::Float parang0Calculate(casacore::Double time, casacore::MSDerivedValues &msd, const casacore::MEpoch &epoch0)
virtual void initialize(const casacore::Block< casacore::MeasurementSet > &mss)
constructor helpers
virtual void setVisAndFlag(const casacore::Cube< casacore::Complex > &vis, const casacore::Cube< casacore::Bool > &flag, DataColumn whichOne)
Set the visibility and flags, and interpolate from velocities if needed.
void getColScalar(const casacore::ScalarColumn< T > &column, casacore::Vector< T > &array, casacore::Bool resize) const
virtual casacore::Double hourang(casacore::Double time) const
Return the hour angle for the specified time.
casacore::Block< casacore::Vector< casacore::Int > > nGroups_p
virtual void attachVisBuffer(VisBuffer &vb)
Attach a VisBuffer object.
casacore::ArrayColumn< casacore::Float > weight_p
virtual void detachVisBuffer(VisBuffer &vb)
Detach a VisBuffer object.
casacore::Int getMeasurementSetId() const
const ROMSColumns & msColumns() const
Return reference to the current ROMSColumns.
virtual casacore::Bool more() const
Return false if no more data (in current chunk)
const Cube< Double > & receptorAngles() const
Return the receptor angles for all feeds and antennae First axis is a receptor number, 2nd axis is antennaId, 3rd axis is feedId.
std::stack< VisBuffer * > vbStack_p
casacore::Vector< casacore::Double > lsrFreq_p
virtual casacore::Int numberPol()
casacore::Block< casacore::Int > getChannelGroupNumber() const
casacore::Int curNGroups_p
virtual void setFlagRow(const casacore::Vector< casacore::Bool > &rowflags)
Set/modify the flag row column; dimension casacore::Vector (nrow)
virtual casacore::Int channelGroupSize() const
Return the width of the current group of channels, i.e., the number of channels returned by visibilit...
casacore::MSIter msIter_p
virtual casacore::Int nSubInterval() const
Return the number of sub-intervals in the current chunk.
casacore::Vector< casacore::Double > selFreq_p
casacore::Matrix< casacore::Float > imagingWeight_p
virtual casacore::Vector< casacore::Float > parang(casacore::Double time) const
Per antenna:
casacore::MVRadialVelocity vStart_p
virtual casacore::String sourceName() const
Return the current Source Name.