Go to the documentation of this file.
28 #ifndef MS_MSSPWINDOWCOLUMNS_H
29 #define MS_MSSPWINDOWCOLUMNS_H
31 #include <casacore/casa/aips.h>
32 #include <casacore/measures/Measures/MFrequency.h>
33 #include <casacore/measures/Measures/MCFrequency.h>
34 #include <casacore/tables/Tables/ScalarColumn.h>
35 #include <casacore/tables/Tables/ArrayColumn.h>
36 #include <casacore/measures/TableMeasures/ScalarMeasColumn.h>
37 #include <casacore/measures/TableMeasures/ScalarQuantColumn.h>
38 #include <casacore/measures/TableMeasures/ArrayMeasColumn.h>
39 #include <casacore/measures/TableMeasures/ArrayQuantColumn.h>
40 #include <casacore/casa/BasicSL/String.h>
41 #include <casacore/measures/Measures/MeasFrame.h>
42 #include <casacore/ms/MeasurementSets/MSDopplerColumns.h>
43 #include <casacore/ms/MeasurementSets/MSSourceColumns.h>
47 class MSSpectralWindow;
211 Bool& reversed)
const;
ScalarColumn< Int > & ifConvChain()
Bool matchChanFreq(uInt row, const Vector< Double > &chanFreqInHz, Double tolInHz) const
const ScalarColumn< Int > & freqGroup() const
ArrayColumn< String > & assocNature()
Access to optional columns.
ScalarColumn< Int > netSideband_p
MSSpWindowColumns(const MSSpectralWindow &msSpWindow)
Create a columns object that accesses the data in the specified Table.
ArrayQuantColumn< Double > chanWidthQuant_p
ScalarColumn< Int > & bbcSideband()
ScalarColumn< Int > bbcNo_p
ArrayQuantColumn< Double > & effectiveBWQuant()
ScalarColumn< Int > & dopplerId()
ArrayQuantColumn< Double > & chanWidthQuant()
MSSpWindowColumns & operator=(const MSSpWindowColumns &)
const ArrayColumn< Double > & chanWidth() const
ArrayMeasColumn< MFrequency > & chanFreqMeas()
ArrayColumn< Double > chanFreq_p
const ScalarColumn< Int > & ifConvChain() const
const ArrayColumn< Double > & effectiveBW() const
const ArrayQuantColumn< Double > & chanFreqQuant() const
void attachOptionalCols(const MSSpectralWindow &msSpWindow)
const ScalarColumn< Int > & measFreqRef() const
const ArrayColumn< Int > & assocSpwId() const
ArrayColumn< Double > & resolution()
const ScalarQuantColumn< Double > & totalBandwidthQuant() const
ScalarColumn< Int > & freqGroup()
const ScalarColumn< Int > & receiverId() const
const ArrayColumn< String > & assocNature() const
Const access to optional columns.
ArrayMeasColumn< MFrequency > chanFreqMeas_p
~MSSpWindowColumns()
The destructor does nothing special.
ArrayColumn< Double > resolution_p
ScalarColumn< Int > dopplerId_p
ArrayQuantColumn< Double > & chanFreqQuant()
MSSpWindowColumns ROMSSpWindowColumns
const ArrayColumn< Double > & resolution() const
ScalarColumn< String > name_p
const ScalarMeasColumn< MFrequency > & refFrequencyMeas() const
ScalarColumn< String > & freqGroupName()
ScalarMeasColumn< MFrequency > & refFrequencyMeas()
ScalarColumn< Int > freqGroup_p
ArrayColumn< Double > & chanWidth()
ScalarColumn< Int > & receiverId()
const ScalarQuantColumn< Double > & refFrequencyQuant() const
ScalarColumn< Int > & netSideband()
ArrayColumn< Double > & chanFreq()
Access to required columns.
ArrayColumn< Int > assocSpwId_p
const ScalarColumn< String > & freqGroupName() const
ArrayColumn< Double > effectiveBW_p
const ScalarColumn< Int > & dopplerId() const
ScalarColumn< Double > & totalBandwidth()
ScalarQuantColumn< Double > totalBandwidthQuant_p
ScalarColumn< Int > & measFreqRef()
Bool matchRefFrequency(uInt row, MFrequency::Types refType, Double refFreqInHz, Double tolInHz) const
Vector< Int > 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...
Bool matchTotalBandwidth(uInt row, Double bandwidthInHz, Double tolInHz) const
void attach(const MSSpectralWindow &msSpWindow)
Bool matchRefFreqCnvtrd(uInt row, MFrequency refOrChanFreq, const Bool isRefFreq, const MeasFrame &measFrm, const MSDopplerColumns &msdopc, const MSSourceColumns &mssrcc, Double tolInHz) const
const ScalarColumn< Bool > & flagRow() const
ScalarColumn< Int > measFreqRef_p
uInt nrow() const
Convenience function that returns the number of rows in any of the columns.
this file contains all the compiler specific defines
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.
ArrayQuantColumn< Double > chanFreqQuant_p
ScalarColumn< Double > & refFrequency()
ArrayColumn< Int > & assocSpwId()
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
const ScalarColumn< String > & name() const
ScalarColumn< Double > totalBandwidth_p
const ArrayQuantColumn< Double > & effectiveBWQuant() const
const ArrayMeasColumn< MFrequency > & chanFreqMeas() const
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,...
ArrayColumn< Double > & effectiveBW()
const ScalarColumn< Double > & refFrequency() const
ScalarColumn< Int > receiverId_p
ArrayQuantColumn< Double > & resolutionQuant()
MSSpWindowColumns(const MSSpWindowColumns &)
ArrayQuantColumn< Double > resolutionQuant_p
ArrayColumn< Double > chanWidth_p
const ArrayQuantColumn< Double > & resolutionQuant() const
ScalarColumn< Bool > flagRow_p
ScalarColumn< Bool > & flagRow()
ScalarColumn< Int > ifConvChain_p
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 c...
ScalarQuantColumn< Double > refFrequencyQuant_p
ArrayColumn< String > assocNature_p
const ArrayQuantColumn< Double > & chanWidthQuant() const
ScalarColumn< String > freqGroupName_p
const ScalarColumn< Int > & netSideband() const
const ScalarColumn< Double > & totalBandwidth() const
bool Bool
Define the standard types used by Casacore.
ScalarColumn< Double > refFrequency_p
ScalarMeasColumn< MFrequency > refFrequencyMeas_p
ScalarQuantColumn< Double > & refFrequencyQuant()
ScalarColumn< Int > numChan_p
ScalarColumn< Int > & numChan()
const ScalarColumn< Int > & numChan() const
ArrayQuantColumn< Double > effectiveBWQuant_p
ScalarColumn< Int > & bbcNo()
const ArrayColumn< Double > & chanFreq() const
Const access to columns.
Bool matchNumChan(uInt row, Int nChan) const
ScalarColumn< String > & name()
const ScalarColumn< Int > & bbcSideband() const
Bool matchIfConvChain(uInt row, Int ifChain) const
ScalarColumn< Int > bbcSideband_p
ScalarQuantColumn< Double > & totalBandwidthQuant()
const ScalarColumn< Int > & bbcNo() const