casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
casa::MSPolnParse Class Reference

Class to hold values from field grammar parser. More...

#include <MSPolnParse.h>

Inheritance diagram for casa::MSPolnParse:
casa::MSParse

List of all members.

Public Member Functions

 MSPolnParse ()
 Default constructor.
 MSPolnParse (const MeasurementSet *ms)
 ~MSPolnParse() {cleanup();};
const TableExprNode selectFromIDList (const Vector< Int > &ddIDs)
const TableExprNode node ()
 Get table expression node object.
void reset ()
 static MSPolnParse* thisMSSParser;
void cleanup ()
Int theParser (const String &command)
OrderedMap< Int, Vector< Int > > selectedPolnMap ()
 Vector<Int>& selectedDDIDs, Matrix<Int>& selectedSpwPolnMap);.
OrderedMap< Int, Vector
< Vector< Int > > > 
selectedSetupMap ()
Vector< IntselectedDDIDs ()

Private Member Functions

Vector< IntgetMapToDDIDs (MSDataDescIndex &msDDNdx, MSPolarizationIndex &msPolNdx, const Vector< Int > &spwIDs, Vector< Int > &polnIDs, Vector< Int > &polIndices)
Vector< IntmatchPolIDsToPolTableRow (const Vector< Int > &polIds, OrderedMap< Int, Vector< Int > > &polIndexMap, Vector< Int > &polIndices, Bool addToMap=False)
Vector< IntgetPolnIDs (const String &polSpec, Vector< Int > &polIndices)
Vector< IntgetPolnIndices (const Int &polnID, const Vector< Int > &polnIDList)
Vector< IntgetPolnIDsV2 (const String &polSpec, Vector< Int > &polTypes)
 These are the versions used in the code.
Vector< IntgetMapToDDIDsV2 (const String &polExpr, const Vector< Int > &spwIDs, Vector< Int > &polnIDs, Vector< Int > &polnIndices)
void setIDLists (const Int key, const Int ndx, Vector< Int > &val)

Private Attributes

TableExprNode node_p
Vector< IntddIDList_p
OrderedMap< Int, Vector< Int > > polMap_p
OrderedMap< Int, Vector
< Vector< Int > > > 
setupMap_p

Detailed Description

Class to hold values from field grammar parser.

Intended use:

Internal

Etymology

MSPolnParse is the class used to parse a polarization selection command.

Synopsis

MSPolnParse is used by the parser of polarization sub-expression statements of the type [SPW:]POLN. Since this is a relatively simple expression to tokenize and parse, this parser is written without Bison or Flex. The methods of this class take an expression, and internally generate a list of the Data Description IDs that should be used to select the rows in the MS main table. The map of Polarization IDs (row numbers in the POLARIZATION sub-table) and the list of indices to be used to pick the user selected polarzation data (in the DATA columns of the MS main table) is also generated. This map is intended to be used along with the map of SPW and selected channels to apply the in-row selection (Slice on the data columns).

Motivation

It is necessary to be able to give a data selection command in ASCII. This can be used in a CLI or in the table browser to get a subset of a table or to sort a table.

Definition at line 90 of file MSPolnParse.h.


Constructor & Destructor Documentation

Default constructor.

~MSPolnParse() {cleanup();};

Associate the ms and the shorthand.


Member Function Documentation

void casa::MSPolnParse::cleanup ( ) [inline]

Definition at line 106 of file MSPolnParse.h.

Vector<Int> casa::MSPolnParse::getMapToDDIDs ( MSDataDescIndex msDDNdx,
MSPolarizationIndex msPolNdx,
const Vector< Int > &  spwIDs,
Vector< Int > &  polnIDs,
Vector< Int > &  polIndices 
) [private]
Vector<Int> casa::MSPolnParse::getMapToDDIDsV2 ( const String polExpr,
const Vector< Int > &  spwIDs,
Vector< Int > &  polnIDs,
Vector< Int > &  polnIndices 
) [private]
Vector<Int> casa::MSPolnParse::getPolnIDs ( const String polSpec,
Vector< Int > &  polIndices 
) [private]
Vector<Int> casa::MSPolnParse::getPolnIDsV2 ( const String polSpec,
Vector< Int > &  polTypes 
) [private]

These are the versions used in the code.

Vector<Int> casa::MSPolnParse::getPolnIndices ( const Int polnID,
const Vector< Int > &  polnIDList 
) [private]
Vector<Int> casa::MSPolnParse::matchPolIDsToPolTableRow ( const Vector< Int > &  polIds,
OrderedMap< Int, Vector< Int > > &  polIndexMap,
Vector< Int > &  polIndices,
Bool  addToMap = False 
) [private]

Get table expression node object.

void casa::MSPolnParse::reset ( ) [inline]

static MSPolnParse* thisMSSParser;

Definition at line 105 of file MSPolnParse.h.

References casa::Map< key, value >::clear(), ddIDList_p, polMap_p, and casa::Vector< T >::resize().

Definition at line 112 of file MSPolnParse.h.

References ddIDList_p.

Vector<Int>& selectedDDIDs, Matrix<Int>& selectedSpwPolnMap);.

Definition at line 110 of file MSPolnParse.h.

References polMap_p.

Definition at line 111 of file MSPolnParse.h.

References setupMap_p.

void casa::MSPolnParse::setIDLists ( const Int  key,
const Int  ndx,
Vector< Int > &  val 
) [private]
Int casa::MSPolnParse::theParser ( const String command)

Member Data Documentation

Definition at line 131 of file MSPolnParse.h.

Referenced by reset(), and selectedDDIDs().

Definition at line 130 of file MSPolnParse.h.

Definition at line 132 of file MSPolnParse.h.

Referenced by reset(), and selectedPolnMap().

Definition at line 133 of file MSPolnParse.h.

Referenced by selectedSetupMap().


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