casacore::ROMSSpWindowColumns Class Reference

A class to provide easy read-only access to MSASpectralWindow columns. More...

#include <MSSpWindowColumns.h>

Inheritance diagram for casacore::ROMSSpWindowColumns:
casacore::MSSpWindowColumns

List of all members.

Public Member Functions

 ROMSSpWindowColumns (const MSSpectralWindow &msSpWindow)
 Create a columns object that accesses the data in the specified Table.
 ~ROMSSpWindowColumns ()
 The destructor does nothing special.
const ROArrayColumn< Double > & chanFreq () const
 Access to columns.
const ROArrayQuantColumn
< Double > & 
chanFreqQuant () const
const ROArrayMeasColumn
< MFrequency > & 
chanFreqMeas () const
const ROArrayColumn< Double > & chanWidth () const
const ROArrayQuantColumn
< Double > & 
chanWidthQuant () const
const ROArrayColumn< Double > & effectiveBW () const
const ROArrayQuantColumn
< Double > & 
effectiveBWQuant () const
const ROScalarColumn< Int > & freqGroup () const
const ROScalarColumn< String > & freqGroupName () const
const ROScalarColumn< Int > & ifConvChain () const
const ROScalarColumn< Bool > & flagRow () const
const ROScalarColumn< Int > & measFreqRef () const
const ROScalarColumn< String > & name () const
const ROScalarColumn< Int > & netSideband () const
const ROScalarColumn< Int > & numChan () const
const ROScalarColumn< Double > & refFrequency () const
const ROScalarQuantColumn
< Double > & 
refFrequencyQuant () const
const ROScalarMeasColumn
< MFrequency > & 
refFrequencyMeas () const
const ROArrayColumn< Double > & resolution () const
const ROArrayQuantColumn
< Double > & 
resolutionQuant () const
const ROScalarColumn< Double > & totalBandwidth () const
const ROScalarQuantColumn
< Double > & 
totalBandwidthQuant () const
const ROArrayColumn< String > & assocNature () const
 Access to optional columns.
const ROArrayColumn< Int > & assocSpwId () const
const ROScalarColumn< Int > & bbcNo () const
const ROScalarColumn< Int > & bbcSideband () const
const ROScalarColumn< Int > & dopplerId () const
const ROScalarColumn< Int > & receiverId () const
uInt nrow () const
 Convenience function that returns the number of rows in any of the columns.
Int matchSpw (const MFrequency &refFreq, uInt nChan, const Quantum< Double > &bandwidth, Int ifChain, const Quantum< Double > &tolerance, Int tryRow=-1) const
 returns the last row that contains a spectral window that has the specified reference frequency, number of channels, total-bandwidth and IF conversion chain.
Int matchSpw (const MFrequency &refFreq, const MFrequency &chanFreq1, const MeasFrame &measFrm, const MSDopplerColumns &msdopc, const MSSourceColumns &mssrcc, uInt nChan, const Quantum< Double > &bandwidth, Int ifChain, const Quantum< Double > &tolerance, Int tryRow=-1) const
 Similar to above, but also pass in the frame info.
Vector< IntallMatchedSpw (const MFrequency &refFreq, uInt nChan, const Quantum< Double > &bandwidth, Int ifChain, const Quantum< Double > &tolerance) const
 This is to check that the channels are matched individually and also if the spw is matched in reverse;.
Int matchSpw (const MFrequency &refFreq, uInt nChan, const Quantum< Double > &bandwidth, Int ifChain, const Quantum< Double > &tolerance, Vector< Double > &otherFreqs, Bool &reversed) const
 This version does a channel to channel match too and also return the reversed if it matches but the channels are in inverse order like an upper or lower side band having same characteristics.

Protected Member Functions

 ROMSSpWindowColumns ()
void attach (const MSSpectralWindow &msSpWindow)

Private Member Functions

 ROMSSpWindowColumns (const ROMSSpWindowColumns &)
ROMSSpWindowColumnsoperator= (const ROMSSpWindowColumns &)
void attachOptionalCols (const MSSpectralWindow &msSpWindow)
Bool matchRefFrequency (uInt row, MFrequency::Types refType, Double refFreqInHz, Double tolInHz) const
Bool matchRefFreqCnvtrd (uInt row, MFrequency refOrChanFreq, const Bool isRefFreq, const MeasFrame &measFrm, const MSDopplerColumns &msdopc, const MSSourceColumns &mssrcc, Double tolInHz) const
Bool matchChanFreq (uInt row, const Vector< Double > &chanFreqInHz, Double tolInHz) const
Bool matchIfConvChain (uInt row, Int ifChain) const
Bool matchTotalBandwidth (uInt row, Double bandwidthInHz, Double tolInHz) const
Bool matchNumChan (uInt row, Int nChan) const

Private Attributes

ROArrayColumn< DoublechanFreq_p
ROArrayColumn< DoublechanWidth_p
ROArrayColumn< DoubleeffectiveBW_p
ROScalarColumn< BoolflagRow_p
ROScalarColumn< IntfreqGroup_p
ROScalarColumn< StringfreqGroupName_p
ROScalarColumn< IntifConvChain_p
ROScalarColumn< IntmeasFreqRef_p
ROScalarColumn< Stringname_p
ROScalarColumn< IntnetSideband_p
ROScalarColumn< IntnumChan_p
ROScalarColumn< DoublerefFrequency_p
ROArrayColumn< Doubleresolution_p
ROScalarColumn< DoubletotalBandwidth_p
ROArrayColumn< StringassocNature_p
ROArrayColumn< IntassocSpwId_p
ROScalarColumn< IntbbcNo_p
ROScalarColumn< IntbbcSideband_p
ROScalarColumn< IntdopplerId_p
ROScalarColumn< IntreceiverId_p
ROArrayMeasColumn< MFrequencychanFreqMeas_p
ROScalarMeasColumn< MFrequencyrefFrequencyMeas_p
ROArrayQuantColumn< DoublechanFreqQuant_p
ROArrayQuantColumn< DoublechanWidthQuant_p
ROArrayQuantColumn< DoubleeffectiveBWQuant_p
ROScalarQuantColumn< DoublerefFrequencyQuant_p
ROArrayQuantColumn< DoubleresolutionQuant_p
ROScalarQuantColumn< DoubletotalBandwidthQuant_p

Detailed Description

A class to provide easy read-only access to MSASpectralWindow columns.

Intended use:

Public interface

Review Status

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

Prerequisite

Etymology

ROMSSpectralWindowColumns stands for Read-Only MeasurementSet SpectralWindow Table columns.

Synopsis

This class provides read-only access to the columns in the MSSpectralWindow 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 ROMSColumns for an example.

Motivation

See MSColumns for the motivation.

Definition at line 82 of file MSSpWindowColumns.h.


Constructor & Destructor Documentation

casacore::ROMSSpWindowColumns::ROMSSpWindowColumns ( const MSSpectralWindow msSpWindow  ) 

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

casacore::ROMSSpWindowColumns::~ROMSSpWindowColumns (  ) 

The destructor does nothing special.

casacore::ROMSSpWindowColumns::ROMSSpWindowColumns (  )  [protected]
casacore::ROMSSpWindowColumns::ROMSSpWindowColumns ( const ROMSSpWindowColumns  )  [private]

Member Function Documentation

Vector<Int> casacore::ROMSSpWindowColumns::allMatchedSpw ( const MFrequency refFreq,
uInt  nChan,
const Quantum< Double > &  bandwidth,
Int  ifChain,
const Quantum< Double > &  tolerance 
) const

This is to check that the channels are matched individually and also if the spw is matched in reverse;.

Same as the above but returns all the possible match that it could find in the spectral window table.

const ROArrayColumn<String>& casacore::ROMSSpWindowColumns::assocNature (  )  const [inline]

Access to optional columns.

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 128 of file MSSpWindowColumns.h.

References assocNature_p.

const ROArrayColumn<Int>& casacore::ROMSSpWindowColumns::assocSpwId (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 129 of file MSSpWindowColumns.h.

References assocSpwId_p.

void casacore::ROMSSpWindowColumns::attach ( const MSSpectralWindow msSpWindow  )  [protected]
void casacore::ROMSSpWindowColumns::attachOptionalCols ( const MSSpectralWindow msSpWindow  )  [private]
const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::bbcNo (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 130 of file MSSpWindowColumns.h.

References bbcNo_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::bbcSideband (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 131 of file MSSpWindowColumns.h.

References bbcSideband_p.

const ROArrayColumn<Double>& casacore::ROMSSpWindowColumns::chanFreq (  )  const [inline]

Access to columns.

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 93 of file MSSpWindowColumns.h.

References chanFreq_p.

const ROArrayMeasColumn<MFrequency>& casacore::ROMSSpWindowColumns::chanFreqMeas (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 96 of file MSSpWindowColumns.h.

References chanFreqMeas_p.

const ROArrayQuantColumn<Double>& casacore::ROMSSpWindowColumns::chanFreqQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 94 of file MSSpWindowColumns.h.

References chanFreqQuant_p.

const ROArrayColumn<Double>& casacore::ROMSSpWindowColumns::chanWidth (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 98 of file MSSpWindowColumns.h.

References chanWidth_p.

const ROArrayQuantColumn<Double>& casacore::ROMSSpWindowColumns::chanWidthQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 99 of file MSSpWindowColumns.h.

References chanWidthQuant_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::dopplerId (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 132 of file MSSpWindowColumns.h.

References dopplerId_p.

const ROArrayColumn<Double>& casacore::ROMSSpWindowColumns::effectiveBW (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 101 of file MSSpWindowColumns.h.

References effectiveBW_p.

const ROArrayQuantColumn<Double>& casacore::ROMSSpWindowColumns::effectiveBWQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 102 of file MSSpWindowColumns.h.

References effectiveBWQuant_p.

const ROScalarColumn<Bool>& casacore::ROMSSpWindowColumns::flagRow (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 107 of file MSSpWindowColumns.h.

References flagRow_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::freqGroup (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 104 of file MSSpWindowColumns.h.

References freqGroup_p.

const ROScalarColumn<String>& casacore::ROMSSpWindowColumns::freqGroupName (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 105 of file MSSpWindowColumns.h.

References freqGroupName_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::ifConvChain (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 106 of file MSSpWindowColumns.h.

References ifConvChain_p.

Bool casacore::ROMSSpWindowColumns::matchChanFreq ( uInt  row,
const Vector< Double > &  chanFreqInHz,
Double  tolInHz 
) const [private]
Bool casacore::ROMSSpWindowColumns::matchIfConvChain ( uInt  row,
Int  ifChain 
) const [private]
Bool casacore::ROMSSpWindowColumns::matchNumChan ( uInt  row,
Int  nChan 
) const [private]
Bool casacore::ROMSSpWindowColumns::matchRefFreqCnvtrd ( uInt  row,
MFrequency  refOrChanFreq,
const Bool  isRefFreq,
const MeasFrame measFrm,
const MSDopplerColumns msdopc,
const MSSourceColumns mssrcc,
Double  tolInHz 
) const [private]
Bool casacore::ROMSSpWindowColumns::matchRefFrequency ( uInt  row,
MFrequency::Types  refType,
Double  refFreqInHz,
Double  tolInHz 
) const [private]
Int casacore::ROMSSpWindowColumns::matchSpw ( const MFrequency refFreq,
uInt  nChan,
const Quantum< Double > &  bandwidth,
Int  ifChain,
const Quantum< Double > &  tolerance,
Vector< Double > &  otherFreqs,
Bool reversed 
) const

This version does a channel to channel match too and also return the reversed if it matches but the channels are in inverse order like an upper or lower side band having same characteristics.

Int casacore::ROMSSpWindowColumns::matchSpw ( const MFrequency refFreq,
const MFrequency chanFreq1,
const MeasFrame measFrm,
const MSDopplerColumns msdopc,
const MSSourceColumns mssrcc,
uInt  nChan,
const Quantum< Double > &  bandwidth,
Int  ifChain,
const Quantum< Double > &  tolerance,
Int  tryRow = -1 
) const

Similar to above, but also pass in the frame info.

Int casacore::ROMSSpWindowColumns::matchSpw ( const MFrequency refFreq,
uInt  nChan,
const Quantum< Double > &  bandwidth,
Int  ifChain,
const Quantum< Double > &  tolerance,
Int  tryRow = -1 
) const

returns the last row that contains a spectral window that has the specified reference frequency, number of channels, total-bandwidth and IF conversion chain.

All frequencies need to match within the specified tolerance. Both the totalBandwidth & the tolerance arguments must have the same dimensions as the Hz and an AipsError exception is thrown, in debug mode, if the dimensions are wrong. In addition to the numerical values the frequency reference frame is checked and needs to match the value in the MEAS_FREQ_REF column. No conversions to other reference frames are done. Will only try to match on rows where FLAG_ROW is false. If tryRow is set to a non-negative value then that row is checked first to see if it matches. An AIpsError exception is thrown if tryRow is bigger than the number of rows in the Table. Returns -1 if no match could be found.

Bool casacore::ROMSSpWindowColumns::matchTotalBandwidth ( uInt  row,
Double  bandwidthInHz,
Double  tolInHz 
) const [private]
const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::measFreqRef (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 108 of file MSSpWindowColumns.h.

References measFreqRef_p.

const ROScalarColumn<String>& casacore::ROMSSpWindowColumns::name (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 109 of file MSSpWindowColumns.h.

References name_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::netSideband (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 110 of file MSSpWindowColumns.h.

References netSideband_p.

uInt casacore::ROMSSpWindowColumns::nrow (  )  const [inline]

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

Definition at line 137 of file MSSpWindowColumns.h.

References chanFreq_p.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::numChan (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 111 of file MSSpWindowColumns.h.

References numChan_p.

ROMSSpWindowColumns& casacore::ROMSSpWindowColumns::operator= ( const ROMSSpWindowColumns  )  [private]

Reimplemented in casacore::MSSpWindowColumns.

const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::receiverId (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 133 of file MSSpWindowColumns.h.

References receiverId_p.

const ROScalarColumn<Double>& casacore::ROMSSpWindowColumns::refFrequency (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 112 of file MSSpWindowColumns.h.

References refFrequency_p.

const ROScalarMeasColumn<MFrequency>& casacore::ROMSSpWindowColumns::refFrequencyMeas (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 115 of file MSSpWindowColumns.h.

References refFrequencyMeas_p.

const ROScalarQuantColumn<Double>& casacore::ROMSSpWindowColumns::refFrequencyQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 113 of file MSSpWindowColumns.h.

References refFrequencyQuant_p.

const ROArrayColumn<Double>& casacore::ROMSSpWindowColumns::resolution (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 117 of file MSSpWindowColumns.h.

References resolution_p.

const ROArrayQuantColumn<Double>& casacore::ROMSSpWindowColumns::resolutionQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 118 of file MSSpWindowColumns.h.

References resolutionQuant_p.

const ROScalarColumn<Double>& casacore::ROMSSpWindowColumns::totalBandwidth (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 120 of file MSSpWindowColumns.h.

References totalBandwidth_p.

const ROScalarQuantColumn<Double>& casacore::ROMSSpWindowColumns::totalBandwidthQuant (  )  const [inline]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 122 of file MSSpWindowColumns.h.

References totalBandwidthQuant_p.


Member Data Documentation

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 225 of file MSSpWindowColumns.h.

Referenced by assocNature().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 226 of file MSSpWindowColumns.h.

Referenced by assocSpwId().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::bbcNo_p [private]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 227 of file MSSpWindowColumns.h.

Referenced by bbcNo().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 228 of file MSSpWindowColumns.h.

Referenced by bbcSideband().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 210 of file MSSpWindowColumns.h.

Referenced by chanFreq(), and nrow().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 233 of file MSSpWindowColumns.h.

Referenced by chanFreqMeas().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 237 of file MSSpWindowColumns.h.

Referenced by chanFreqQuant().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 211 of file MSSpWindowColumns.h.

Referenced by chanWidth().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 238 of file MSSpWindowColumns.h.

Referenced by chanWidthQuant().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 229 of file MSSpWindowColumns.h.

Referenced by dopplerId().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 212 of file MSSpWindowColumns.h.

Referenced by effectiveBW().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 239 of file MSSpWindowColumns.h.

Referenced by effectiveBWQuant().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 213 of file MSSpWindowColumns.h.

Referenced by flagRow().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 214 of file MSSpWindowColumns.h.

Referenced by freqGroup().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 215 of file MSSpWindowColumns.h.

Referenced by freqGroupName().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 216 of file MSSpWindowColumns.h.

Referenced by ifConvChain().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 217 of file MSSpWindowColumns.h.

Referenced by measFreqRef().

ROScalarColumn<String> casacore::ROMSSpWindowColumns::name_p [private]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 218 of file MSSpWindowColumns.h.

Referenced by name().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 219 of file MSSpWindowColumns.h.

Referenced by netSideband().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::numChan_p [private]

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 220 of file MSSpWindowColumns.h.

Referenced by numChan().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 230 of file MSSpWindowColumns.h.

Referenced by receiverId().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 221 of file MSSpWindowColumns.h.

Referenced by refFrequency().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 234 of file MSSpWindowColumns.h.

Referenced by refFrequencyMeas().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 240 of file MSSpWindowColumns.h.

Referenced by refFrequencyQuant().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 222 of file MSSpWindowColumns.h.

Referenced by resolution().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 241 of file MSSpWindowColumns.h.

Referenced by resolutionQuant().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 223 of file MSSpWindowColumns.h.

Referenced by totalBandwidth().

Reimplemented in casacore::MSSpWindowColumns.

Definition at line 242 of file MSSpWindowColumns.h.

Referenced by totalBandwidthQuant().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1