casacore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
casacore::MSTimeParse Class Reference

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

#include <MSTimeParse.h>

Inheritance diagram for casacore::MSTimeParse:
casacore::MSParse

Public Member Functions

 MSTimeParse ()
 Default constructor. More...
 
 MSTimeParse (const MeasurementSet *ms, const TableExprNode &otherTens, const Bool honourRowFlags=True)
 Associate the ms and the shorthand. More...
 
 MSTimeParse (const MeasurementSet *ms, const TableExprNode &colAsTEN, MSSelectableMainColumn &msMainColInterface, const TableExprNode &otherTEN, const Bool honourRowFlags=True)
 
 ~MSTimeParse ()
 
const TableExprNodeselectTime (const MEpoch &time, bool daytime=false)
 ~MSTimeParse() { if (node_p) delete node_p;node_p=0x0; if (otherTens_p) delete otherTens_p;otherTens_p=0x0; } More...
 
const TableExprNodeselectTimeGT (const MEpoch &lowboundTime, bool daytime=false)
 
const TableExprNodeselectTimeLT (const MEpoch &upboundTime, bool daytime=false)
 
const TableExprNodeselectTimeRange (const MEpoch &lowboundTime, const MEpoch &upboundTime, bool daytime=false, Float edgeWidth=-1.0)
 
Matrix< DoubleselectedTimes ()
 
const TableExprNodeaddCondition (TableExprNode &condition)
 
void getDefaults ()
 
Int year0 ()
 
Int month0 ()
 
Int day0 ()
 
Int hour0 ()
 
Int minute0 ()
 
Int second0 ()
 
Int fractionalsec0 ()
 
Double defaultInteg ()
 
void accumulateTimeList (const Double t0, const Double t1, const Double dT=-1)
 
- Public Member Functions inherited from casacore::MSParse
 MSParse ()
 Default constructor for List container class. More...
 
 MSParse (const MSParse &)
 Copy constructor (copy semantics). More...
 
 ~MSParse ()
 
MSParseoperator= (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...
 
Stringshorthand ()
 Get the shorthand. More...
 
MeasurementSetms ()
 Get ms object. More...
 
MSSelectableTablemsInterface ()
 Get ms object. More...
 
void setMS (MeasurementSet *ms)
 
void setMSInterface (MSSelectableTable *msI)
 
void addCondition (TableExprNode &target, TableExprNode &source)
 

Static Public Member Functions

static void setDefaults (TimeFields &tf, Bool dataOrigin=True)
 
static void copyDefaults (TimeFields &target, TimeFields &source)
 
static const MEpochyearTimeConvert (Int year=-1, Int month=-1, Int day=-1, Int hour=-1, Int minute=-1, Int second=-1, Int millisec=-1)
 
static const MEpochyearTimeConvert (const TimeFields &tf)
 
static const TableExprNodenode ()
 Get table expression node object. More...
 
static void validate (const TimeFields &tf)
 
static void reset ()
 
static void cleanup ()
 
static Double toTAIInSec (const MEpoch &time)
 

Public Attributes

MVTime firstRowTime
 
Int defaultYear
 
Int defaultMonth
 
Int defaultDay
 
Int defaultHour
 
Int defaultMinute
 
Int defaultSeconds
 
Int defaultFractionalSec
 
Double defaultExposure
 
const String colName
 
Bool honourRowFlags_p
 

Static Public Attributes

static TableExprNodenode_p
 
static TableExprNodeotherTens_p
 private: More...
 
static Bool defaultTimeComputed
 
static MeasurementSetms_p
 
static MEpochyeartime
 
static MEpochdaytime
 
static Matrix< DoubletimeList
 
static MSTimeParsethisMSTParser
 
static TableExprNode columnAsTEN_p
 
static MSSelectableMainColumnmainColumn_p
 
- Static Public Attributes inherited from casacore::MSParse
static MeasurementSetms_p
 
static MSSelectableTablemsInterface_p
 

Detailed Description

Class to hold values from time grammar parser.

Intended use:

Internal

Etymology

MSTimeParse is the class used to parse a time command.

Synopsis

MSTimeParse is used by the parser of time sub-expression statements. The parser is written in Bison and Flex in files MSTimeGram.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 MSTimeParse only contains information about a table used in the table command. Global variables (like a list and a vector) are used in MSTimeParse.cc to hold further information.

Global functions are used to operate on the information. The main function is the global function msTimeCommand. It executes the given STaQL command and returns the resulting ms. This is, in fact, the only function to be used by a user.

Motivation

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 90 of file MSTimeParse.h.

Constructor & Destructor Documentation

casacore::MSTimeParse::MSTimeParse ( )

Default constructor.

casacore::MSTimeParse::MSTimeParse ( const MeasurementSet ms,
const TableExprNode otherTens,
const Bool  honourRowFlags = True 
)

Associate the ms and the shorthand.

casacore::MSTimeParse::MSTimeParse ( const MeasurementSet ms,
const TableExprNode colAsTEN,
MSSelectableMainColumn msMainColInterface,
const TableExprNode otherTEN,
const Bool  honourRowFlags = True 
)
casacore::MSTimeParse::~MSTimeParse ( )
inline

Definition at line 103 of file MSTimeParse.h.

References columnAsTEN_p.

Member Function Documentation

void casacore::MSTimeParse::accumulateTimeList ( const Double  t0,
const Double  t1,
const Double  dT = -1 
)
const TableExprNode* casacore::MSTimeParse::addCondition ( TableExprNode condition)
static void casacore::MSTimeParse::cleanup ( )
inlinestatic

Definition at line 152 of file MSTimeParse.h.

References node_p.

static void casacore::MSTimeParse::copyDefaults ( TimeFields target,
TimeFields source 
)
static
Int casacore::MSTimeParse::day0 ( )
inline

Definition at line 143 of file MSTimeParse.h.

References defaultDay.

Double casacore::MSTimeParse::defaultInteg ( )
inline

Definition at line 148 of file MSTimeParse.h.

References defaultExposure.

Int casacore::MSTimeParse::fractionalsec0 ( )
inline

Definition at line 147 of file MSTimeParse.h.

References defaultFractionalSec.

void casacore::MSTimeParse::getDefaults ( )
Int casacore::MSTimeParse::hour0 ( )
inline

Definition at line 144 of file MSTimeParse.h.

References defaultHour.

Int casacore::MSTimeParse::minute0 ( )
inline

Definition at line 145 of file MSTimeParse.h.

References defaultMinute.

Int casacore::MSTimeParse::month0 ( )
inline

Definition at line 142 of file MSTimeParse.h.

References defaultMonth.

static const TableExprNode* casacore::MSTimeParse::node ( )
static

Get table expression node object.

static void casacore::MSTimeParse::reset ( )
inlinestatic

Definition at line 151 of file MSTimeParse.h.

References casacore::Matrix< T, Alloc >::resize(), and timeList.

Int casacore::MSTimeParse::second0 ( )
inline

Definition at line 146 of file MSTimeParse.h.

References defaultSeconds.

Matrix<Double> casacore::MSTimeParse::selectedTimes ( )
inline

Definition at line 121 of file MSTimeParse.h.

References timeList.

const TableExprNode* casacore::MSTimeParse::selectTime ( const MEpoch time,
bool  daytime = false 
)

~MSTimeParse() { if (node_p) delete node_p;node_p=0x0; if (otherTens_p) delete otherTens_p;otherTens_p=0x0; }

const TableExprNode* casacore::MSTimeParse::selectTimeGT ( const MEpoch lowboundTime,
bool  daytime = false 
)
const TableExprNode* casacore::MSTimeParse::selectTimeLT ( const MEpoch upboundTime,
bool  daytime = false 
)
const TableExprNode* casacore::MSTimeParse::selectTimeRange ( const MEpoch lowboundTime,
const MEpoch upboundTime,
bool  daytime = false,
Float  edgeWidth = -1.0 
)
static void casacore::MSTimeParse::setDefaults ( TimeFields tf,
Bool  dataOrigin = True 
)
static
static Double casacore::MSTimeParse::toTAIInSec ( const MEpoch time)
static
static void casacore::MSTimeParse::validate ( const TimeFields tf)
static
Int casacore::MSTimeParse::year0 ( )
inline

Definition at line 141 of file MSTimeParse.h.

References defaultYear.

static const MEpoch* casacore::MSTimeParse::yearTimeConvert ( Int  year = -1,
Int  month = -1,
Int  day = -1,
Int  hour = -1,
Int  minute = -1,
Int  second = -1,
Int  millisec = -1 
)
static
static const MEpoch* casacore::MSTimeParse::yearTimeConvert ( const TimeFields tf)
static

Member Data Documentation

const String casacore::MSTimeParse::colName

Definition at line 167 of file MSTimeParse.h.

TableExprNode casacore::MSTimeParse::columnAsTEN_p
static

Definition at line 172 of file MSTimeParse.h.

Referenced by ~MSTimeParse().

MEpoch* casacore::MSTimeParse::daytime
static

Definition at line 163 of file MSTimeParse.h.

Int casacore::MSTimeParse::defaultDay

Definition at line 164 of file MSTimeParse.h.

Referenced by day0().

Double casacore::MSTimeParse::defaultExposure

Definition at line 166 of file MSTimeParse.h.

Referenced by defaultInteg().

Int casacore::MSTimeParse::defaultFractionalSec

Definition at line 164 of file MSTimeParse.h.

Referenced by fractionalsec0().

Int casacore::MSTimeParse::defaultHour

Definition at line 164 of file MSTimeParse.h.

Referenced by hour0().

Int casacore::MSTimeParse::defaultMinute

Definition at line 164 of file MSTimeParse.h.

Referenced by minute0().

Int casacore::MSTimeParse::defaultMonth

Definition at line 164 of file MSTimeParse.h.

Referenced by month0().

Int casacore::MSTimeParse::defaultSeconds

Definition at line 164 of file MSTimeParse.h.

Referenced by second0().

Bool casacore::MSTimeParse::defaultTimeComputed
static

Definition at line 158 of file MSTimeParse.h.

Int casacore::MSTimeParse::defaultYear

Definition at line 164 of file MSTimeParse.h.

Referenced by year0().

MVTime casacore::MSTimeParse::firstRowTime

Definition at line 159 of file MSTimeParse.h.

Bool casacore::MSTimeParse::honourRowFlags_p

Definition at line 168 of file MSTimeParse.h.

MSSelectableMainColumn* casacore::MSTimeParse::mainColumn_p
static

Definition at line 173 of file MSTimeParse.h.

MeasurementSet* casacore::MSTimeParse::ms_p
static

Definition at line 160 of file MSTimeParse.h.

TableExprNode* casacore::MSTimeParse::node_p
static

Definition at line 154 of file MSTimeParse.h.

Referenced by cleanup().

TableExprNode* casacore::MSTimeParse::otherTens_p
static

private:

Definition at line 157 of file MSTimeParse.h.

MSTimeParse* casacore::MSTimeParse::thisMSTParser
static

Definition at line 171 of file MSTimeParse.h.

Matrix<Double> casacore::MSTimeParse::timeList
static

Definition at line 169 of file MSTimeParse.h.

Referenced by reset(), and selectedTimes().

MEpoch* casacore::MSTimeParse::yeartime
static

Definition at line 162 of file MSTimeParse.h.


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