- ... specification1
- MSSelection module is currently
used to only parse the channel selection expression to produce the
START,STOP,STEP tuples. No channel based selection is actually
applied to the data. The list of tuples per SPW is passed to the
application program layer and the interpretation of the tuples for
actual selection depends on the application programmer.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... data2
- The
combined main-table descriptor for spectral windows and polarization
is the Data Description ID (DDID). DDID represents a two-level
indirection based on the the Spectral Window and Polarization
sub-tables (which are the real astro-physically relevant parameters
of the database).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...[SPW:]POL3
- A full specification of the
type [[POLID:][SPWID:]POL or [DDID::]POL will be
implemented in future.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...=INT"4
- Programmers note:
The getScanList() (getSubArrayList() for sub-arrays) method will
return the list generated from INT,INT,... or INT
INT or "
INT"
specification. For "
INT" specification, the returned list will be
number from INT part of "
INT" upto the maxScans (maxArrays for
sub-arrays) set via MSSelection::setMaxScan()
(MSSelection::setMaxArray() for sub-arrays). The default value of
maxScans/maxArrays is std::standard_limits
int
::max()
(i.e. the maximum value an integer can take on a machine). It is done
this way since there is no efficient way of generating a list of
SCAN/ARRAY IDs present in the data and "
INT" is an unbounded list
of integers. The list of scans IDs in the data can be probably
generated using the MSRange class - but I think it can be quite
expensive. So if it is necessary to know the precise list of scans
selected using the "
INT" specification, the application programs
will have to use MSRange class to get the range in the data. An
intersection of the list from MSRange and the list from
MSSelection.getScanList() will be the actual selected scans
(intersection of two CASA vectors can be done using the
set_intersection() global method in MSSelectionTools.h).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.