#include <AveragingTvi2.h>
Public Member Functions | |
AveragingTvi2 (ViImplementation2 *inputVii, const AveragingParameters &averagingParameters) | |
~AveragingTvi2 () | |
virtual String | ViiType () const |
Report the the ViImplementation type. | |
Chunk Subchunk structure in the AveragingTvi2 The averaging in is specified at construction time The | interval (i.e., the size of the chunk in time) is also specified at creation time |
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 (Bool forceRewind=False) |
Methods to control chunk iterator. | |
void | nextChunk () |
Bool | moreChunks () const |
void | origin () |
+==================================+ | | | Iteration Control and Monitoring | | | +==================================+ | |
void | next () |
Bool | more () const |
void | writeFlag (const Cube< Bool > &flag) |
Write/modify the flags in the data. | |
void | writeFlagRow (const Vector< Bool > &rowflags) |
Write/modify the flag row column; dimension Vector (nrow). | |
Static Public Member Functions | |
static Float | weightToSigma (Float weight) |
static Float | sigmaToWeight (Float sigma) |
static Vector< Float > | average (const Matrix< Float > &data, const Matrix< Bool > &flags) |
static Matrix< Float > | average (const Cube< Float > &data, const Cube< Bool > &flags) |
Public Attributes | |
Chunk Subchunk structure in the AveragingTvi2 The averaging | interval |
Chunk Subchunk structure in the AveragingTvi2 The averaging in | seconds |
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 | duration |
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 | example |
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 | chunk |
Protected Member Functions | |
void | advanceInputVii () |
Int | determineDdidToUse () const |
Bool | inputExceedsTimeDistance (ms::MsRow *rowInput, avg::MsRowAvg *rowAveraged) |
Bool | inputExceedsUvwDistance (ms::MsRow *rowInput, avg::MsRowAvg *rowAveraged) |
void | produceSubchunk () |
void | processInputSubchunk (const VisBuffer2 *) |
Bool | reachedAveragingBoundary () |
void | captureIterationInfo (const VisBuffer2 *vb2) |
bool | subchunksReady () const |
void | validateInputVi (ViImplementation2 *) |
Private Attributes | |
const Double | averagingInterval_p |
AveragingOptions | averagingOptions_p |
AveragingParameters | averagingParameters_p |
Int | ddidLastUsed_p |
Bool | inputViiAdvanced_p |
Bool | more_p |
Subchunk | subchunk_p |
Bool | subchunkExists_p |
avg::VbAvg * | vbAvg_p |
WeightScaling * | weightScaling_p |
Int | startBuffer_p |
Int | endBuffer_p |
Definition at line 28 of file AveragingTvi2.h.
casa::vi::AveragingTvi2::AveragingTvi2 | ( | ViImplementation2 * | inputVii, | |
const AveragingParameters & | averagingParameters | |||
) |
casa::vi::AveragingTvi2::~AveragingTvi2 | ( | ) |
void casa::vi::AveragingTvi2::advanceInputVii | ( | ) | [protected] |
static Matrix<Float> casa::vi::AveragingTvi2::average | ( | const Cube< Float > & | data, | |
const Cube< Bool > & | flags | |||
) | [static] |
static Vector<Float> casa::vi::AveragingTvi2::average | ( | const Matrix< Float > & | data, | |
const Matrix< Bool > & | flags | |||
) | [static] |
void casa::vi::AveragingTvi2::captureIterationInfo | ( | const VisBuffer2 * | vb2 | ) | [protected] |
Int casa::vi::AveragingTvi2::determineDdidToUse | ( | ) | const [protected] |
Bool casa::vi::AveragingTvi2::inputExceedsTimeDistance | ( | ms::MsRow * | rowInput, | |
avg::MsRowAvg * | rowAveraged | |||
) | [protected] |
Bool casa::vi::AveragingTvi2::inputExceedsUvwDistance | ( | ms::MsRow * | rowInput, | |
avg::MsRowAvg * | rowAveraged | |||
) | [protected] |
Chunk Subchunk structure in the AveragingTvi2 The averaging in is specified at construction time The casa::vi::AveragingTvi2::interval | ( | i. | e., | |
the size of the chunk in | time | |||
) |
Bool casa::vi::AveragingTvi2::more | ( | ) | const [virtual] |
Reimplemented from casa::vi::TransformingVi2.
Bool casa::vi::AveragingTvi2::moreChunks | ( | ) | const [virtual] |
Reimplemented from casa::vi::TransformingVi2.
void casa::vi::AveragingTvi2::next | ( | ) | [virtual] |
Reimplemented from casa::vi::TransformingVi2.
void casa::vi::AveragingTvi2::nextChunk | ( | ) | [virtual] |
Reimplemented from casa::vi::TransformingVi2.
void casa::vi::AveragingTvi2::origin | ( | ) | [virtual] |
+==================================+ | | | Iteration Control and Monitoring | | | +==================================+
Methods to control and monitor subchunk iteration
Reimplemented from casa::vi::TransformingVi2.
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 casa::vi::AveragingTvi2::originChunks | ( | Bool | forceRewind = False |
) | [virtual] |
void casa::vi::AveragingTvi2::processInputSubchunk | ( | const VisBuffer2 * | ) | [protected] |
void casa::vi::AveragingTvi2::produceSubchunk | ( | ) | [protected] |
Bool casa::vi::AveragingTvi2::reachedAveragingBoundary | ( | ) | [protected] |
static Float casa::vi::AveragingTvi2::sigmaToWeight | ( | Float | sigma | ) | [inline, static] |
Definition at line 75 of file AveragingTvi2.h.
bool casa::vi::AveragingTvi2::subchunksReady | ( | ) | const [protected] |
void casa::vi::AveragingTvi2::validateInputVi | ( | ViImplementation2 * | ) | [protected] |
virtual String casa::vi::AveragingTvi2::ViiType | ( | ) | const [inline, virtual] |
Report the the ViImplementation type.
Reimplemented from casa::vi::TransformingVi2.
Definition at line 37 of file AveragingTvi2.h.
References casa::vi::TransformingVi2::getVii(), String, and casa::vi::ViImplementation2::ViiType().
static Float casa::vi::AveragingTvi2::weightToSigma | ( | Float | weight | ) | [static] |
void casa::vi::AveragingTvi2::writeFlag | ( | const Cube< Bool > & | flag | ) | [virtual] |
Write/modify the flags in the data.
This writes the flags as found in the MS, Cube (npol,nchan,nrow), where nrow is the number of rows in the current iteration (given by nRow ()).
Reimplemented from casa::vi::TransformingVi2.
void casa::vi::AveragingTvi2::writeFlagRow | ( | const Vector< Bool > & | rowflags | ) | [virtual] |
Write/modify the flag row column; dimension Vector (nrow).
Reimplemented from casa::vi::TransformingVi2.
const Double casa::vi::AveragingTvi2::averagingInterval_p [private] |
Definition at line 99 of file AveragingTvi2.h.
Definition at line 100 of file AveragingTvi2.h.
Definition at line 101 of file AveragingTvi2.h.
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 casa::vi::AveragingTvi2::chunk |
Definition at line 51 of file AveragingTvi2.h.
Int casa::vi::AveragingTvi2::ddidLastUsed_p [private] |
Definition at line 102 of file AveragingTvi2.h.
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 casa::vi::AveragingTvi2::duration |
Definition at line 51 of file AveragingTvi2.h.
Int casa::vi::AveragingTvi2::endBuffer_p [private] |
Definition at line 110 of file AveragingTvi2.h.
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 casa::vi::AveragingTvi2::example |
Definition at line 51 of file AveragingTvi2.h.
Bool casa::vi::AveragingTvi2::inputViiAdvanced_p [private] |
Definition at line 103 of file AveragingTvi2.h.
Chunk Subchunk structure in the AveragingTvi2 The averaging casa::vi::AveragingTvi2::interval |
Definition at line 37 of file AveragingTvi2.h.
Bool casa::vi::AveragingTvi2::more_p [private] |
Definition at line 104 of file AveragingTvi2.h.
Chunk Subchunk structure in the AveragingTvi2 The averaging in casa::vi::AveragingTvi2::seconds |
Definition at line 37 of file AveragingTvi2.h.
Int casa::vi::AveragingTvi2::startBuffer_p [private] |
Definition at line 109 of file AveragingTvi2.h.
Subchunk casa::vi::AveragingTvi2::subchunk_p [private] |
Definition at line 105 of file AveragingTvi2.h.
Bool casa::vi::AveragingTvi2::subchunkExists_p [private] |
Definition at line 106 of file AveragingTvi2.h.
avg::VbAvg* casa::vi::AveragingTvi2::vbAvg_p [private] |
Definition at line 107 of file AveragingTvi2.h.
Reimplemented from casa::vi::TransformingVi2.
Definition at line 108 of file AveragingTvi2.h.