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 987 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 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.


Member Function Documentation

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.

References c(), chan, and spwId.

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

Definition at line 1097 of file MSAsRaster.h.

References c(), and chan.

Int casa::MSAsRaster::MSpos_::operator[] ( Axis  ax  )  [inline]
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.

References p(), polId, and polName.

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.

References p0(), and polId.

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.

References s(), and spwId.

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.

References t(), and time.


Member Data Documentation

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.

Referenced by p(), and p0().

Definition at line 1016 of file MSAsRaster.h.

Referenced by p().

Definition at line 1015 of file MSAsRaster.h.

Referenced by c(), and s().

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.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1