casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
casa::MSAsRaster::MSpos_ Struct Reference

Public Member Functions

 MSpos_ (const MSAsRaster *msar)
 time-slot indices). More...
 
 MSpos_ (const MSAsRaster *msar, const casacore::Block< casacore::Int > &pos)
 Construct MSpos_ according to 5-element casacore::Block corresponding to a position within the internal hypercube. More...
 
void set (const casacore::Block< casacore::Int > &pos)
 Translation methods (for times, baselines, channels, spectral windows, and polarizations). More...
 
void sett (casacore::Int t)
 
void setb (casacore::Int b)
 
void sets (casacore::Int s)
 
void setc (casacore::Int c)
 
void setp (casacore::Int p)
 
casacore::Int t (casacore::Double tm)
 casacore::MS values to hypercube indices. More...
 
casacore::Int b (casacore::Int a1, casacore::Int a2)
 
casacore::Int b (casacore::Int fd)
 
casacore::Int s (casacore::Int sid)
 
casacore::Int c (casacore::Int ch)
 
casacore::Int c (casacore::Int sid, casacore::Int ch)
 
casacore::Int p (casacore::Int pid, casacore::Int pnm)
 
casacore::Int p0 (casacore::Int pid)
 
casacore::Int p0 ()
 
casacore::Int operator[] (Axis ax)
 
casacore::Int t ()
 
casacore::Int b ()
 
casacore::Int s ()
 
casacore::Int c ()
 
casacore::Int p ()
 

Public Attributes

casacore::Double time
 An MSpos_ holds information about a given position of interest within the main casacore::MS visibility Table. More...
 
casacore::Int ant1
 
casacore::Int ant2
 
casacore::Int feed
 
casacore::Int spwId
 
casacore::Int polId
 
casacore::Int chan
 
casacore::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). More...
 
casacore::Int ts
 MSAsRaster tables which it set up in findRanges_: nAnt_, time_, spwId_, freq_, polId_, etc. More...
 
casacore::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 casacore::Block< casacore::Int > &  pos 
)
inline

Construct MSpos_ according to 5-element casacore::Block corresponding to a position within the internal hypercube.

Definition at line 1051 of file MSAsRaster.h.

References set().

Member Function Documentation

casacore::Int casa::MSAsRaster::MSpos_::b ( casacore::Int  a1,
casacore::Int  a2 
)
inline

Definition at line 1082 of file MSAsRaster.h.

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

casacore::Int casa::MSAsRaster::MSpos_::b ( casacore::Int  fd)
inline

Definition at line 1088 of file MSAsRaster.h.

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

casacore::Int casa::MSAsRaster::MSpos_::b ( )

Referenced by b(), and operator[]().

casacore::Int casa::MSAsRaster::MSpos_::c ( casacore::Int  ch)
inline

Definition at line 1097 of file MSAsRaster.h.

References c(), and chan.

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

Definition at line 1101 of file MSAsRaster.h.

References c(), chan, and spwId.

casacore::Int casa::MSAsRaster::MSpos_::c ( )

Referenced by c(), and operator[]().

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

Definition at line 1106 of file MSAsRaster.h.

References p(), polId, and polName.

casacore::Int casa::MSAsRaster::MSpos_::p ( )

Referenced by operator[](), and p().

casacore::Int casa::MSAsRaster::MSpos_::p0 ( casacore::Int  pid)
inline

Definition at line 1111 of file MSAsRaster.h.

References p0(), and polId.

casacore::Int casa::MSAsRaster::MSpos_::p0 ( )
inline
casacore::Int casa::MSAsRaster::MSpos_::s ( casacore::Int  sid)
inline

Definition at line 1093 of file MSAsRaster.h.

References s(), and spwId.

casacore::Int casa::MSAsRaster::MSpos_::s ( )

Referenced by operator[](), and s().

void casa::MSAsRaster::MSpos_::set ( const casacore::Block< casacore::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 casacore::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.

Referenced by MSpos_().

void casa::MSAsRaster::MSpos_::setb ( casacore::Int  b)

Referenced by set().

void casa::MSAsRaster::MSpos_::setc ( casacore::Int  c)

Referenced by set().

void casa::MSAsRaster::MSpos_::setp ( casacore::Int  p)

Referenced by set().

void casa::MSAsRaster::MSpos_::sets ( casacore::Int  s)

Referenced by set().

void casa::MSAsRaster::MSpos_::sett ( casacore::Int  t)

Referenced by set().

casacore::Int casa::MSAsRaster::MSpos_::t ( casacore::Double  tm)
inline

casacore::MS values to hypercube indices.

Definition at line 1078 of file MSAsRaster.h.

References t(), and time.

casacore::Int casa::MSAsRaster::MSpos_::t ( )

Referenced by operator[](), and t().

Member Data Documentation

casacore::Int casa::MSAsRaster::MSpos_::ant1

Definition at line 1015 of file MSAsRaster.h.

Referenced by b().

casacore::Int casa::MSAsRaster::MSpos_::ant2

Definition at line 1015 of file MSAsRaster.h.

Referenced by b().

casacore::Int casa::MSAsRaster::MSpos_::chan

Definition at line 1015 of file MSAsRaster.h.

Referenced by c().

casacore::Int casa::MSAsRaster::MSpos_::feed

Definition at line 1015 of file MSAsRaster.h.

Referenced by b().

const MSAsRaster* casa::MSAsRaster::MSpos_::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).

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

casacore::Int casa::MSAsRaster::MSpos_::polId

Definition at line 1015 of file MSAsRaster.h.

Referenced by p(), and p0().

casacore::String casa::MSAsRaster::MSpos_::polName

Definition at line 1016 of file MSAsRaster.h.

Referenced by p().

casacore::Int casa::MSAsRaster::MSpos_::spwId

Definition at line 1015 of file MSAsRaster.h.

Referenced by c(), and s().

casacore::Int casa::MSAsRaster::MSpos_::te

Definition at line 1033 of file MSAsRaster.h.

casacore::Double casa::MSAsRaster::MSpos_::time

An MSpos_ holds information about a given position of interest within the main casacore::MS visibility Table.

Its data members are the values at that position as actually stored in the casacore::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 casacore::MS selection changes, MSAsRaster::findRanges_() computes several tables (time_, spwId_, freq_, polId_, nAnt_, etc.) which [re-]define the correspondence of casacore::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 casacore::MS data beyond what is currently selected.

Below is the real content of an MSpos_: data for a position within an casacore::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 casacore::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().

casacore::Int casa::MSAsRaster::MSpos_::ts

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: