casa
$Rev:20696$
|
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 943 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 998 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 1007 of file MSAsRaster.h.
Int casa::MSAsRaster::MSpos_::b | ( | Int | a1, |
Int | a2 | ||
) | [inline] |
Definition at line 1027 of file MSAsRaster.h.
References ant1, ant2, b(), feed, and casa::MSAsRaster::INVALID.
Referenced by b().
Int casa::MSAsRaster::MSpos_::b | ( | Int | fd | ) | [inline] |
Definition at line 1028 of file MSAsRaster.h.
References ant1, ant2, b(), feed, and casa::MSAsRaster::INVALID.
Referenced by b().
Referenced by operator[]().
Int casa::MSAsRaster::MSpos_::c | ( | Int | ch | ) | [inline] |
Int casa::MSAsRaster::MSpos_::c | ( | Int | sid, |
Int | ch | ||
) | [inline] |
Referenced by operator[]().
Definition at line 1039 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 | ( | Int | pid, |
Int | pnm | ||
) | [inline] |
Referenced by operator[]().
Int casa::MSAsRaster::MSpos_::p0 | ( | Int | pid | ) | [inline] |
Int casa::MSAsRaster::MSpos_::p0 | ( | ) | [inline] |
Definition at line 1035 of file MSAsRaster.h.
References casa::MSAsRaster::INVALID, m, casa::ArrayBase::nelements(), casa::MSAsRaster::pidBase_, and polId.
Int casa::MSAsRaster::MSpos_::s | ( | Int | sid | ) | [inline] |
Referenced by operator[]().
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 1017 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 | ( | Double | tm | ) | [inline] |
Referenced by operator[]().
Definition at line 971 of file MSAsRaster.h.
Referenced by b().
Definition at line 971 of file MSAsRaster.h.
Referenced by b().
Definition at line 971 of file MSAsRaster.h.
Referenced by c().
Definition at line 971 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 984 of file MSAsRaster.h.
Referenced by p0().
Definition at line 971 of file MSAsRaster.h.
Definition at line 972 of file MSAsRaster.h.
Referenced by p().
Definition at line 971 of file MSAsRaster.h.
Definition at line 989 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 970 of file MSAsRaster.h.
Referenced by t().
MSAsRaster tables which it set up in findRanges_: nAnt_, time_, spwId_, freq_, polId_, etc.
Definition at line 989 of file MSAsRaster.h.