1 #if ! defined (Msvis_AveragingTvi2_H_121211_1236)
2 #define Msvis_AveragingTvi2_H_121211_1236
19 class AveragingOptions;
98 return sigma > FLT_MIN ? 1.0 / (sigma *
sigma) : 0.0;
138 #endif // ! defined (Msvis_AveragingTvi2_H_121211_1236)
virtual casacore::String ViiType() const
Report the the ViImplementation type.
virtual void sigmaSpectrum(casacore::Cube< casacore::Float > &sigsp) const
Return sgimaspectrum (a sigma for each channel)
virtual void weightSpectrum(casacore::Cube< casacore::Float > &wtsp) const
Return weightspectrum (a weight for each channel)
casacore::Bool subchunkExists_p
virtual void visibilityCorrected(casacore::Cube< casacore::Complex > &vis) const
Return the visibilities as found in the casacore::MS, casacore::Cube (npol,nchan,nrow).
casacore::Bool inputExceedsTimeDistance(ms::MsRow *rowInput, avg::MsRowAvg *rowAveraged)
AveragingOptions averagingOptions_p
void processInputSubchunk(const VisBuffer2 *)
casacore::Bool reachedAveragingBoundary()
static casacore::Float weightToSigma(casacore::Float weight)
static casacore::Vector< casacore::Float > average(const casacore::Matrix< casacore::Float > &data, const casacore::Matrix< casacore::Bool > &flags)
casacore::Int ddidLastUsed_p
virtual void antenna1(casacore::Vector< casacore::Int > &ant1) const
+=========================+ | | | Subchunk casacore::Data Accessors | | | +=========================+...
virtual casacore::Bool weightSpectrumExists() const
Determine whether WEIGHT_SPECTRUM exists.
void captureIterationInfo(const VisBuffer2 *vb2)
casacore::Int startBuffer_p
AveragingTvi2(ViImplementation2 *inputVii, const AveragingParameters &averagingParameters)
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
virtual void getRowIds(casacore::Vector< casacore::uInt > &rowids) const
Return the row ids as from the original root table.
virtual void visibilityObserved(casacore::Cube< casacore::Complex > &vis) const
void writeFlagRow(const casacore::Vector< casacore::Bool > &rowflags)
Write/modify the flag row column; dimension casacore::Vector (nrow)
bool subchunksReady() const
casacore::Int determineDdidToUse() const
static casacore::Float sigmaToWeight(casacore::Float sigma)
virtual void exposure(casacore::Vector< double > &expo) const
Return actual time interval.
casacore::Bool moreChunks() const
bool Bool
Define the standard types used by Casacore.
void writeFlag(const casacore::Cube< casacore::Bool > &flag)
Write/modify the flags in the data.
the interval must be an integer multiple of the averaging interval The input VI s setting must be compatible with those of the AveragingTvi2 This means that the chunk size of the input VI must have the same duration as the averaging VI Although the input VI and the averaging VI have the same the averaging VI will have fewer subchunks since N input subchunks will be averaged down to create a single output subchunk The input VI will also define the averaging boundaries by its definition of a chunk For if the input VI allows data with different scans to be in the same then they will potentially be averaged together The input VI must use the data description ID as a sort column so that a chunk will only contain data from a single DDID setting *void originChunks(casacore::Bool forceRewind=false)
Methods to control chunk iterator.
virtual casacore::Bool sigmaSpectrumExists() const
Determine whether SIGMA_SPECTRUM exists.
virtual void flagRow(casacore::Vector< casacore::Bool > &rowflags) const
Return row flag.
virtual void time(casacore::Vector< double > &t) const
Return MJD midpoint of interval.
virtual void timeInterval(casacore::Vector< double > &ti) const
Return nominal time interval.
AveragingParameters averagingParameters_p
const casacore::Double averagingInterval_p
virtual void flag(casacore::Cube< casacore::Bool > &flags) const
Return flag for each polarization, channel and row.
virtual void timeCentroid(casacore::Vector< double > &t) const
Return MJD centroid of interval.
casacore::Int endBuffer_p
virtual void visibilityModel(casacore::Cube< casacore::Complex > &vis) const
virtual void sigma(casacore::Matrix< casacore::Float > &sigmat) const
Return sigma.
VisBuffer2s encapsulate one chunk of visibility data for processing.
casacore::Bool more() const
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
void validateInputVi(ViImplementation2 *)
virtual casacore::String ViiType() const =0
Report the the ViImplementation type.
WeightScaling * weightScaling_p
String: the storage and methods of handling collections of characters.
casacore::Bool inputViiAdvanced_p
casacore::Bool inputExceedsUvwDistance(ms::MsRow *rowInput, avg::MsRowAvg *rowAveraged)
void origin()
+==================================+ | | | Iteration Control and Monitoring | | | +==================...
virtual void uvw(casacore::Matrix< double > &uvwmat) const
Return u,v and w (in meters)
virtual void antenna2(casacore::Vector< casacore::Int > &ant2) const
Return antenna2.
virtual void floatData(casacore::Cube< casacore::Float > &fcube) const
Return FLOAT_DATA as a casacore::Cube (npol, nchan, nrow) if found in the MS.
virtual void weight(casacore::Matrix< casacore::Float > &wtmat) const
Return weight.