28 #ifndef PLOTMSVBAVERAGER_H
29 #define PLOTMSVBAVERAGER_H
void convertToAP(casacore::Cube< casacore::Complex > &d)
Convert r/i to a/p.
void antAccumulate(vi::VisBuffer2 &vb)
vi::VisBuffer2 * avBuf_p
Accumulation buffer.
void finalizeAverage()
Finalize averaging.
void simpAccumulate(vi::VisBuffer2 &vb)
Different accumulate versions.
casacore::Vector< casacore::Int > stateid_
casacore::Int baseline(const casacore::Int &ant1, const casacore::Int &ant2)
Hash function to return the row offset for an interferometer (ant1, ant2)
PlotMSVBAverager & operator=(const PlotMSVBAverager &)
casacore::Vector< casacore::Double > avgTimeInterval_
casacore::Int & prtlev()
Diagnostic printing level.
casacore::Bool antAve_p
Are we averaging antennas together?
casacore::Int prtlev_
Diagnostic print level.
void setBlnAveraging(casacore::Bool doBln)
Set up baseline averaging.
casacore::Cube< casacore::Complex > avgVisCube_
Mutable arrays, set in avBuf_p when finalized.
casacore::Vector< casacore::Int > spw_
casacore::Vector< casacore::Int > obsid_
casacore::Bool chanIndepWt_p
Weights in input VBs are chan-independent.
casacore::Vector< casacore::Int > jcor_p
Correlation list for cross-hand swapping.
A class to average VisBuffers for PlotMS.
vi::VisBuffer2 & aveVisBuff()
Return a reference to the result.
casacore::Cube< casacore::Bool > avgFlagCube_
PlotMSVBAverager()
Prohibit null constructor, copy constructor and assignment for now.
void setAntAveraging(casacore::Bool doAnt)
Set up antenna averaging.
~PlotMSVBAverager()
Null destructor.
casacore::Int nAnt_p
Number of antennas, correlations, and channels.
void fillIds(casacore::Int nrows)
fill vector that is resized larger
casacore::Vector< casacore::Bool > avgFlagRow_
casacore::Bool inCoh_p
Are we incoherently (scalar) averaging?
casacore::Double aveTime_p
casacore::Vector< casacore::Int > avgAntenna1_
casacore::Double maxTime_p
bool Bool
Define the standard types used by Casacore.
casacore::Vector< casacore::Int > fieldid_
Need to resize these in final avBuf.
casacore::Vector< casacore::Int > avgAntenna2_
casacore::Cube< casacore::Float > avgFloatCube_
casacore::Cube< casacore::Float > avgWeight_
casacore::Bool initialized_p
Keep track of initialization state.
casacore::Double minTime_p
casacore::Vector< casacore::Int > avgScan_
casacore::Double vbWtSum_p
casacore::Cube< casacore::Complex > avgModelCube_
void verifyCrosshands(vi::VisBuffer2 &vb)
Verify zero or two crosshands present (if antAve_p)
casacore::Vector< casacore::Double > blnWtSum_p
VisBuffer2s encapsulate one chunk of visibility data for processing.
casacore::Cube< casacore::Complex > avgCorrectedCube_
void accumulate(vi::VisBuffer2 &vb)
Accumulate a VisBuffer.
casacore::Vector< casacore::Bool > blnOK_p
Validation by baseline (if false, no attempt to accumulate this baseline)
void setScalarAve(casacore::Bool doScalar)
Set scalar averaging flag.
void setNoData()
Control which data column to average.
casacore::Double aveInterval_p
casacore::Matrix< casacore::Double > avgUvw_
casacore::Vector< casacore::Double > avgTime_
casacore::Bool doVC_p
Optional averaging triggers.
casacore::Double timeRef_p
Accumulation helpers...
void initialize(vi::VisBuffer2 &vb)
Initialize the next accumulation interval.
casacore::Bool blnAve_p
Are we averaging baselines together?