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

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

#include <MSSpWindowColumns.h>

Inheritance diagram for casa::ROMSSpWindowColumns:
casa::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

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

The destructor does nothing special.


Member Function Documentation

Vector<Int> casa::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.

Access to optional columns.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 128 of file MSSpWindowColumns.h.

References assocNature_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 129 of file MSSpWindowColumns.h.

References assocSpwId_p.

void casa::ROMSSpWindowColumns::attach ( const MSSpectralWindow msSpWindow) [protected]
void casa::ROMSSpWindowColumns::attachOptionalCols ( const MSSpectralWindow msSpWindow) [private]

Reimplemented in casa::MSSpWindowColumns.

Definition at line 130 of file MSSpWindowColumns.h.

References bbcNo_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 131 of file MSSpWindowColumns.h.

References bbcSideband_p.

Access to columns.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 93 of file MSSpWindowColumns.h.

References chanFreq_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 96 of file MSSpWindowColumns.h.

References chanFreqMeas_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 94 of file MSSpWindowColumns.h.

References chanFreqQuant_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 98 of file MSSpWindowColumns.h.

References chanWidth_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 99 of file MSSpWindowColumns.h.

References chanWidthQuant_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 132 of file MSSpWindowColumns.h.

References dopplerId_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 101 of file MSSpWindowColumns.h.

References effectiveBW_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 102 of file MSSpWindowColumns.h.

References effectiveBWQuant_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 107 of file MSSpWindowColumns.h.

References flagRow_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 104 of file MSSpWindowColumns.h.

References freqGroup_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 105 of file MSSpWindowColumns.h.

References freqGroupName_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 106 of file MSSpWindowColumns.h.

References ifConvChain_p.

Bool casa::ROMSSpWindowColumns::matchChanFreq ( uInt  row,
const Vector< Double > &  chanFreqInHz,
Double  tolInHz 
) const [private]
Bool casa::ROMSSpWindowColumns::matchIfConvChain ( uInt  row,
Int  ifChain 
) const [private]
Bool casa::ROMSSpWindowColumns::matchNumChan ( uInt  row,
Int  nChan 
) const [private]
Bool casa::ROMSSpWindowColumns::matchRefFreqCnvtrd ( uInt  row,
MFrequency  refOrChanFreq,
const Bool  isRefFreq,
const MeasFrame measFrm,
const MSDopplerColumns msdopc,
const MSSourceColumns mssrcc,
Double  tolInHz 
) const [private]
Bool casa::ROMSSpWindowColumns::matchRefFrequency ( uInt  row,
MFrequency::Types  refType,
Double  refFreqInHz,
Double  tolInHz 
) const [private]
Int casa::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.

Int casa::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 casa::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.

Bool casa::ROMSSpWindowColumns::matchTotalBandwidth ( uInt  row,
Double  bandwidthInHz,
Double  tolInHz 
) const [private]

Reimplemented in casa::MSSpWindowColumns.

Definition at line 108 of file MSSpWindowColumns.h.

References measFreqRef_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 109 of file MSSpWindowColumns.h.

References name_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 110 of file MSSpWindowColumns.h.

References netSideband_p.

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

Definition at line 137 of file MSSpWindowColumns.h.

References chanFreq_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 111 of file MSSpWindowColumns.h.

References numChan_p.

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

Reimplemented in casa::MSSpWindowColumns.

Definition at line 133 of file MSSpWindowColumns.h.

References receiverId_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 112 of file MSSpWindowColumns.h.

References refFrequency_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 115 of file MSSpWindowColumns.h.

References refFrequencyMeas_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 113 of file MSSpWindowColumns.h.

References refFrequencyQuant_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 117 of file MSSpWindowColumns.h.

References resolution_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 118 of file MSSpWindowColumns.h.

References resolutionQuant_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 120 of file MSSpWindowColumns.h.

References totalBandwidth_p.

Reimplemented in casa::MSSpWindowColumns.

Definition at line 122 of file MSSpWindowColumns.h.

References totalBandwidthQuant_p.


Member Data Documentation

Reimplemented in casa::MSSpWindowColumns.

Definition at line 225 of file MSSpWindowColumns.h.

Referenced by assocNature().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 226 of file MSSpWindowColumns.h.

Referenced by assocSpwId().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 227 of file MSSpWindowColumns.h.

Referenced by bbcNo().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 228 of file MSSpWindowColumns.h.

Referenced by bbcSideband().

   

Reimplemented in casa::MSSpWindowColumns.

Definition at line 210 of file MSSpWindowColumns.h.

Referenced by chanFreq(), and nrow().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 233 of file MSSpWindowColumns.h.

Referenced by chanFreqMeas().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 237 of file MSSpWindowColumns.h.

Referenced by chanFreqQuant().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 211 of file MSSpWindowColumns.h.

Referenced by chanWidth().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 238 of file MSSpWindowColumns.h.

Referenced by chanWidthQuant().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 229 of file MSSpWindowColumns.h.

Referenced by dopplerId().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 212 of file MSSpWindowColumns.h.

Referenced by effectiveBW().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 239 of file MSSpWindowColumns.h.

Referenced by effectiveBWQuant().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 213 of file MSSpWindowColumns.h.

Referenced by flagRow().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 214 of file MSSpWindowColumns.h.

Referenced by freqGroup().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 215 of file MSSpWindowColumns.h.

Referenced by freqGroupName().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 216 of file MSSpWindowColumns.h.

Referenced by ifConvChain().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 217 of file MSSpWindowColumns.h.

Referenced by measFreqRef().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 218 of file MSSpWindowColumns.h.

Referenced by name().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 219 of file MSSpWindowColumns.h.

Referenced by netSideband().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 220 of file MSSpWindowColumns.h.

Referenced by numChan().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 230 of file MSSpWindowColumns.h.

Referenced by receiverId().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 221 of file MSSpWindowColumns.h.

Referenced by refFrequency().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 234 of file MSSpWindowColumns.h.

Referenced by refFrequencyMeas().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 240 of file MSSpWindowColumns.h.

Referenced by refFrequencyQuant().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 222 of file MSSpWindowColumns.h.

Referenced by resolution().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 241 of file MSSpWindowColumns.h.

Referenced by resolutionQuant().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 223 of file MSSpWindowColumns.h.

Referenced by totalBandwidth().

Reimplemented in casa::MSSpWindowColumns.

Definition at line 242 of file MSSpWindowColumns.h.

Referenced by totalBandwidthQuant().


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