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

A class to provide easy access to MSFeed columns. More...

#include <MSFeedColumns.h>

Public Member Functions

 MSFeedColumns (const MSFeed &msFeed)
 Create a columns object that accesses the data in the specified Table. More...
 
 ~MSFeedColumns ()
 The desctructor does nothing special. More...
 
ScalarColumn< Int > & antennaId ()
 Access to required columns. More...
 
ScalarColumn< Int > & beamId ()
 
ArrayColumn< Double > & beamOffset ()
 
ArrayQuantColumn< Double > & beamOffsetQuant ()
 
ArrayMeasColumn< MDirection > & beamOffsetMeas ()
 
ScalarColumn< Int > & feedId ()
 
ScalarColumn< Double > & interval ()
 
ScalarQuantColumn< Double > & intervalQuant ()
 
ScalarColumn< Int > & numReceptors ()
 
ArrayColumn< Complex > & polResponse ()
 
ArrayColumn< String > & polarizationType ()
 
ArrayColumn< Double > & position ()
 
ArrayQuantColumn< Double > & positionQuant ()
 
ScalarMeasColumn< MPosition > & positionMeas ()
 
ArrayColumn< Double > & receptorAngle ()
 
ArrayQuantColumn< Double > & receptorAngleQuant ()
 
ScalarColumn< Int > & spectralWindowId ()
 
ScalarColumn< Double > & time ()
 
ScalarQuantColumn< Double > & timeQuant ()
 
ScalarMeasColumn< MEpoch > & timeMeas ()
 
const ScalarColumn< Int > & antennaId () const
 Const access to required columns. More...
 
const ScalarColumn< Int > & beamId () const
 
const ArrayColumn< Double > & beamOffset () const
 
const ArrayQuantColumn< Double > & beamOffsetQuant () const
 
const ArrayMeasColumn
< MDirection > & 
beamOffsetMeas () const
 
const ScalarColumn< Int > & feedId () const
 
const ScalarColumn< Double > & interval () const
 
const ScalarQuantColumn< Double > & intervalQuant () const
 
const ScalarColumn< Int > & numReceptors () const
 
const ArrayColumn< Complex > & polResponse () const
 
const ArrayColumn< String > & polarizationType () const
 
const ArrayColumn< Double > & position () const
 
const ArrayQuantColumn< Double > & positionQuant () const
 
const ScalarMeasColumn
< MPosition > & 
positionMeas () const
 
const ArrayColumn< Double > & receptorAngle () const
 
const ArrayQuantColumn< Double > & receptorAngleQuant () const
 
const ScalarColumn< Int > & spectralWindowId () const
 
const ScalarColumn< Double > & time () const
 
const ScalarQuantColumn< Double > & timeQuant () const
 
const ScalarMeasColumn< MEpoch > & timeMeas () const
 
ScalarColumn< Double > & focusLength ()
 Access to optional columns. More...
 
ScalarQuantColumn< Double > & focusLengthQuant ()
 
ScalarColumn< Int > & phasedFeedId ()
 
const ScalarColumn< Double > & focusLength () const
 Const access to optional columns. More...
 
const ScalarQuantColumn< Double > & focusLengthQuant () const
 
const ScalarColumn< Int > & phasedFeedId () const
 
void setEpochRef (MEpoch::Types ref, Bool tableMustBeEmpty=True)
 set the epoch type for the TIME column. More...
 
void setDirectionRef (MDirection::Types ref)
 set the direction type for the BEAM_OFFSET column. More...
 
void setPositionRef (MPosition::Types ref)
 set the position type for the POSITION column. More...
 
rownr_t nrow () const
 Convenience function that returns the number of rows in any of the columns. More...
 
Int64 matchFeed (Quantum< Double > &newTimeQ, Quantum< Double > &newIntervalQ, Int antId, Int feedId, Int spwId, const Quantum< Double > &timeQ, const Quantum< Double > &intervalQ, Int numReceptor, const Array< Quantum< Double > > &beamOffsetQ, const Array< String > &polType, const Array< Complex > &polResp, const Array< Quantum< Double > > &positionQ, const Array< Quantum< Double > > &receptorAngleQ, const RowNumbers &ignoreRows, const Quantum< Double > &focusLengthQ=Quantum< Double >())
 Returns the last row that contains a feed with the specified values. More...
 

Protected Member Functions

 MSFeedColumns ()
 
void attach (const MSFeed &msFeed)
 

Private Member Functions

 MSFeedColumns (const MSFeedColumns &)
 
MSFeedColumnsoperator= (const MSFeedColumns &)
 
void attachOptionalCols (const MSFeed &msFeed)
 

Private Attributes

ScalarColumn< IntantennaId_p
 
ScalarColumn< IntbeamId_p
 
ArrayColumn< DoublebeamOffset_p
 
ScalarColumn< IntfeedId_p
 
ScalarColumn< Doubleinterval_p
 
ScalarColumn< IntnumReceptors_p
 
ArrayColumn< Complex > polResponse_p
 
ArrayColumn< StringpolarizationType_p
 
ArrayColumn< Doubleposition_p
 
ArrayColumn< DoublereceptorAngle_p
 
ScalarColumn< IntspectralWindowId_p
 
ScalarColumn< Doubletime_p
 
ScalarColumn< DoublefocusLength_p
 
ScalarColumn< IntphasedFeedId_p
 
ArrayMeasColumn< MDirectionbeamOffsetMeas_p
 
ScalarMeasColumn< MPositionpositionMeas_p
 
ScalarMeasColumn< MEpochtimeMeas_p
 
ArrayQuantColumn< DoublebeamOffsetQuant_p
 
ScalarQuantColumn< DoubleintervalQuant_p
 
ArrayQuantColumn< DoublepositionQuant_p
 
ArrayQuantColumn< DoublereceptorAngleQuant_p
 
ScalarQuantColumn< DoubletimeQuant_p
 
ScalarQuantColumn< DoublefocusLengthQuant_p
 

Detailed Description

A class to provide easy access to MSFeed columns.

Intended use:

Public interface

Review Status

Reviewed By:
Bob Garwood
Date Reviewed:
1997/02/01

Prerequisite

Etymology

MSFeedColumns stands for MeasurementSet Feed Table columns.

Synopsis

This class provides access to the columns in the MSFeed Table, it does the declaration of all the Scalar and ArrayColumns with the correct types, so the application programmer doesn't have to worry about getting those right. There is an access function for every predefined column. Access to non-predefined columns will still have to be done with explicit declarations. See MSColumns for an example.

Motivation

See MSColumns for the motivation.

Definition at line 84 of file MSFeedColumns.h.

Constructor & Destructor Documentation

casacore::MSFeedColumns::MSFeedColumns ( const MSFeed msFeed)

Create a columns object that accesses the data in the specified Table.

casacore::MSFeedColumns::~MSFeedColumns ( )

The desctructor does nothing special.

casacore::MSFeedColumns::MSFeedColumns ( )
protected
casacore::MSFeedColumns::MSFeedColumns ( const MSFeedColumns )
private

Member Function Documentation

ScalarColumn<Int>& casacore::MSFeedColumns::antennaId ( )
inline

Access to required columns.

Definition at line 95 of file MSFeedColumns.h.

References antennaId_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::antennaId ( ) const
inline

Const access to required columns.

Definition at line 122 of file MSFeedColumns.h.

References antennaId_p.

void casacore::MSFeedColumns::attach ( const MSFeed msFeed)
protected
void casacore::MSFeedColumns::attachOptionalCols ( const MSFeed msFeed)
private
ScalarColumn<Int>& casacore::MSFeedColumns::beamId ( )
inline

Definition at line 96 of file MSFeedColumns.h.

References beamId_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::beamId ( ) const
inline

Definition at line 123 of file MSFeedColumns.h.

References beamId_p.

ArrayColumn<Double>& casacore::MSFeedColumns::beamOffset ( )
inline

Definition at line 97 of file MSFeedColumns.h.

References beamOffset_p.

const ArrayColumn<Double>& casacore::MSFeedColumns::beamOffset ( ) const
inline

Definition at line 124 of file MSFeedColumns.h.

References beamOffset_p.

ArrayMeasColumn<MDirection>& casacore::MSFeedColumns::beamOffsetMeas ( )
inline

Definition at line 99 of file MSFeedColumns.h.

References beamOffsetMeas_p.

const ArrayMeasColumn<MDirection>& casacore::MSFeedColumns::beamOffsetMeas ( ) const
inline

Definition at line 126 of file MSFeedColumns.h.

References beamOffsetMeas_p.

ArrayQuantColumn<Double>& casacore::MSFeedColumns::beamOffsetQuant ( )
inline

Definition at line 98 of file MSFeedColumns.h.

References beamOffsetQuant_p.

const ArrayQuantColumn<Double>& casacore::MSFeedColumns::beamOffsetQuant ( ) const
inline

Definition at line 125 of file MSFeedColumns.h.

References beamOffsetQuant_p.

ScalarColumn<Int>& casacore::MSFeedColumns::feedId ( )
inline

Definition at line 101 of file MSFeedColumns.h.

References feedId_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::feedId ( ) const
inline

Definition at line 128 of file MSFeedColumns.h.

References feedId_p.

ScalarColumn<Double>& casacore::MSFeedColumns::focusLength ( )
inline

Access to optional columns.

Definition at line 149 of file MSFeedColumns.h.

References focusLength_p.

const ScalarColumn<Double>& casacore::MSFeedColumns::focusLength ( ) const
inline

Const access to optional columns.

Definition at line 156 of file MSFeedColumns.h.

References focusLength_p.

ScalarQuantColumn<Double>& casacore::MSFeedColumns::focusLengthQuant ( )
inline

Definition at line 150 of file MSFeedColumns.h.

References focusLengthQuant_p.

const ScalarQuantColumn<Double>& casacore::MSFeedColumns::focusLengthQuant ( ) const
inline

Definition at line 157 of file MSFeedColumns.h.

References focusLengthQuant_p.

ScalarColumn<Double>& casacore::MSFeedColumns::interval ( )
inline

Definition at line 102 of file MSFeedColumns.h.

References interval_p.

const ScalarColumn<Double>& casacore::MSFeedColumns::interval ( ) const
inline

Definition at line 129 of file MSFeedColumns.h.

References interval_p.

ScalarQuantColumn<Double>& casacore::MSFeedColumns::intervalQuant ( )
inline

Definition at line 103 of file MSFeedColumns.h.

References intervalQuant_p.

const ScalarQuantColumn<Double>& casacore::MSFeedColumns::intervalQuant ( ) const
inline

Definition at line 130 of file MSFeedColumns.h.

References intervalQuant_p.

Int64 casacore::MSFeedColumns::matchFeed ( Quantum< Double > &  newTimeQ,
Quantum< Double > &  newIntervalQ,
Int  antId,
Int  feedId,
Int  spwId,
const Quantum< Double > &  timeQ,
const Quantum< Double > &  intervalQ,
Int  numReceptor,
const Array< Quantum< Double > > &  beamOffsetQ,
const Array< String > &  polType,
const Array< Complex > &  polResp,
const Array< Quantum< Double > > &  positionQ,
const Array< Quantum< Double > > &  receptorAngleQ,
const RowNumbers ignoreRows,
const Quantum< Double > &  focusLengthQ = QuantumDouble >() 
)

Returns the last row that contains a feed with the specified values.

If no matching row can be found, but a match is possible if the validity time interval is widened, return that row and the suggestion for the new time information. If no change to time is necessary, newTimeQ and newIntervalQ are zero. Returns -1 if no match could be found. Ignore the Feed table rows contained in vector ignoreRows. focusLengthQ is only compared if this optional column is present and if the value of focusLengthQ is not dimensionless.

rownr_t casacore::MSFeedColumns::nrow ( ) const
inline

Convenience function that returns the number of rows in any of the columns.

Definition at line 183 of file MSFeedColumns.h.

References antennaId_p, and casacore::TableColumn::nrow().

ScalarColumn<Int>& casacore::MSFeedColumns::numReceptors ( )
inline

Definition at line 104 of file MSFeedColumns.h.

References numReceptors_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::numReceptors ( ) const
inline

Definition at line 131 of file MSFeedColumns.h.

References numReceptors_p.

MSFeedColumns& casacore::MSFeedColumns::operator= ( const MSFeedColumns )
private
ScalarColumn<Int>& casacore::MSFeedColumns::phasedFeedId ( )
inline

Definition at line 151 of file MSFeedColumns.h.

References phasedFeedId_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::phasedFeedId ( ) const
inline

Definition at line 158 of file MSFeedColumns.h.

References phasedFeedId_p.

ArrayColumn<String>& casacore::MSFeedColumns::polarizationType ( )
inline

Definition at line 106 of file MSFeedColumns.h.

References polarizationType_p.

const ArrayColumn<String>& casacore::MSFeedColumns::polarizationType ( ) const
inline

Definition at line 133 of file MSFeedColumns.h.

References polarizationType_p.

ArrayColumn<Complex>& casacore::MSFeedColumns::polResponse ( )
inline

Definition at line 105 of file MSFeedColumns.h.

References polResponse_p.

const ArrayColumn<Complex>& casacore::MSFeedColumns::polResponse ( ) const
inline

Definition at line 132 of file MSFeedColumns.h.

References polResponse_p.

ArrayColumn<Double>& casacore::MSFeedColumns::position ( )
inline

Definition at line 107 of file MSFeedColumns.h.

References position_p.

const ArrayColumn<Double>& casacore::MSFeedColumns::position ( ) const
inline

Definition at line 134 of file MSFeedColumns.h.

References position_p.

ScalarMeasColumn<MPosition>& casacore::MSFeedColumns::positionMeas ( )
inline

Definition at line 109 of file MSFeedColumns.h.

References positionMeas_p.

const ScalarMeasColumn<MPosition>& casacore::MSFeedColumns::positionMeas ( ) const
inline

Definition at line 136 of file MSFeedColumns.h.

References positionMeas_p.

ArrayQuantColumn<Double>& casacore::MSFeedColumns::positionQuant ( )
inline

Definition at line 108 of file MSFeedColumns.h.

References positionQuant_p.

const ArrayQuantColumn<Double>& casacore::MSFeedColumns::positionQuant ( ) const
inline

Definition at line 135 of file MSFeedColumns.h.

References positionQuant_p.

ArrayColumn<Double>& casacore::MSFeedColumns::receptorAngle ( )
inline

Definition at line 111 of file MSFeedColumns.h.

References receptorAngle_p.

const ArrayColumn<Double>& casacore::MSFeedColumns::receptorAngle ( ) const
inline

Definition at line 138 of file MSFeedColumns.h.

References receptorAngle_p.

ArrayQuantColumn<Double>& casacore::MSFeedColumns::receptorAngleQuant ( )
inline

Definition at line 112 of file MSFeedColumns.h.

References receptorAngleQuant_p.

const ArrayQuantColumn<Double>& casacore::MSFeedColumns::receptorAngleQuant ( ) const
inline

Definition at line 139 of file MSFeedColumns.h.

References receptorAngleQuant_p.

void casacore::MSFeedColumns::setDirectionRef ( MDirection::Types  ref)

set the direction type for the BEAM_OFFSET column.

This can only be done when the table has no rows. Trying to do so at other times will throw an exception.

void casacore::MSFeedColumns::setEpochRef ( MEpoch::Types  ref,
Bool  tableMustBeEmpty = True 
)

set the epoch type for the TIME column.


Tip: In principle this function can only be used if the table is empty, otherwise already written values may thereafter have an incorrect reference, offset, or unit; However, it is possible that part of the table gets written before these values are known; In that case the reference, offset, or units can be set by using a False tableMustBeEmpty argument;

void casacore::MSFeedColumns::setPositionRef ( MPosition::Types  ref)

set the position type for the POSITION column.

This can only be done when the table has no rows. Trying to do so at other times will throw an exception.

ScalarColumn<Int>& casacore::MSFeedColumns::spectralWindowId ( )
inline

Definition at line 114 of file MSFeedColumns.h.

References spectralWindowId_p.

const ScalarColumn<Int>& casacore::MSFeedColumns::spectralWindowId ( ) const
inline

Definition at line 141 of file MSFeedColumns.h.

References spectralWindowId_p.

ScalarColumn<Double>& casacore::MSFeedColumns::time ( )
inline

Definition at line 115 of file MSFeedColumns.h.

References time_p.

const ScalarColumn<Double>& casacore::MSFeedColumns::time ( ) const
inline

Definition at line 142 of file MSFeedColumns.h.

References time_p.

ScalarMeasColumn<MEpoch>& casacore::MSFeedColumns::timeMeas ( )
inline

Definition at line 117 of file MSFeedColumns.h.

References timeMeas_p.

const ScalarMeasColumn<MEpoch>& casacore::MSFeedColumns::timeMeas ( ) const
inline

Definition at line 144 of file MSFeedColumns.h.

References timeMeas_p.

ScalarQuantColumn<Double>& casacore::MSFeedColumns::timeQuant ( )
inline

Definition at line 116 of file MSFeedColumns.h.

References timeQuant_p.

const ScalarQuantColumn<Double>& casacore::MSFeedColumns::timeQuant ( ) const
inline

Definition at line 143 of file MSFeedColumns.h.

References timeQuant_p.

Member Data Documentation

ScalarColumn<Int> casacore::MSFeedColumns::antennaId_p
private

Definition at line 229 of file MSFeedColumns.h.

Referenced by antennaId(), and nrow().

ScalarColumn<Int> casacore::MSFeedColumns::beamId_p
private

Definition at line 230 of file MSFeedColumns.h.

Referenced by beamId().

ArrayColumn<Double> casacore::MSFeedColumns::beamOffset_p
private

Definition at line 231 of file MSFeedColumns.h.

Referenced by beamOffset().

ArrayMeasColumn<MDirection> casacore::MSFeedColumns::beamOffsetMeas_p
private

Definition at line 246 of file MSFeedColumns.h.

Referenced by beamOffsetMeas().

ArrayQuantColumn<Double> casacore::MSFeedColumns::beamOffsetQuant_p
private

Definition at line 251 of file MSFeedColumns.h.

Referenced by beamOffsetQuant().

ScalarColumn<Int> casacore::MSFeedColumns::feedId_p
private

Definition at line 232 of file MSFeedColumns.h.

Referenced by feedId().

ScalarColumn<Double> casacore::MSFeedColumns::focusLength_p
private

Definition at line 242 of file MSFeedColumns.h.

Referenced by focusLength().

ScalarQuantColumn<Double> casacore::MSFeedColumns::focusLengthQuant_p
private

Definition at line 257 of file MSFeedColumns.h.

Referenced by focusLengthQuant().

ScalarColumn<Double> casacore::MSFeedColumns::interval_p
private

Definition at line 233 of file MSFeedColumns.h.

Referenced by interval().

ScalarQuantColumn<Double> casacore::MSFeedColumns::intervalQuant_p
private

Definition at line 252 of file MSFeedColumns.h.

Referenced by intervalQuant().

ScalarColumn<Int> casacore::MSFeedColumns::numReceptors_p
private

Definition at line 234 of file MSFeedColumns.h.

Referenced by numReceptors().

ScalarColumn<Int> casacore::MSFeedColumns::phasedFeedId_p
private

Definition at line 243 of file MSFeedColumns.h.

Referenced by phasedFeedId().

ArrayColumn<String> casacore::MSFeedColumns::polarizationType_p
private

Definition at line 236 of file MSFeedColumns.h.

Referenced by polarizationType().

ArrayColumn<Complex> casacore::MSFeedColumns::polResponse_p
private

Definition at line 235 of file MSFeedColumns.h.

Referenced by polResponse().

ArrayColumn<Double> casacore::MSFeedColumns::position_p
private

Definition at line 237 of file MSFeedColumns.h.

Referenced by position().

ScalarMeasColumn<MPosition> casacore::MSFeedColumns::positionMeas_p
private

Definition at line 247 of file MSFeedColumns.h.

Referenced by positionMeas().

ArrayQuantColumn<Double> casacore::MSFeedColumns::positionQuant_p
private

Definition at line 253 of file MSFeedColumns.h.

Referenced by positionQuant().

ArrayColumn<Double> casacore::MSFeedColumns::receptorAngle_p
private

Definition at line 238 of file MSFeedColumns.h.

Referenced by receptorAngle().

ArrayQuantColumn<Double> casacore::MSFeedColumns::receptorAngleQuant_p
private

Definition at line 254 of file MSFeedColumns.h.

Referenced by receptorAngleQuant().

ScalarColumn<Int> casacore::MSFeedColumns::spectralWindowId_p
private

Definition at line 239 of file MSFeedColumns.h.

Referenced by spectralWindowId().

ScalarColumn<Double> casacore::MSFeedColumns::time_p
private

Definition at line 240 of file MSFeedColumns.h.

Referenced by time().

ScalarMeasColumn<MEpoch> casacore::MSFeedColumns::timeMeas_p
private

Definition at line 248 of file MSFeedColumns.h.

Referenced by timeMeas().

ScalarQuantColumn<Double> casacore::MSFeedColumns::timeQuant_p
private

Definition at line 255 of file MSFeedColumns.h.

Referenced by timeQuant().


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