casa  5.7.0-16
 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::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

Public Member Functions

 ROMSSpWindowColumns (const MSSpectralWindow &msSpWindow)
 Create a columns object that accesses the data in the specified Table. More...
 
 ~ROMSSpWindowColumns ()
 The destructor does nothing special. More...
 
const ROArrayColumn< Double > & chanFreq () const
 Access to columns. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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;. More...
 
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. More...
 

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.

Definition at line 128 of file MSSpWindowColumns.h.

References assocNature_p.

Referenced by casacore::MSSpWindowColumns::assocNature().

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

Definition at line 129 of file MSSpWindowColumns.h.

References assocSpwId_p.

Referenced by casacore::MSSpWindowColumns::assocSpwId().

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

Definition at line 130 of file MSSpWindowColumns.h.

References bbcNo_p.

Referenced by casacore::MSSpWindowColumns::bbcNo().

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

Definition at line 131 of file MSSpWindowColumns.h.

References bbcSideband_p.

Referenced by casacore::MSSpWindowColumns::bbcSideband().

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

Access to columns.

Definition at line 93 of file MSSpWindowColumns.h.

References chanFreq_p.

Referenced by casacore::MSSpWindowColumns::chanFreq().

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

Definition at line 96 of file MSSpWindowColumns.h.

References chanFreqMeas_p.

Referenced by casacore::MSSpWindowColumns::chanFreqMeas().

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

Definition at line 94 of file MSSpWindowColumns.h.

References chanFreqQuant_p.

Referenced by casacore::MSSpWindowColumns::chanFreqQuant().

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

Definition at line 98 of file MSSpWindowColumns.h.

References chanWidth_p.

Referenced by casacore::MSSpWindowColumns::chanWidth().

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

Definition at line 99 of file MSSpWindowColumns.h.

References chanWidthQuant_p.

Referenced by casacore::MSSpWindowColumns::chanWidthQuant().

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

Definition at line 132 of file MSSpWindowColumns.h.

References dopplerId_p.

Referenced by casacore::MSSpWindowColumns::dopplerId().

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

Definition at line 101 of file MSSpWindowColumns.h.

References effectiveBW_p.

Referenced by casacore::MSSpWindowColumns::effectiveBW().

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

Definition at line 102 of file MSSpWindowColumns.h.

References effectiveBWQuant_p.

Referenced by casacore::MSSpWindowColumns::effectiveBWQuant().

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

Definition at line 107 of file MSSpWindowColumns.h.

References flagRow_p.

Referenced by casacore::MSSpWindowColumns::flagRow().

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

Definition at line 104 of file MSSpWindowColumns.h.

References freqGroup_p.

Referenced by casacore::MSSpWindowColumns::freqGroup().

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

Definition at line 105 of file MSSpWindowColumns.h.

References freqGroupName_p.

Referenced by casacore::MSSpWindowColumns::freqGroupName().

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

Definition at line 106 of file MSSpWindowColumns.h.

References ifConvChain_p.

Referenced by casacore::MSSpWindowColumns::ifConvChain().

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,
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 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,
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 casacore::ROMSSpWindowColumns::matchTotalBandwidth ( uInt  row,
Double  bandwidthInHz,
Double  tolInHz 
) const
private
const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::measFreqRef ( ) const
inline

Definition at line 108 of file MSSpWindowColumns.h.

References measFreqRef_p.

Referenced by casacore::MSSpWindowColumns::measFreqRef().

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

Definition at line 109 of file MSSpWindowColumns.h.

References name_p.

Referenced by casacore::MSSpWindowColumns::name().

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

Definition at line 110 of file MSSpWindowColumns.h.

References netSideband_p.

Referenced by casacore::MSSpWindowColumns::netSideband().

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.

Referenced by casa::sdfiller::SpectralWindowRecord::fill().

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

Definition at line 111 of file MSSpWindowColumns.h.

References numChan_p.

Referenced by casacore::MSSpWindowColumns::numChan().

ROMSSpWindowColumns& casacore::ROMSSpWindowColumns::operator= ( const ROMSSpWindowColumns )
private
const ROScalarColumn<Int>& casacore::ROMSSpWindowColumns::receiverId ( ) const
inline

Definition at line 133 of file MSSpWindowColumns.h.

References receiverId_p.

Referenced by casacore::MSSpWindowColumns::receiverId().

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

Definition at line 112 of file MSSpWindowColumns.h.

References refFrequency_p.

Referenced by casacore::MSSpWindowColumns::refFrequency().

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

Definition at line 115 of file MSSpWindowColumns.h.

References refFrequencyMeas_p.

Referenced by casacore::MSSpWindowColumns::refFrequencyMeas().

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

Definition at line 113 of file MSSpWindowColumns.h.

References refFrequencyQuant_p.

Referenced by casacore::MSSpWindowColumns::refFrequencyQuant().

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

Definition at line 117 of file MSSpWindowColumns.h.

References resolution_p.

Referenced by casacore::MSSpWindowColumns::resolution().

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

Definition at line 118 of file MSSpWindowColumns.h.

References resolutionQuant_p.

Referenced by casacore::MSSpWindowColumns::resolutionQuant().

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

Definition at line 120 of file MSSpWindowColumns.h.

References totalBandwidth_p.

Referenced by casacore::MSSpWindowColumns::totalBandwidth().

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

Member Data Documentation

ROArrayColumn<String> casacore::ROMSSpWindowColumns::assocNature_p
private

Definition at line 225 of file MSSpWindowColumns.h.

Referenced by assocNature().

ROArrayColumn<Int> casacore::ROMSSpWindowColumns::assocSpwId_p
private

Definition at line 226 of file MSSpWindowColumns.h.

Referenced by assocSpwId().

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

Definition at line 227 of file MSSpWindowColumns.h.

Referenced by bbcNo().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::bbcSideband_p
private

Definition at line 228 of file MSSpWindowColumns.h.

Referenced by bbcSideband().

ROArrayColumn<Double> casacore::ROMSSpWindowColumns::chanFreq_p
private

Definition at line 210 of file MSSpWindowColumns.h.

Referenced by chanFreq(), and nrow().

ROArrayMeasColumn<MFrequency> casacore::ROMSSpWindowColumns::chanFreqMeas_p
private

Definition at line 233 of file MSSpWindowColumns.h.

Referenced by chanFreqMeas().

ROArrayQuantColumn<Double> casacore::ROMSSpWindowColumns::chanFreqQuant_p
private

Definition at line 237 of file MSSpWindowColumns.h.

Referenced by chanFreqQuant().

ROArrayColumn<Double> casacore::ROMSSpWindowColumns::chanWidth_p
private

Definition at line 211 of file MSSpWindowColumns.h.

Referenced by chanWidth().

ROArrayQuantColumn<Double> casacore::ROMSSpWindowColumns::chanWidthQuant_p
private

Definition at line 238 of file MSSpWindowColumns.h.

Referenced by chanWidthQuant().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::dopplerId_p
private

Definition at line 229 of file MSSpWindowColumns.h.

Referenced by dopplerId().

ROArrayColumn<Double> casacore::ROMSSpWindowColumns::effectiveBW_p
private

Definition at line 212 of file MSSpWindowColumns.h.

Referenced by effectiveBW().

ROArrayQuantColumn<Double> casacore::ROMSSpWindowColumns::effectiveBWQuant_p
private

Definition at line 239 of file MSSpWindowColumns.h.

Referenced by effectiveBWQuant().

ROScalarColumn<Bool> casacore::ROMSSpWindowColumns::flagRow_p
private

Definition at line 213 of file MSSpWindowColumns.h.

Referenced by flagRow().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::freqGroup_p
private

Definition at line 214 of file MSSpWindowColumns.h.

Referenced by freqGroup().

ROScalarColumn<String> casacore::ROMSSpWindowColumns::freqGroupName_p
private

Definition at line 215 of file MSSpWindowColumns.h.

Referenced by freqGroupName().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::ifConvChain_p
private

Definition at line 216 of file MSSpWindowColumns.h.

Referenced by ifConvChain().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::measFreqRef_p
private

Definition at line 217 of file MSSpWindowColumns.h.

Referenced by measFreqRef().

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

Definition at line 218 of file MSSpWindowColumns.h.

Referenced by name().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::netSideband_p
private

Definition at line 219 of file MSSpWindowColumns.h.

Referenced by netSideband().

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

Definition at line 220 of file MSSpWindowColumns.h.

Referenced by numChan().

ROScalarColumn<Int> casacore::ROMSSpWindowColumns::receiverId_p
private

Definition at line 230 of file MSSpWindowColumns.h.

Referenced by receiverId().

ROScalarColumn<Double> casacore::ROMSSpWindowColumns::refFrequency_p
private

Definition at line 221 of file MSSpWindowColumns.h.

Referenced by refFrequency().

ROScalarMeasColumn<MFrequency> casacore::ROMSSpWindowColumns::refFrequencyMeas_p
private

Definition at line 234 of file MSSpWindowColumns.h.

Referenced by refFrequencyMeas().

ROScalarQuantColumn<Double> casacore::ROMSSpWindowColumns::refFrequencyQuant_p
private

Definition at line 240 of file MSSpWindowColumns.h.

Referenced by refFrequencyQuant().

ROArrayColumn<Double> casacore::ROMSSpWindowColumns::resolution_p
private

Definition at line 222 of file MSSpWindowColumns.h.

Referenced by resolution().

ROArrayQuantColumn<Double> casacore::ROMSSpWindowColumns::resolutionQuant_p
private

Definition at line 241 of file MSSpWindowColumns.h.

Referenced by resolutionQuant().

ROScalarColumn<Double> casacore::ROMSSpWindowColumns::totalBandwidth_p
private

Definition at line 223 of file MSSpWindowColumns.h.

Referenced by totalBandwidth().

ROScalarQuantColumn<Double> casacore::ROMSSpWindowColumns::totalBandwidthQuant_p
private

Definition at line 242 of file MSSpWindowColumns.h.

Referenced by totalBandwidthQuant().


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