casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
casa::MSAsRaster::MSpos_ Struct Reference

List of all members.

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 MSAsRasterm
 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

Detailed Description

Definition at line 943 of file MSAsRaster.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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().

Definition at line 1028 of file MSAsRaster.h.

References ant1, ant2, b(), feed, and casa::MSAsRaster::INVALID.

Referenced by b().

Referenced by operator[]().

Definition at line 1030 of file MSAsRaster.h.

References c(), and chan.

Referenced by c().

Int casa::MSAsRaster::MSpos_::c ( Int  sid,
Int  ch 
) [inline]

Definition at line 1031 of file MSAsRaster.h.

References c(), chan, and spwId.

Referenced by c().

Referenced by operator[]().

Int casa::MSAsRaster::MSpos_::operator[] ( Axis  ax) [inline]
Int casa::MSAsRaster::MSpos_::p ( Int  pid,
Int  pnm 
) [inline]

Definition at line 1032 of file MSAsRaster.h.

References p(), polId, and polName.

Referenced by p().

Referenced by operator[]().

Definition at line 1033 of file MSAsRaster.h.

References p0(), and polId.

Referenced by p0().

Int casa::MSAsRaster::MSpos_::s ( Int  sid) [inline]

Definition at line 1029 of file MSAsRaster.h.

References s(), and spwId.

Referenced by s().

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.

Referenced by set().

Referenced by set().

Referenced by set().

Referenced by set().

Referenced by set().

MS values to hypercube indices.

Definition at line 1026 of file MSAsRaster.h.

References t(), and time.

Referenced by t().

Referenced by operator[]().


Member Data Documentation

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.

Referenced by p(), and p0().

Definition at line 972 of file MSAsRaster.h.

Referenced by p().

Definition at line 971 of file MSAsRaster.h.

Referenced by c(), and s().

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.


The documentation for this struct was generated from the following file: