Public Member Functions | |
MSpos_ (const MSAsRaster *msar) | |
time-slot indices). | |
MSpos_ (const MSAsRaster *msar, const Block< Int > &pos) | |
Construct MSpos_ according to 5-element Block corresponding to a position within the internal hypercube. | |
void | set (const Block< Int > &pos) |
Translation methods (for times, baselines, channels, spectral windows, and polarizations). | |
void | sett (Int t) |
void | setb (Int b) |
void | sets (Int s) |
void | setc (Int c) |
void | setp (Int p) |
Int | t (Double tm) |
MS values to hypercube indices. | |
Int | b (Int a1, Int a2) |
Int | b (Int fd) |
Int | s (Int sid) |
Int | c (Int ch) |
Int | c (Int sid, Int ch) |
Int | p (Int pid, Int pnm) |
Int | p0 (Int pid) |
Int | p0 () |
Int | operator[] (Axis ax) |
Int | t () |
Int | b () |
Int | s () |
Int | c () |
Int | p () |
Public Attributes | |
Double | time |
An MSpos_ holds information about a given position of interest within the main MS visibility Table. | |
Int | ant1 |
Int | ant2 |
Int | feed |
Int | spwId |
Int | polId |
Int | chan |
String | polName |
const MSAsRaster * | m |
IMO, a _nested_ struct/class should have visibility (and access permission(?)) into the nesting class, but it doesn't (except, rather oddly, for the static consts of MSAsRaster: TIME, NAXES, etc., which are directly in scope and accessible here). | |
Int | ts |
MSAsRaster tables which it set up in findRanges_: nAnt_, time_, spwId_, freq_, polId_, etc. | |
Int | te |
Definition at line 987 of file MSAsRaster.h.
casa::MSAsRaster::MSpos_::MSpos_ | ( | const MSAsRaster * | msar | ) | [inline] |
time-slot indices).
When t() returns INVALID (time not found) they are the bracketing time slots, i.e. ts+1==te and (where ts or te are in timeslot range) time_[ts] < time < time_[te].
Construct MSpos_ with no valid values set (yet).
Definition at line 1042 of file MSAsRaster.h.
casa::MSAsRaster::MSpos_::MSpos_ | ( | const MSAsRaster * | msar, | |
const Block< Int > & | pos | |||
) | [inline] |
Construct MSpos_ according to 5-element Block corresponding to a position within the internal hypercube.
Definition at line 1051 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::b | ( | ) |
Referenced by b(), and operator[]().
Int casa::MSAsRaster::MSpos_::b | ( | Int | fd | ) | [inline] |
Definition at line 1088 of file MSAsRaster.h.
References ant1, ant2, b(), feed, and casa::MSAsRaster::INVALID.
Int casa::MSAsRaster::MSpos_::b | ( | Int | a1, | |
Int | a2 | |||
) | [inline] |
Definition at line 1082 of file MSAsRaster.h.
References ant1, ant2, b(), feed, and casa::MSAsRaster::INVALID.
Int casa::MSAsRaster::MSpos_::c | ( | ) |
Referenced by c(), and operator[]().
Int casa::MSAsRaster::MSpos_::c | ( | Int | sid, | |
Int | ch | |||
) | [inline] |
Definition at line 1101 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::c | ( | Int | ch | ) | [inline] |
Definition at line 1097 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::operator[] | ( | Axis | ax | ) | [inline] |
Definition at line 1121 of file MSAsRaster.h.
References b(), casa::MSAsRaster::BASELN, c(), casa::MSAsRaster::CHAN, casa::MSAsRaster::INVALID, p(), casa::MSAsRaster::POL, s(), casa::MSAsRaster::SP_W, t(), and casa::MSAsRaster::TIME.
Int casa::MSAsRaster::MSpos_::p | ( | ) |
Referenced by operator[](), and p().
Int casa::MSAsRaster::MSpos_::p | ( | Int | pid, | |
Int | pnm | |||
) | [inline] |
Definition at line 1106 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::p0 | ( | ) | [inline] |
Definition at line 1116 of file MSAsRaster.h.
References casa::MSAsRaster::INVALID, m, casa::MSAsRaster::pidBase_, and polId.
Referenced by p0().
Int casa::MSAsRaster::MSpos_::p0 | ( | Int | pid | ) | [inline] |
Definition at line 1111 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::s | ( | ) |
Referenced by operator[](), and s().
Int casa::MSAsRaster::MSpos_::s | ( | Int | sid | ) | [inline] |
Definition at line 1093 of file MSAsRaster.h.
void casa::MSAsRaster::MSpos_::set | ( | const Block< Int > & | pos | ) | [inline] |
Translation methods (for times, baselines, channels, spectral windows, and polarizations).
All but the last seven set MSpos_ state to the appropriate values as stored in the MS.
hypercube indices to MS values
Definition at line 1062 of file MSAsRaster.h.
References casa::MSAsRaster::BASELN, casa::MSAsRaster::CHAN, casa::MSAsRaster::POL, setb(), setc(), setp(), sets(), sett(), casa::MSAsRaster::SP_W, and casa::MSAsRaster::TIME.
void casa::MSAsRaster::MSpos_::setb | ( | Int | b | ) |
Referenced by set().
void casa::MSAsRaster::MSpos_::setc | ( | Int | c | ) |
Referenced by set().
void casa::MSAsRaster::MSpos_::setp | ( | Int | p | ) |
Referenced by set().
void casa::MSAsRaster::MSpos_::sets | ( | Int | s | ) |
Referenced by set().
void casa::MSAsRaster::MSpos_::sett | ( | Int | t | ) |
Referenced by set().
Int casa::MSAsRaster::MSpos_::t | ( | ) |
Referenced by operator[](), and t().
Int casa::MSAsRaster::MSpos_::t | ( | Double | tm | ) | [inline] |
MS values to hypercube indices.
Definition at line 1078 of file MSAsRaster.h.
Definition at line 1015 of file MSAsRaster.h.
Referenced by b().
Definition at line 1015 of file MSAsRaster.h.
Referenced by b().
Definition at line 1015 of file MSAsRaster.h.
Referenced by c().
Definition at line 1015 of file MSAsRaster.h.
Referenced by b().
IMO, a _nested_ struct/class should have visibility (and access permission(?)) into the nesting class, but it doesn't (except, rather oddly, for the static consts of MSAsRaster: TIME, NAXES, etc., which are directly in scope and accessible here).
Hence the need to have a pointer to the nesting object and for it to declare this class a friend. The nesting class's 'this' should be available implicitly to this class instead. As is, it's rather clumsy to implement classes/structs that are purely in support of another class...\.
Definition at line 1028 of file MSAsRaster.h.
Referenced by p0().
Definition at line 1015 of file MSAsRaster.h.
Definition at line 1016 of file MSAsRaster.h.
Referenced by p().
Definition at line 1015 of file MSAsRaster.h.
Definition at line 1033 of file MSAsRaster.h.
An MSpos_ holds information about a given position of interest within the main MS visibility Table.
Its data members are the values at that position as actually stored in the MS (times, antennas, etc.); these can be freely set and queried by MSAsRaster, the only user of this struct. It provides translation between these values and the hypercube indices (pos_) used internally. It was time to quit performing these translations ad hoc and consolidate them here (3/04). (Still to do: use this instead of old ad hoc methods in, e.g., showPosition()).
When MS selection changes, MSAsRaster::findRanges_() computes several tables (time_, spwId_, freq_, polId_, nAnt_, etc.) which [re-]define the correspondence of MS data to hypercube positions. An MSpos_ set up prior to this change can be queried afterward as to the data's position (if any) in the new hypercube. It is also useful in determining whether flagging edits (which are stored in terms of hypercube positions) apply to MS data beyond what is currently selected.
Below is the real content of an MSpos_: data for a position within an MS in terms of the values actually stored there. Note that, in its current version, MSAsRaster assumes that this data uniquely determines a visibility-and-flag within the MS (and feed is not considered either, when there is more than one antenna).
Definition at line 1014 of file MSAsRaster.h.
Referenced by t().
MSAsRaster tables which it set up in findRanges_: nAnt_, time_, spwId_, freq_, polId_, etc.
Definition at line 1033 of file MSAsRaster.h.