casacore
|
Class to hold values from antenna grammar parser. More...
#include <MSAntennaParse.h>
Public Types | |
enum | BaselineListType { AutoCorrOnly, AutoCorrAlso, CrossOnly } |
Define the operator types (&&&, &&, and &). More... | |
enum | ComplexityLevels { RESET, ANTREGEX, ANTLIST, STATIONREGEX, STATIONLIST, ANTATSTATIONLIST, BASELINELIST, HIGHESTLEVEL } |
Public Member Functions | |
MSAntennaParse () | |
Default constructor. More... | |
MSAntennaParse (const MeasurementSet *ms) | |
Associate the ms. More... | |
MSAntennaParse (const MSAntenna &antSubTable, const TableExprNode &ant1AsTEN, const TableExprNode &ant2AsTEN) | |
~MSAntennaParse () | |
const TableExprNode * | selectAntennaIds (const Vector< Int > &antennaIds, BaselineListType baselineType=CrossOnly, Bool negate=False) |
Add the given antennae selection. More... | |
const TableExprNode * | selectAntennaIds (const Vector< Int > &antennaIds1, const Vector< Int > &antennaIds2, BaselineListType baselineType=CrossOnly, Bool negate=False) |
Add the given baseline selection. More... | |
const TableExprNode * | selectNameOrStation (const Vector< String > &antenna, BaselineListType baselineType=CrossOnly, Bool negate=False) |
Select by name or station number. More... | |
const TableExprNode * | selectNameOrStation (const Vector< String > &antenna1, const Vector< String > &antenna2, BaselineListType baselineType=CrossOnly, Bool negate=False) |
const TableExprNode * | selectNameOrStation (const String &antenna1, const String &antenna2, BaselineListType baselineType=CrossOnly, Bool negate=False) |
const TableExprNode * | selectBLRegex (const std::vector< String > &lengths, Bool negate=False) |
Selection on baseline regex. More... | |
const TableExprNode * | selectLength (const std::vector< double > &lengths, Bool negate=False) |
Selection on baseline length. More... | |
TableExprNode | node () const |
Get a pointer to the table expression node object. More... | |
const Vector< Int > & | selectedAnt1 () const |
const Vector< Int > & | selectedAnt2 () const |
const Matrix< Int > & | selectedBaselines () const |
void | setComplexity (const ComplexityLevels &level=RESET) |
std::bitset< HIGHESTLEVEL > | getComplexity () |
MSAntenna & | subTable () |
Public Member Functions inherited from casacore::MSParse | |
MSParse () | |
Default constructor for List container class. More... | |
MSParse (const MSParse &) | |
Copy constructor (copy semantics). More... | |
~MSParse () | |
MSParse & | operator= (const MSParse &) |
Assignment (copy semantics). More... | |
MSParse (const MeasurementSet *ms, const String &shorthand) | |
Associate the ms and the shorthand. More... | |
MSParse (const MSSelectableTable *ms, const String &shorthand) | |
Associate the ms and the shorthand. More... | |
Bool | test (const String &shortHand) const |
Test if shorthand matches. More... | |
String & | shorthand () |
Get the shorthand. More... | |
MeasurementSet * | ms () |
Get ms object. More... | |
MSSelectableTable * | msInterface () |
Get ms object. More... | |
void | setMS (MeasurementSet *ms) |
void | setMSInterface (MSSelectableTable *msI) |
void | addCondition (TableExprNode &target, TableExprNode &source) |
Static Public Member Functions | |
static double | getUnitFactor (const char *unit) |
Get the factor to convert the given unit to m. More... | |
static void | cleanupErrorHandler () |
Public Attributes | |
std::bitset< HIGHESTLEVEL > | complexity |
Static Public Attributes | |
static MSAntennaParse * | thisMSAParser |
static CountedPtr < MSSelectionErrorHandler > | thisMSAErrorHandler |
Static Public Attributes inherited from casacore::MSParse | |
static MeasurementSet * | ms_p |
static MSSelectableTable * | msInterface_p |
Private Member Functions | |
const TableExprNode * | makeBLNode (const Matrix< Bool > &match, Bool negate) |
const TableExprNode * | setTEN (TableExprNode &condition, BaselineListType baselineType=CrossOnly, Bool negate=False) |
Matrix< double > | getBaselineLengths () |
void | makeBaselineList (const Vector< Int > &a1, const Vector< Int > &a2, Matrix< Int > &b, BaselineListType baselineType=CrossOnly, Bool negate=False) |
void | makeAntennaList (Vector< Int > &antList, const Vector< Int > &thisList, Bool negate=False) |
Bool | addBaseline (const Matrix< Int > &baselist, const Int ant1, const Int ant2, BaselineListType baselineType=CrossOnly) |
Private Attributes | |
TableExprNode | node_p |
const String | colName1 |
const String | colName2 |
Vector< Int > | ant1List |
Vector< Int > | ant2List |
Matrix< Int > | baselineList |
MSAntenna | msSubTable_p |
Static Private Attributes | |
static TableExprNode | column1AsTEN_p |
static TableExprNode | column2AsTEN_p |
Class to hold values from antenna grammar parser.
Internal
MSAntennaParse is the class used to parse a antenna command.
MSAntennaParse is used by the parser of antenna sub-expression statements. The parser is written in Bison and Flex in files MSAntennaGram.y and.l. The statements in there use the routines in this file to act upon a reduced rule. Since multiple tables can be given (with a shorthand), the table names are stored in a list. The variable names can be qualified by the table name and will be looked up in the appropriate table.
The class MSAntennaParse only contains information about a table used in the table command. Global variables (like a list and a vector) are used in MSAntennaParse.cc to hold further information.
Global functions are used to operate on the information. The main function is the global function msAntennaCommand. It executes the given STaQL command and returns the resulting ms. This is, in fact, the only function to be used by a user.
It is necessary to be able to give a ms 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 88 of file MSAntennaParse.h.
Define the operator types (&&&, &&, and &).
Enumerator | |
---|---|
AutoCorrOnly | |
AutoCorrAlso | |
CrossOnly |
Definition at line 93 of file MSAntennaParse.h.
Enumerator | |
---|---|
RESET | |
ANTREGEX | |
ANTLIST | |
STATIONREGEX | |
STATIONLIST | |
ANTATSTATIONLIST | |
BASELINELIST | |
HIGHESTLEVEL |
Definition at line 94 of file MSAntennaParse.h.
casacore::MSAntennaParse::MSAntennaParse | ( | ) |
Default constructor.
casacore::MSAntennaParse::MSAntennaParse | ( | const MeasurementSet * | ms | ) |
Associate the ms.
casacore::MSAntennaParse::MSAntennaParse | ( | const MSAntenna & | antSubTable, |
const TableExprNode & | ant1AsTEN, | ||
const TableExprNode & | ant2AsTEN | ||
) |
|
inline |
Definition at line 105 of file MSAntennaParse.h.
References column1AsTEN_p, and column2AsTEN_p.
|
private |
|
inlinestatic |
Definition at line 177 of file MSAntennaParse.h.
References thisMSAErrorHandler.
|
private |
|
inline |
Definition at line 155 of file MSAntennaParse.h.
References complexity.
|
static |
Get the factor to convert the given unit to m.
|
private |
|
private |
|
private |
|
inline |
Get a pointer to the table expression node object.
Definition at line 141 of file MSAntennaParse.h.
References node_p.
const TableExprNode* casacore::MSAntennaParse::selectAntennaIds | ( | const Vector< Int > & | antennaIds, |
BaselineListType | baselineType = CrossOnly , |
||
Bool | negate = False |
||
) |
Add the given antennae selection.
const TableExprNode* casacore::MSAntennaParse::selectAntennaIds | ( | const Vector< Int > & | antennaIds1, |
const Vector< Int > & | antennaIds2, | ||
BaselineListType | baselineType = CrossOnly , |
||
Bool | negate = False |
||
) |
Add the given baseline selection.
const TableExprNode* casacore::MSAntennaParse::selectBLRegex | ( | const std::vector< String > & | lengths, |
Bool | negate = False |
||
) |
Selection on baseline regex.
Definition at line 143 of file MSAntennaParse.h.
References ant1List.
Definition at line 145 of file MSAntennaParse.h.
References ant2List.
Definition at line 147 of file MSAntennaParse.h.
References baselineList.
const TableExprNode* casacore::MSAntennaParse::selectLength | ( | const std::vector< double > & | lengths, |
Bool | negate = False |
||
) |
Selection on baseline length.
const TableExprNode* casacore::MSAntennaParse::selectNameOrStation | ( | const Vector< String > & | antenna, |
BaselineListType | baselineType = CrossOnly , |
||
Bool | negate = False |
||
) |
Select by name or station number.
const TableExprNode* casacore::MSAntennaParse::selectNameOrStation | ( | const Vector< String > & | antenna1, |
const Vector< String > & | antenna2, | ||
BaselineListType | baselineType = CrossOnly , |
||
Bool | negate = False |
||
) |
const TableExprNode* casacore::MSAntennaParse::selectNameOrStation | ( | const String & | antenna1, |
const String & | antenna2, | ||
BaselineListType | baselineType = CrossOnly , |
||
Bool | negate = False |
||
) |
|
inline |
Definition at line 153 of file MSAntennaParse.h.
References complexity, RESET, and casacore::True.
|
private |
|
inline |
Definition at line 156 of file MSAntennaParse.h.
References msSubTable_p.
Definition at line 182 of file MSAntennaParse.h.
Referenced by selectedAnt1().
Definition at line 182 of file MSAntennaParse.h.
Referenced by selectedAnt2().
Definition at line 183 of file MSAntennaParse.h.
Referenced by selectedBaselines().
|
private |
Definition at line 181 of file MSAntennaParse.h.
|
private |
Definition at line 181 of file MSAntennaParse.h.
|
staticprivate |
Definition at line 185 of file MSAntennaParse.h.
Referenced by ~MSAntennaParse().
|
staticprivate |
Definition at line 185 of file MSAntennaParse.h.
Referenced by ~MSAntennaParse().
std::bitset<HIGHESTLEVEL> casacore::MSAntennaParse::complexity |
Definition at line 178 of file MSAntennaParse.h.
Referenced by getComplexity(), and setComplexity().
|
private |
Definition at line 184 of file MSAntennaParse.h.
Referenced by subTable().
|
private |
Definition at line 180 of file MSAntennaParse.h.
Referenced by node().
|
static |
Definition at line 176 of file MSAntennaParse.h.
Referenced by cleanupErrorHandler().
|
static |
Definition at line 175 of file MSAntennaParse.h.