CalIntpMatch.h

Classes

CalIntpMatch -- CalIntpMatch: a class to hold calibration interpolation index maps (full description)

class CalIntpMatch

Types

enum MatchType

MATCHING_ANT_SPW = 0
ANTENNA_ID and SPECTRAL_WINDOW_ID to match identically
SELECTION_MATCH = 1
Custom mapping between arbitrary visibility and calibration selections

Interface

Public Members
CalIntpMatch (const MatchType& matchType = MATCHING_ANT_SPW, const uInt& indexDim = 2)
virtual ~CalIntpMatch()
CalIntpMatch (const CalIntpMatch& other)
virtual CalIntpMatch& operator= (const CalIntpMatch& other)
void setType (const MatchType& matchType, const uInt& indexDim)
void setVisBuffer (VisBuffer& vb)
void setCalBuffer (CalMainBuffer& cb)
Int matchIndex (const Int& row, const uInt& pos)
Vector<Int> calRows (const Int& matchIndex, LogicalArray& calRowMask)
Private Members
void copy (const CalIntpMatch& other)
void free()
void reset()
void resetVisIndex()
void resetCalIndex()
Int matchOrAddKey (const Record& key)

Description

Prerequisite

Etymology

From "calibration", "interpolation index" and "match".

Synopsis

The CalIntpMatch class holds calibration interpolation index maps. These define which subset of calibration table rows are associated with any given visibility row, i.e. which data and calibration indices need to match in selecting calibration for a given visibility record. The map type is defined in terms of an enumerated set of possibilities, including for example, requiring an exact match between the antenna and spectral window id.'s. The most general interpolation map is defined by a matching set of synthesis selections (as defined by class MSSelection). The CalIntpMatch class has a match methods, matchIndex() and calRows() which determine, for associated calibration and visibility buffers, the calibration row mapping for a given visibility.

Example


 

Motivation

Encapsulate match operations for calibration and visibility data indices.

To Do

Member Description

enum MatchType

Basic interpolation index match type

CalIntpMatch (const MatchType& matchType = MATCHING_ANT_SPW, const uInt& indexDim = 2)

Construct from an index match type and an index dimension. The index dimension is one for baseline-based calibration and two for antenna-based calibration.

virtual ~CalIntpMatch()

Destructor

CalIntpMatch (const CalIntpMatch& other)

Copy constructor and assignment operator

virtual CalIntpMatch& operator= (const CalIntpMatch& other)

void setType (const MatchType& matchType, const uInt& indexDim)

Reset the mapping type

void setVisBuffer (VisBuffer& vb)

Add a selection mapping (NYI) void add (const MSSelection& msIndex, const MSSelection& calIndex);

Set the current visibility buffer to be used in interpolation matches

void setCalBuffer (CalMainBuffer& cb)

Set the current calibration buffer to be used in interpolation matches

Int matchIndex (const Int& row, const uInt& pos)

Return the match index for a given visibility buffer row and offset position (0,1)

Vector<Int> calRows (const Int& matchIndex, LogicalArray& calRowMask)

Return the calibration buffer rows (and equivalent row mask) associated with a given match index

void copy (const CalIntpMatch& other)

Common code for the assignment operator and the copy constructor

void free()

void reset()

Reset functions for the local index mappings

void resetVisIndex()

void resetCalIndex()

Int matchOrAddKey (const Record& key)

Match index keys