CalMainColumns.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef CALIBRATION_CALMAINCOLUMNS_H
00030 #define CALIBRATION_CALMAINCOLUMNS_H
00031
00032 #include <casa/aips.h>
00033 #include <measures/Measures/MEpoch.h>
00034 #include <measures/Measures/MFrequency.h>
00035 #include <measures/Measures/MDirection.h>
00036 #include <tables/Tables/TableColumn.h>
00037 #include <tables/Tables/ScalarColumn.h>
00038 #include <tables/Tables/ArrayColumn.h>
00039 #include <measures/TableMeasures/TableMeasColumn.h>
00040 #include <measures/TableMeasures/ScalarMeasColumn.h>
00041 #include <measures/TableMeasures/ArrayMeasColumn.h>
00042 #include <measures/TableMeasures/ScalarQuantColumn.h>
00043 #include <synthesis/CalTables/CalTable.h>
00044 #include <msvis/MSVis/MSCalEnums.h>
00045
00046 namespace casa {
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 class ROCalMainColumns
00085 {
00086 public:
00087
00088 ROCalMainColumns (const CalTable& calTable);
00089
00090
00091 virtual ~ROCalMainColumns() {};
00092
00093
00094 const ROScalarColumn<Double>& time() const {return time_p;};
00095 const ROScalarMeasColumn<MEpoch>& timeMeas() const {return timeMeas_p;};
00096 const ROScalarColumn<Double>& timeEP() const {return timeEP_p;};
00097 const ROScalarQuantColumn<Double>& timeEPQuant() const
00098 {return timeEPQuant_p;};
00099 const ROScalarColumn<Double>& interval() const {return interval_p;};
00100 const ROScalarQuantColumn<Double>& intervalQuant() const
00101 {return intervalQuant_p;};
00102 const ROScalarColumn<Int>& antenna1() const {return antenna1_p;};
00103 const ROScalarColumn<Int>& feed1() const {return feed1_p;};
00104 const ROScalarColumn<Int>& fieldId() const {return fieldId_p;};
00105 const ROScalarColumn<Int>& arrayId() const {return arrayId_p;};
00106 const ROScalarColumn<Int>& obsId() const {return obsId_p;};
00107 const ROScalarColumn<Int>& scanNo() const {return scanNo_p;};
00108 const ROScalarColumn<Int>& processorId() const {return processorId_p;};
00109 const ROScalarColumn<Int>& stateId() const {return stateId_p;};
00110 const ROScalarColumn<Int>& phaseId() const {return phaseId_p;};
00111 const ROScalarColumn<Int>& pulsarBin() const {return pulsarBin_p;};
00112 const ROScalarColumn<Int>& pulsarGateId() const {return pulsarGateId_p;};
00113 const ROScalarColumn<Int>& freqGrp() const {return freqGrp_p;};
00114 const ROScalarColumn<String>& freqGrpName() const {return freqGrpName_p;};
00115 const ROScalarColumn<String>& fieldName() const {return fieldName_p;};
00116 const ROScalarColumn<String>& fieldCode() const {return fieldCode_p;};
00117 const ROScalarColumn<String>& sourceName() const {return sourceName_p;};
00118 const ROScalarColumn<String>& sourceCode() const {return sourceCode_p;};
00119 const ROScalarColumn<Int>& calGrp() const {return calGrp_p;};
00120 const ROArrayColumn<Complex>& gain() const {return gain_p;};
00121 const ROArrayColumn<Int>& refAnt() const {return refAnt_p;};
00122 const ROArrayColumn<Int>& refFeed() const {return refFeed_p;};
00123 const ROArrayColumn<Int>& refReceptor() const {return refReceptor_p;};
00124 const ROArrayColumn<Double>& refFreq() const {return refFreq_p;};
00125 const ROArrayMeasColumn<MFrequency>& refFreqMeas() const
00126 {return refFreqMeas_p;};
00127 const ROScalarColumn<Int>& measFreqRef() const {return measFreqRef_p;};
00128 const ROArrayColumn<Double>& refDir() const {return refDir_p;};
00129 const ROArrayMeasColumn<MDirection>& refDirMeas() const
00130 {return refDirMeas_p;};
00131 const ROScalarColumn<Int>& measDirRef() const {return measDirRef_p;};
00132 const ROScalarColumn<Int>& calDescId() const {return calDescId_p;};
00133 const ROScalarColumn<Int>& calHistoryId() const {return calHistoryId_p;};
00134
00135 protected:
00136
00137
00138 ROCalMainColumns() {};
00139
00140
00141
00142 const Table& asTable(const CalTable& calTable)
00143 {return calTable.calMainAsTable();}
00144
00145
00146 void attach (const CalTable& calTable, ROTableColumn& tabCol,
00147 MSCalEnums::colDef colEnum, const Bool& optional = False);
00148 void attach (const CalTable& calTable,
00149 ROArrayMeasColumn<MEpoch>& tabCol,
00150 MSCalEnums::colDef colEnum, const Bool& optional = False);
00151 void attach (const CalTable& calTable,
00152 ROArrayMeasColumn<MFrequency>& tabCol,
00153 MSCalEnums::colDef colEnum, const Bool& optional = False);
00154 void attach (const CalTable& calTable,
00155 ROArrayMeasColumn<MDirection>& tabCol,
00156 MSCalEnums::colDef colEnum, const Bool& optional = False);
00157 void attach (const CalTable& calTable, ROScalarMeasColumn<MEpoch>& tabCol,
00158 MSCalEnums::colDef colEnum, const Bool& optional = False);
00159 void attach (const CalTable& calTable, ROScalarQuantColumn<Double>& tabCol,
00160 MSCalEnums::colDef colEnum, const Bool& optional = False);
00161
00162 private:
00163
00164 ROCalMainColumns (const ROCalMainColumns&);
00165 ROCalMainColumns& operator= (const ROCalMainColumns&);
00166
00167
00168 ROScalarColumn<Double> time_p;
00169 ROScalarMeasColumn<MEpoch> timeMeas_p;
00170 ROScalarColumn<Double> timeEP_p;
00171 ROScalarQuantColumn<Double> timeEPQuant_p;
00172 ROScalarColumn<Double> interval_p;
00173 ROScalarQuantColumn<Double> intervalQuant_p;
00174 ROScalarColumn<Int> antenna1_p;
00175 ROScalarColumn<Int> feed1_p;
00176 ROScalarColumn<Int> fieldId_p;
00177 ROScalarColumn<Int> arrayId_p;
00178 ROScalarColumn<Int> obsId_p;
00179 ROScalarColumn<Int> scanNo_p;
00180 ROScalarColumn<Int> processorId_p;
00181 ROScalarColumn<Int> stateId_p;
00182 ROScalarColumn<Int> phaseId_p;
00183 ROScalarColumn<Int> pulsarBin_p;
00184 ROScalarColumn<Int> pulsarGateId_p;
00185 ROScalarColumn<Int> freqGrp_p;
00186 ROScalarColumn<String> freqGrpName_p;
00187 ROScalarColumn<String> fieldName_p;
00188 ROScalarColumn<String> fieldCode_p;
00189 ROScalarColumn<String> sourceName_p;
00190 ROScalarColumn<String> sourceCode_p;
00191 ROScalarColumn<Int> calGrp_p;
00192 ROArrayColumn<Complex> gain_p;
00193 ROArrayColumn<Int> refAnt_p;
00194 ROArrayColumn<Int> refFeed_p;
00195 ROArrayColumn<Int> refReceptor_p;
00196 ROArrayColumn<Double> refFreq_p;
00197 ROArrayMeasColumn<MFrequency> refFreqMeas_p;
00198 ROScalarColumn<Int> measFreqRef_p;
00199 ROArrayColumn<Double> refDir_p;
00200 ROArrayMeasColumn<MDirection> refDirMeas_p;
00201 ROScalarColumn<Int> measDirRef_p;
00202 ROScalarColumn<Int> calDescId_p;
00203 ROScalarColumn<Int> calHistoryId_p;
00204 };
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242 class CalMainColumns
00243 {
00244 public:
00245
00246 CalMainColumns (CalTable& calTable);
00247
00248
00249 virtual ~CalMainColumns() {};
00250
00251
00252 ScalarColumn<Double>& time() {return time_p;};
00253 ScalarMeasColumn<MEpoch>& timeMeas() {return timeMeas_p;};
00254 ScalarColumn<Double>& timeEP() {return timeEP_p;};
00255 ScalarQuantColumn<Double>& timeEPQuant() {return timeEPQuant_p;};
00256 ScalarColumn<Double>& interval() {return interval_p;};
00257 ScalarQuantColumn<Double>& intervalQuant() {return intervalQuant_p;};
00258 ScalarColumn<Int>& antenna1() {return antenna1_p;};
00259 ScalarColumn<Int>& feed1() {return feed1_p;};
00260 ScalarColumn<Int>& fieldId() {return fieldId_p;};
00261 ScalarColumn<Int>& arrayId() {return arrayId_p;};
00262 ScalarColumn<Int>& obsId() {return obsId_p;};
00263 ScalarColumn<Int>& scanNo() {return scanNo_p;};
00264 ScalarColumn<Int>& processorId() {return processorId_p;};
00265 ScalarColumn<Int>& stateId() {return stateId_p;};
00266 ScalarColumn<Int>& phaseId() {return phaseId_p;};
00267 ScalarColumn<Int>& pulsarBin() {return pulsarBin_p;};
00268 ScalarColumn<Int>& pulsarGateId() {return pulsarGateId_p;};
00269 ScalarColumn<Int>& freqGrp() {return freqGrp_p;};
00270 ScalarColumn<String>& freqGrpName() {return freqGrpName_p;};
00271 ScalarColumn<String>& fieldName() {return fieldName_p;};
00272 ScalarColumn<String>& fieldCode() {return fieldCode_p;};
00273 ScalarColumn<String>& sourceName() {return sourceName_p;};
00274 ScalarColumn<String>& sourceCode() {return sourceCode_p;};
00275 ScalarColumn<Int>& calGrp() {return calGrp_p;};
00276 ArrayColumn<Complex>& gain() {return gain_p;};
00277 ArrayColumn<Int>& refAnt() {return refAnt_p;};
00278 ArrayColumn<Int>& refFeed() {return refFeed_p;};
00279 ArrayColumn<Int>& refReceptor() {return refReceptor_p;};
00280 ArrayColumn<Double>& refFreq() {return refFreq_p;};
00281 ArrayMeasColumn<MFrequency>& refFreqMeas() {return refFreqMeas_p;};
00282 ScalarColumn<Int>& measFreqRef() {return measFreqRef_p;};
00283 ArrayColumn<Double>& refDir() {return refDir_p;};
00284 ArrayMeasColumn<MDirection>& refDirMeas() {return refDirMeas_p;};
00285 ScalarColumn<Int>& measDirRef() {return measDirRef_p;};
00286 ScalarColumn<Int>& calDescId() {return calDescId_p;};
00287 ScalarColumn<Int>& calHistoryId() {return calHistoryId_p;};
00288
00289 protected:
00290
00291
00292 CalMainColumns() {};
00293
00294
00295
00296 Table& asTable(CalTable& calTable) {return calTable.calMainAsTable();}
00297
00298
00299 void attach (CalTable& calTable, TableColumn& tabCol,
00300 MSCalEnums::colDef colEnum, const Bool& optional = False);
00301 void attach (CalTable& calTable, ArrayMeasColumn<MEpoch>& tabCol,
00302 MSCalEnums::colDef colEnum, const Bool& optional = False);
00303 void attach (CalTable& calTable, ArrayMeasColumn<MFrequency>& tabCol,
00304 MSCalEnums::colDef colEnum, const Bool& optional = False);
00305 void attach (CalTable& calTable, ArrayMeasColumn<MDirection>& tabCol,
00306 MSCalEnums::colDef colEnum, const Bool& optional = False);
00307 void attach (CalTable& calTable, ScalarMeasColumn<MEpoch>& tabCol,
00308 MSCalEnums::colDef colEnum, const Bool& optional = False);
00309 void attach (CalTable& calTable, ScalarQuantColumn<Double>& tabCol,
00310 MSCalEnums::colDef colEnum, const Bool& optional = False);
00311
00312 private:
00313
00314 CalMainColumns (const CalMainColumns&);
00315 CalMainColumns& operator= (const CalMainColumns&);
00316
00317
00318 ScalarColumn<Double> time_p;
00319 ScalarMeasColumn<MEpoch> timeMeas_p;
00320 ScalarColumn<Double> timeEP_p;
00321 ScalarQuantColumn<Double> timeEPQuant_p;
00322 ScalarColumn<Double> interval_p;
00323 ScalarQuantColumn<Double> intervalQuant_p;
00324 ScalarColumn<Int> antenna1_p;
00325 ScalarColumn<Int> feed1_p;
00326 ScalarColumn<Int> fieldId_p;
00327 ScalarColumn<Int> arrayId_p;
00328 ScalarColumn<Int> obsId_p;
00329 ScalarColumn<Int> scanNo_p;
00330 ScalarColumn<Int> processorId_p;
00331 ScalarColumn<Int> stateId_p;
00332 ScalarColumn<Int> phaseId_p;
00333 ScalarColumn<Int> pulsarBin_p;
00334 ScalarColumn<Int> pulsarGateId_p;
00335 ScalarColumn<Int> freqGrp_p;
00336 ScalarColumn<String> freqGrpName_p;
00337 ScalarColumn<String> fieldName_p;
00338 ScalarColumn<String> fieldCode_p;
00339 ScalarColumn<String> sourceName_p;
00340 ScalarColumn<String> sourceCode_p;
00341 ScalarColumn<Int> calGrp_p;
00342 ArrayColumn<Complex> gain_p;
00343 ArrayColumn<Int> refAnt_p;
00344 ArrayColumn<Int> refFeed_p;
00345 ArrayColumn<Int> refReceptor_p;
00346 ArrayColumn<Double> refFreq_p;
00347 ArrayMeasColumn<MFrequency> refFreqMeas_p;
00348 ScalarColumn<Int> measFreqRef_p;
00349 ArrayColumn<Double> refDir_p;
00350 ArrayMeasColumn<MDirection> refDirMeas_p;
00351 ScalarColumn<Int> measDirRef_p;
00352 ScalarColumn<Int> calDescId_p;
00353 ScalarColumn<Int> calHistoryId_p;
00354 };
00355
00356
00357 }
00358
00359 #endif
00360
00361
00362
00363
00364