casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VisibilityIteratorImplAsync.h
Go to the documentation of this file.
1 /*
2  * VisibilityIteratorAsync.h
3  *
4  * Created on: Nov 1, 2010
5  * Author: jjacobs
6  */
7 
8 #if ! defined (VisibilityIteratorAsync_H_)
9 #define VisibilityIteratorAsync_H_
10 
11 #include <stack>
12 #include <set>
13 
16 #include "UtilJ.h"
17 
18 #define NotImplementedROVIA throw utilj::AipsErrorTrace (casacore::String ("Method not legal in ROVIA: ") + __PRETTY_FUNCTION__, __FILE__, __LINE__)
19 #define NotPrefetched throw utilj::AipsErrorTrace (casacore::String ("Column not prefetched for async I/O: ") + __PRETTY_FUNCTION__, __FILE__, __LINE__)
20 
21 namespace casa {
22 
23 
24 class VisBufferAsync;
25 class VisBufferAsyncWrapper;
26 
27 namespace asyncio {
28 
29 class AsynchronousInterface;
30 class VlaDatum;
31 class VlaData;
32 class VLAT;
33 
34 } // end namespace asyncio
35 
37  // This needs to be changed back to ROVisibilityIterator at some point
38  // after feasibility testing
39 
40  friend class Rovia_Test;
41  friend class ROVisIterator;
42  friend class VisIterator;
43  friend class ViWriteImplAsync;
44 
45 public:
46 
48 
49 // static VisibilityIteratorReadImpl *
50 // create (const ROVisibilityIterator &,
51 // const PrefetchColumns & prefetchColumns,
52 // casacore::Int nReadAheadBuffers = -1);
53 
55  const PrefetchColumns & prefetchColumns,
56  const casacore::Block<casacore::Int> & sortColumns,
57  const casacore::Bool addDefaultSortCols,
59  casacore::Bool writable);
60 
61  ViReadImplAsync (const PrefetchColumns & prefetchColumns,
62  const VisibilityIteratorReadImpl & other,
63  casacore::Bool writable);
64 
65 
67 
69 
70  void attachVisBuffer (VisBuffer & vb);
71  void detachVisBuffer (VisBuffer & vb);
79 
80 
81 // casacore::Int getDataDescriptionId () const;
82 // const casacore::MeasurementSet & getMeasurementSet();
83 // const casacore::Int getMeasurementSetId ();
84 // casacore::Int getNAntennas () const;
85  casacore::MEpoch getEpoch () const;
86 // casacore::Vector<casacore::Float> getReceptor0Angle ();
87 
89 
90  bool more () const;
91  bool moreChunks () const;
93  void origin ();
94  void originChunks ();
95  virtual void advance ();
96 
97  void setPrefetchColumns (const PrefetchColumns & prefetchColumns);
98 
100  casacore::Int start=0,
101  casacore::Int width=0,
102  casacore::Int increment=1,
104 
110 
111 
120 
121  // These functions generate a list of the IDs (from PrefetchColumnIDs enum)
122  // of the columns to prefetch. For the variable arg calls, terminate with a
123  // -1.
124 
125  static int getDefaultNBuffers ();
126 
127  // The functions below make no sense (at first glance) for asynchronous operation and are implemented
128  // to throw an casacore::AipsError if called. ROVIA is designed to have all the data accessed through the
129  // associated VisBufferAsync. Any method which tries to access data through the ROVIA makes no
130  // sense. Also anything that tries to change the characteristics of underlying ROVI is not currently
131  // permitted. During integration some methods may be found to be more important to the use of ROVIA
132  // and a way may be found to implement them in ROVIA.
133 
134  casacore::Bool allBeamOffsetsZero() const; // { NotPrefetched; }
138  const casacore::Vector<casacore::String>& antennaMounts() const; // { NotPrefetched; }
140  casacore::MDirection azel0(casacore::Double ) const { NotImplementedROVIA; }
142  casacore::Int channelGroupSize() const { NotImplementedROVIA; }
143  casacore::Int channelIndex() const { NotImplementedROVIA; }
146  casacore::Int dataDescriptionId() const { NotPrefetched; }
147  casacore::Bool existsWeightSpectrum() const { NotImplementedROVIA; }
151  //casacore::Vector<casacore::Float> feed_pa(casacore::Double ) const { NotImplementedROVIA; }
152  casacore::Int fieldId() const { NotPrefetched; }
153  casacore::Array<casacore::Bool>& flagCategory(casacore::Array<casacore::Bool>& /*flagCategories*/) const { NotPrefetched; }
155  void getFloatDataColumn (casacore::Cube<casacore::Float>& /*data*/) const { NotImplementedROVIA; }
156  void getFloatDataColumn(const casacore::Slicer& /*slicer*/, casacore::Cube<casacore::Float>& /*data*/) const { NotImplementedROVIA; }
157  void getInterpolatedFloatDataFlagWeight() const { NotImplementedROVIA; }
158  void getInterpolatedVisFlagWeight(DataColumn /*whichOne*/) const { NotImplementedROVIA; }
159  casacore::Int arrayId() const { NotPrefetched; }
160  casacore::String fieldName() const { NotImplementedROVIA; }
161  casacore::String sourceName() const { NotImplementedROVIA; }
166  const casacore::Cube<casacore::RigidVector<casacore::Double, 2> >& getBeamOffsets() const;// { NotImplementedROVIA; }
167  casacore::Int getDataDescriptionId () const { NotPrefetched; }
168  casacore::MEpoch getMEpoch () const { NotImplementedROVIA; }
169  const casacore::MeasurementSet & getMeasurementSet() const { NotImplementedROVIA; }
170  casacore::Int getMeasurementSetId() const { NotImplementedROVIA; }
171  casacore::Int getNAntennas () const { NotImplementedROVIA; }
173  casacore::Vector<casacore::uInt> getRowIds () const { NotImplementedROVIA; }
174  casacore::Double hourang(casacore::Double ) const { NotImplementedROVIA; }
177  const casacore::MeasurementSet& ms() const { NotImplementedROVIA; }
178  const casacore::ROMSColumns& msColumns() const;
179  casacore::Int msId() const;
180  casacore::Int nCorr() const { NotPrefetched; }
181  casacore::Int nRow() const { NotPrefetched; }
182  casacore::Int nRowChunk() const;
183  casacore::Int nSubInterval() const { NotImplementedROVIA; }
184  casacore::Bool newArrayId() const { NotImplementedROVIA; }
185  casacore::Bool newFieldId() const { NotImplementedROVIA; }
186  casacore::Bool newMS() const { return msIter_p.more();}
187  casacore::Bool newSpectralWindow() const { NotImplementedROVIA; }
188  casacore::Int numberCoh() { NotPrefetched; }
189  casacore::Int numberDDId() { NotPrefetched; }
190  casacore::Int numberPol() { NotPrefetched; }
194  const casacore::Float& parang0(casacore::Double ) const { NotImplementedROVIA; }
195  const casacore::MDirection& phaseCenter() const { NotPrefetched; }
196  casacore::Int polFrame() const { NotPrefetched; }
198  casacore::Int polarizationId() const { NotPrefetched; }
199  const casacore::Cube<casacore::Double>& receptorAngles() const; // { NotImplementedROVIA; }
204  void slurp() const { NotImplementedROVIA; }
205  casacore::Int spectralWindow() const { NotPrefetched; }
215  casacore::IPosition visibilityShape() const { NotImplementedROVIA; }
219 
220  static casacore::String prefetchColumnName (casacore::Int id); // for debug only
221 
222 protected:
223 
224  // Use the factory method "create" instead of calling the constructor
225  // directly. This allows disabling the feature.
226 
227 // ViReadImplAsync (const casacore::MeasurementSet & ms,
228 // const PrefetchColumns & prefetchColumns,
229 // const casacore::Block<casacore::Int> & sortColumns,
230 // casacore::Double timeInterval=0,
231 // casacore::Int nReadAheadBuffers = 2);
232 // ViReadImplAsync (const casacore::MeasurementSet & ms,
233 // const PrefetchColumns & prefetchColumns,
234 // const casacore::Block<casacore::Int> & sortColumns,
235 // const casacore::Bool addDefaultSortCols,
236 // casacore::Double timeInterval=0,
237 // casacore::Int nReadAheadBuffers = 2);
238 //
239 // // Same as previous constructor, but with multiple MSs to iterate over.
240 //
241 // ViReadImplAsync (const casacore::Block<casacore::MeasurementSet> & mss,
242 // const PrefetchColumns & prefetchColumns,
243 // const casacore::Block<casacore::Int> & sortColumns,
244 // casacore::Double timeInterval=0,
245 // casacore::Int nReadAheadBuffers = 2);
246 
247 
249  const PrefetchColumns & prefetchColumns,
250  casacore::Int nReadAheadBuffers = -1);
251 
252  PrefetchColumns augmentPrefetchColumns (const PrefetchColumns & prefetchColumnsBase);
254  const PrefetchColumns & prefetchColumns,
255  const casacore::Block<casacore::Int> & sortColumns,
256  const casacore::Bool addDefaultSortCols,
258  casacore::Bool writable);
259 
260 
261  void fillVisBuffer();
262  const casacore::MeasurementSet & getMs() const;
263  void readComplete ();
265  void saveMss (const casacore::MeasurementSet & ms);
266  //void startVlat ();
267 
268 private:
269 
273  std::stack<VisBufferAsyncWrapper *> vbaWrapperStack_p;
276  asyncio::VLAT * vlat_p; // [use]
277 
278  void dumpPrefetchColumns () const;
279  void updateMsd ();
280 
281  ViReadImplAsync (const ViReadImplAsync & MSI);
283 
284 }; // end class ViReadImplAsync
285 
286 namespace asyncio {
287  class WriteData;
288 } // end namespace asyncio
289 
291 
292 public:
293 
295 
297  ViWriteImplAsync (const PrefetchColumns & prefetchColumns,
298  const VisibilityIteratorWriteImpl & other,
299  VisibilityIterator * vi);
300 
302 
304 
305  void putModel(const casacore::RecordInterface& rec, casacore::Bool iscomponentlist=true, casacore::Bool incremental=false);
306 
307 
308  // Set/modify the flags in the data.
309  // This will flag all channels in the original data that contributed to
310  // the output channel in the case of channel averaging.
311  // All polarizations have the same flag value.
312  void setFlag(const casacore::Matrix<casacore::Bool>& flag);
313  // Set/modify the flags in the data.
314  // This sets the flags as found in the casacore::MS, casacore::Cube(npol,nchan,nrow),
315  // where nrow is the number of rows in the current iteration (given by
316  // nRow()).
317  void setFlag(const casacore::Cube<casacore::Bool>& flag);
318 
319  void setFlagCategory (const casacore::Array<casacore::Bool> & flagCategory);
320 
321  // Set/modify the flag row column; dimension casacore::Vector(nrow)
322  void setFlagRow(const casacore::Vector<casacore::Bool>& rowflags);
323  // Set/modify the visibilities.
324  // This is possibly only for a 'reference' casacore::MS which has a new DATA column.
325  // The first axis of the matrix should equal the selected number of channels
326  // in the original MS.
327  // If the casacore::MS does not contain all polarizations, only the parallel
328  // hand polarizations are used.
329  void setVis(const casacore::Matrix<CStokesVector>& vis, DataColumn whichOne);
330  // Set/modify the visibilities
331  // This sets the data as found in the casacore::MS, casacore::Cube(npol,nchan,nrow).
332  void setVis(const casacore::Cube<casacore::Complex>& vis, DataColumn whichOne);
333  // Set the visibility and flags, and interpolate from velocities if needed
335  DataColumn whichOne);
336  // Set/modify the weights
338  // Set/modify the weightMat
340  // Set/modify the weightSpectrum
342  // Set/modify the Sigma
344  // Set/modify the ncorr x nrow SigmaMat.
346 
347 protected:
348 
350  void queueWriteData (const asyncio::WriteData & data);
351 
352 private:
353 
354 
355 }; // end class ViWriteImplAsync
356 
357 
359 
360 } // end namespace casa
361 
362 #endif // ViReadImplAsync
casacore::Int nSubInterval() const
Return the number of sub-intervals in the current chunk.
casacore::Vector< casacore::MDirection > azel(casacore::Double) const
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > & CJones(casacore::Vector< casacore::SquareMatrix< casacore::Complex, 2 > > &) const
Return feed configuration matrix for specified antenna.
A Measure: astronomical direction.
Definition: MDirection.h:174
void allSelectedSpectralWindows(casacore::Vector< casacore::Int > &, casacore::Vector< casacore::Int > &)
get back the selected spectral windows and spectral channels for current ms
casacore::Cube< casacore::Float > & weightSpectrum(casacore::Cube< casacore::Float > &) const
Return weightspectrum (a weight for each channel)
casacore::Cube< casacore::Complex > & visibility(casacore::Cube< casacore::Complex > &, DataColumn) const
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
int Int
Definition: aipstype.h:50
void setSigmaMat(const casacore::Matrix< casacore::Float > &sigmat)
Set/modify the ncorr x nrow SigmaMat.
void setRowBlocking(casacore::Int nRow)
Set the &#39;blocking&#39; size for returning data.
casacore::Vector< casacore::Int > & antenna2(casacore::Vector< casacore::Int > &) const
Return antenna2.
ViReadImplAsync(const casacore::Block< casacore::MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const casacore::Block< casacore::Int > &sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval, casacore::Bool writable)
static VisibilityIteratorReadImpl * create (const ROVisibilityIterator &amp;, const PrefetchColumns &amp; pre...
casacore::Int channelGroupSize() const
Return the width of the current group of channels, i.e., the number of channels returned by visibilit...
casacore::Vector< casacore::Float > & weight(casacore::Vector< casacore::Float > &) const
Return weight.
casacore::Int numberCoh()
Return number of rows in all selected ms&#39;s.
bool more() const
casacore::Vector&lt;casacore::Float&gt; getReceptor0Angle ();
const casacore::Vector< casacore::String > & antennaMounts() const
return a string mount identifier for each antenna
casacore::Int channelIndex() const
Return the index of the first channel of the current channel group in the total (selected) spectrum...
void setSigma(const casacore::Vector< casacore::Float > &sig)
Set/modify the Sigma.
casacore::Vector< casacore::Double > & frequency(casacore::Vector< casacore::Double > &) const
Return current frequencies (in Hz, acc.
casacore::Bool newArrayId() const
Return true if arrayID has changed since last iteration.
VisibilityIterator iterates through one or more writable MeasurementSets.
static casacore::String prefetchColumnName(casacore::Int id)
void getFloatDataColumn(const casacore::Slicer &, casacore::Cube< casacore::Float > &) const
get FLOAT_DATA as real Floats.
casacore::Int msId() const
VLAT is the Visibility LookAhead Thread. This thread advances a visibility iterator and fills the dat...
Definition: VLAT.h:219
casacore::Vector< casacore::Int > & channel(casacore::Vector< casacore::Int > &) const
Return channel numbers in selected VisSet spectrum (i.e.
casacore::Vector< casacore::Double > & exposure(casacore::Vector< casacore::Double > &) const
Return actual time interval.
void setWeightMat(const casacore::Matrix< casacore::Float > &wtmat)
Set/modify the weightMat.
casacore::Vector< casacore::Int > & scan(casacore::Vector< casacore::Int > &) const
Return scan number.
void setFlag(const casacore::Matrix< casacore::Bool > &flag)
Set/modify the flags in the data.
casacore::Vector< casacore::Double > & timeCentroid(casacore::Vector< casacore::Double > &) const
Return MJD centroid of interval.
casacore::Int spectralWindow() const
Return current SpectralWindow.
bool moreChunks() const
Return false if no more &#39;Chunks&#39; of data left.
casacore::Vector< casacore::Bool > & flagRow(casacore::Vector< casacore::Bool > &) const
Return row flag.
std::stack< VisBufferAsyncWrapper * > vbaWrapperStack_p
void setPrefetchColumns(const PrefetchColumns &prefetchColumns)
casacore::Vector< casacore::Int > & feed1(casacore::Vector< casacore::Int > &) const
Return feed1.
casacore::Matrix< casacore::Float > & sigmaMat(casacore::Matrix< casacore::Float > &) const
Return sigma matrix (pol-dep)
casacore::Int polFrame() const
Return frame for polarization (returns PolFrame enum)
friend class Rovia_Test
This needs to be changed back to ROVisibilityIterator at some point after feasibility testing...
void setVis(const casacore::Matrix< CStokesVector > &vis, DataColumn whichOne)
Set/modify the visibilities.
A Measure: instant in time.
Definition: MEpoch.h:104
casacore::Array< casacore::Bool > & flagCategory(casacore::Array< casacore::Bool > &) const
Return flags for each polarization, channel, category, and row.
casacore::String fieldName() const
Return the current Field Name.
void getFloatDataColumn(casacore::Cube< casacore::Float > &) const
casacore::IPosition visibilityShape() const
Return the shape of the visibility Cube.
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Definition: PlotData.h:48
casacore::Bool newSpectralWindow() const
Return true if SpectralWindow has changed since last iteration.
Internal value for MRadialVelocity.
casacore::Bool allBeamOffsetsZero() const
The functions below make no sense (at first glance) for asynchronous operation and are implemented to...
Fast Vector classes with fixed (templated) length.
casacore::Vector< casacore::Float > getReceptor0Angle()
casacore::Bool newFieldId() const
Return true if FieldId/Source has changed since last iteration.
casacore::Int getDataDescriptionId() const
void setFlagRow(const casacore::Vector< casacore::Bool > &rowflags)
Set/modify the flag row column; dimension casacore::Vector(nrow)
const casacore::MeasurementSet & ms() const
reference to actual ms in interator
void setWeightSpectrum(const casacore::Cube< casacore::Float > &wtsp)
Set/modify the weightSpectrum.
casacore::Int getMeasurementSetId() const
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...
void attachVisBuffer(VisBuffer &vb)
Attach a VisBuffer object.
PrefetchColumns getPrefetchColumns() const
void construct(const casacore::Block< casacore::MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const casacore::Block< casacore::Int > &sortColumns, const casacore::Bool addDefaultSortCols, casacore::Double timeInterval, casacore::Bool writable)
Fast Square Matrix class with fixed (templated) size.
The PrefetchColumns class is used to specify a set of columns that can be prefetched when the (RO)Vis...
casacore::Int nRowChunk() const
Return the numbers of rows in the current chunk.
ViReadImplAsync & operator=(const ViReadImplAsync &MSI)
casacore::MEpoch getEpoch() const
casacore::Int getDataDescriptionId () const; const casacore::MeasurementSet &amp; getMeasurementSet(); co...
casacore::Vector< casacore::Double > & timeInterval(casacore::Vector< casacore::Double > &) const
Return nominal time interval.
VisibilityIteratorReadImpl & velInterpolation(const casacore::String &)
Select the velocity interpolation scheme.
casacore::Int nCorr() const
Return the number of correlations in the current iteration.
void lsrFrequency(const casacore::Int &, casacore::Vector< casacore::Double > &, casacore::Bool &)
casacore::Matrix< CStokesVector > & visibility(casacore::Matrix< CStokesVector > &, DataColumn) const
Return the visibility 4-vector of polarizations for each channel.
double Double
Definition: aipstype.h:55
A class to provide easy read-only access to MeasurementSet columns.
Definition: MSColumns.h:111
casacore::Vector< casacore::Double > & lsrFrequency(casacore::Vector< casacore::Double > &) const
Return frequencies (in Hz, acc.
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
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...
casacore::Vector< casacore::uInt > getRowIds() const
casa::asyncio::PrefetchColumns PrefetchColumns
VisibilityIteratorReadImpl * clone() const
casacore::String sourceName() const
Return the current Source Name.
void slurp() const
Call to use the slurp i/o method for all scalar columns.
void origin()
Reset iterator to origin/start of data (of current chunk)
void saveMss(const casacore::Block< casacore::MeasurementSet > &mss)
casacore::Cube< casacore::Float > & floatData(casacore::Cube< casacore::Float > &) const
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
casacore::Int polarizationId() const
Return current Polarization Id.
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.
casacore::Int fieldId() const
casacore::Vector&lt;casacore::Float&gt; feed_pa(casacore::Double) const { NotImplementedROVIA; } ...
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.
Definition: aipstype.h:42
static int getDefaultNBuffers()
These functions generate a list of the IDs (from PrefetchColumnIDs enum) of the columns to prefetch...
ViWriteImplAsync(VisibilityIterator *vi)
VisibilityIteratorReadImpl & selectVelocity(casacore::Int, const casacore::MVRadialVelocity &, const casacore::MVRadialVelocity &, casacore::MRadialVelocity::Types, casacore::MDoppler::Types, casacore::Bool)
Velocity selection - specify the output channels in velocity: nChan - number of output channels...
casacore::Bool existsWeightSpectrum() const
void getInterpolatedFloatDataFlagWeight() const
const casacore::ROMSColumns & msColumns() const
Access the current casacore::ROMSColumns object in MSIter.
void detachVisBuffer(VisBuffer &vb)
Detach a VisBuffer object.
void originChunks()
Reset iterator to true start of data (first chunk)
Types
Types of known MDopplers Warning: The order defines the order in the translation matrix FromTo in th...
Definition: MDoppler.h:149
const casacore::Cube< casacore::Double > & receptorAngles() const
Return receptor angles for all antennae and feeds First axis of the cube is a receptor number...
VisibilityIteratorWriteImpl * clone() const
casacore::Int getNAntennas() const
float Float
Definition: aipstype.h:54
asyncio::AsynchronousInterface * interface_p
void startVlat ();
casacore::Vector< casacore::Int > & observationId(casacore::Vector< casacore::Int > &) const
Return the OBSERVATION_IDs.
const casacore::MDirection & phaseCenter() const
Return the current phase center as an MDirection.
casacore::Vector< casacore::Int > & corrType(casacore::Vector< casacore::Int > &) const
Return the correlation type (returns casacore::Stokes enums)
void queueWriteData(const asyncio::WriteData &data)
const casacore::MeasurementSet & getMeasurementSet() const
casacore::Vector< casacore::Int > & feed2(casacore::Vector< casacore::Int > &) const
Return feed2.
void setInterval(casacore::Double timeInterval)
Set or reset the time interval (in seconds) to use for iteration.
A Table intended to hold astronomical data (a set of Measurements).
casacore::Int dataDescriptionId() const
Return current DataDescription Id.
const casacore::MeasurementSet & getMs() const
casacore::Vector< casacore::Float > & sigma(casacore::Vector< casacore::Float > &) const
Return sigma.
Specify which elements to extract from an n-dimensional array.
Definition: Slicer.h:289
void dumpPrefetchColumns() const
virtual Bool more() const
Return False if there is no more data.
Definition: MSIter.h:506
VisBuffer * getVisBuffer()
casacore::Int numberSpw()
Return number of spws, polids, ddids.
virtual void advance()
advance the iteration
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::MDirection azel0(casacore::Double) const
Return the antenna AZ/EL casacore::Vector (nant)
casacore::Vector< casacore::uInt > & rowIds(casacore::Vector< casacore::uInt > &) const
Return the row ids as from the original root table.
void setFlagCategory(const casacore::Array< casacore::Bool > &flagCategory)
casacore::Vector< casacore::Int > & processorId(casacore::Vector< casacore::Int > &) const
Return the PROCESSOR_IDs.
casacore::Vector< casacore::Float > parang(casacore::Double) const
Per antenna:
casacore::Vector< casacore::Int > & stateId(casacore::Vector< casacore::Int > &) const
Return the STATE_IDs.
casacore::Double hourang(casacore::Double) const
Return the hour angle for the specified time.
casacore::Int nRow() const
Return the number of rows in the current iteration.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
VisibilityIterator iterates through one or more writable MeasurementSets.
casacore::Matrix< casacore::Double > & uvwMat(casacore::Matrix< casacore::Double > &) const
Abstract base class for Record classes.
casacore::Cube< casacore::Bool > & flag(casacore::Cube< casacore::Bool > &) const
Return flag for each polarization, channel and row.
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
casacore::Vector< casacore::Int > & antenna1(casacore::Vector< casacore::Int > &) const
Return antenna1.
casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > & uvw(casacore::Vector< casacore::RigidVector< casacore::Double, 3 > > &) const
Return u,v and w (in meters)
casacore::Vector< casacore::Double > & time(casacore::Vector< casacore::Double > &) const
Return MJD midpoint of interval.
casa::asyncio::PrefetchColumns PrefetchColumns
casacore::MEpoch getMEpoch() const
void getChannelSelection(casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &, casacore::Block< casacore::Vector< casacore::Int > > &)
get the channel selection...the block over the number of ms&#39;s associated with this iterator ...
PrefetchColumns augmentPrefetchColumns(const PrefetchColumns &prefetchColumnsBase)
casacore::Int arrayId() const
Return the current ArrayId.
ViReadImplAsync ROVIA
casacore::Bool newMS() const
Check if ms has change since last iteration.
casacore::Matrix< casacore::Bool > & flag(casacore::Matrix< casacore::Bool > &) const
Return flag for each channel &amp; row.
casacore::Matrix< casacore::Float > & weightMat(casacore::Matrix< casacore::Float > &) const
Returns the nPol_p x curNumRow_p weight matrix.
void setWeight(const casacore::Vector< casacore::Float > &wt)
Set/modify the weights.
ViReadImplAsync * getReadImpl()
const casacore::Float & parang0(casacore::Double) const
Return nominal parallactic angle at specified time (does not include feed position angle offset–see f...
ViReadImplAsync & nextChunk()
Advance to the next Chunk of data.
void getInterpolatedVisFlagWeight(DataColumn) const