00001 //# MSMainEnums.h: Class with definitions for the main MeasurementSet table 00002 //# Copyright (C) 1996,1999,2000 00003 //# Associated Universities, Inc. Washington DC, USA. 00004 //# 00005 //# This library is free software; you can redistribute it and/or modify it 00006 //# under the terms of the GNU Library General Public License as published by 00007 //# the Free Software Foundation; either version 2 of the License, or (at your 00008 //# option) any later version. 00009 //# 00010 //# This library is distributed in the hope that it will be useful, but WITHOUT 00011 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00012 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00013 //# License for more details. 00014 //# 00015 //# You should have received a copy of the GNU Library General Public License 00016 //# along with this library; if not, write to the Free Software Foundation, 00017 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 00018 //# 00019 //# Correspondence concerning AIPS++ should be addressed as follows: 00020 //# Internet email: aips2-request@nrao.edu. 00021 //# Postal address: AIPS++ Project Office 00022 //# National Radio Astronomy Observatory 00023 //# 520 Edgemont Road 00024 //# Charlottesville, VA 22903-2475 USA 00025 //# 00026 //# 00027 //# $Id$ 00028 00029 #ifndef MS_MSMAINENUMS_H 00030 #define MS_MSMAINENUMS_H 00031 00032 #include <casacore/casa/aips.h> 00033 00034 namespace casacore { //# NAMESPACE CASACORE - BEGIN 00035 00036 // <use visibility=export> 00037 00038 // <summary> Enums for the MeasurementSet main table </summary> 00039 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="" demos=""> 00040 // </reviewed> 00041 // <etymology> 00042 // This class contains the enum defininitions for the main MeasurementSet 00043 // table. 00044 // </etymology> 00045 00046 // <synopsis> 00047 // This class does nothing. It is merely a container for the enumerations 00048 // used by the MeasurementSet class. These enumerations define the 00049 // standard columns, keywords. 00050 // </synopsis> 00051 00052 // <example> 00053 // See the documentation for MeasurementSet for examples on the use of these 00054 // enumerations. 00055 // </example> 00056 // <todo asof="1999/02/04"> 00057 // All the todo items which may be related to this class are 00058 // grouped with the todo items for MeasurementSet 00059 // </todo> 00060 // 00061 00062 class MSMainEnums { 00063 public: 00064 // The Main table colums with predefined meaning. 00065 enum PredefinedColumns { 00066 // "True" columns are defined. <BR> 00067 // TYPE - UNIT - MEASURE 00068 UNDEFINED_COLUMN=0, 00069 // 00070 // ID of first antenna in antenna-pair. This is a key into the 00071 // ANTENNA table. Ranges from 0 to NUM_ANT-1.<BR> 00072 // Int 00073 ANTENNA1, 00074 // 00075 // ID of second antenna in antenna-pair. For SD ANTENNA1==ANTENNA2<BR> 00076 // Int 00077 ANTENNA2, 00078 // 00079 // ARRAY id.<BR> 00080 // Int. 00081 ARRAY_ID, 00082 // 00083 // Data description id <BR> 00084 // Int. 00085 DATA_DESC_ID, 00086 // 00087 // Effective integration time (i.e.<=INTERVAL)<BR> 00088 // Double - s. 00089 EXPOSURE, 00090 // 00091 // Feed id on ANTENNA1.<BR> 00092 // Int. 00093 FEED1, 00094 // 00095 // Feed id on ANTENNA2.<BR> 00096 // Int. 00097 FEED2, 00098 // 00099 // Unique id for this pointing (or drift scan)<BR> 00100 // Int 00101 FIELD_ID, 00102 // 00103 // The data flags, array of bools with same shape as data. 00104 // Data is flagged bad if FLAG is True.<BR> 00105 // Bool(Nc, Nf) 00106 FLAG, 00107 // 00108 // Flag category, allows for multiple categories of flagging, which can 00109 // selectively be reset. The cumulative effect is reflected in FLAG. 00110 // This column should have an attached keyword CATEGORY which is a 00111 // String (Ncat) of categories (e.g, ONLINE, FLAG_CMD, INTERACTIVE) <BR> 00112 // Bool (Nc, Nf, Ncat) 00113 FLAG_CATEGORY, 00114 // 00115 // Flag all data in this row if True.<BR> 00116 // Bool 00117 FLAG_ROW, 00118 // 00119 // The extent of this sample, sampling interval.<BR> 00120 // Double - s. 00121 INTERVAL, 00122 // 00123 // Index into OBSERVATION table. <BR> 00124 // Int. 00125 OBSERVATION_ID, 00126 // 00127 // Processor Id, points to PROCESSOR table with information on the 00128 // correlator or backend setup. <BR> 00129 // Int 00130 PROCESSOR_ID, 00131 // 00132 // Scan number. 00133 // Int. 00134 SCAN_NUMBER, 00135 // 00136 // Estimated rms noise for channel with unity bandpass response.<BR> 00137 // Float(Nc) - Same units as the DATA column. 00138 SIGMA, 00139 // 00140 // State Id, points to STATE table with info on current observing mode, 00141 // calibration and reference signals etc. (Mainly single dish) <BR> 00142 // Int 00143 STATE_ID, 00144 // 00145 // Modified Julian Day number (JD-2400000.5) for midpoint of integration. 00146 // For high precision timing, add the value from TIME_EXTRA_PREC.<BR> 00147 // Double - s - EPOCH. 00148 TIME, 00149 // 00150 // Modified Julian Day number (JD-2400000.5) for centroid of integration. 00151 // Double - s - EPOCH. 00152 TIME_CENTROID, 00153 // 00154 // UVW coordinates.<BR> 00155 // Double(3) - m - UVW. 00156 UVW, 00157 // 00158 // Weight of spectrum. This is the weight assigned by the correlator and 00159 // does NOT get overwritten by e.g. imaging tasks that do weighting.<BR> 00160 // Float(Nc). 00161 WEIGHT, 00162 // 00163 // Not a column, but just an enum specifying the number of required columns. 00164 //# Note: first enum after this one should be assigned value of this enum. 00165 NUMBER_REQUIRED_COLUMNS=WEIGHT, 00166 // 00167 // Antenna3 - for triple correlations products. <BR> 00168 // Int 00169 ANTENNA3, 00170 // 00171 // Reference antenna for this baseline, True for ANTENNA1 <BR> 00172 // Bool 00173 BASELINE_REF, 00174 // 00175 // The Corrected complex visibility data (optional). <BR> 00176 // Complex(Nc, Nf) 00177 CORRECTED_DATA, 00178 // 00179 // Complex visibility matrix. The UNITS are unspecified to allow 00180 // for the calibrated data to show up as a DATA column as well but in 00181 // a calibrated MS.<BR> 00182 // Complex(Nc, Nf) 00183 DATA, 00184 // 00185 // Feed id on ANTENNA3 <BR> 00186 // Int 00187 FEED3, 00188 // 00189 // Floating point data column. For simple single dish work this can be used 00190 // instead of the complex DATA column. <BR> 00191 // Float(Nc, Nf) 00192 FLOAT_DATA, 00193 // 00194 // The imaging weights (optional). <BR> 00195 // Float(Nf) 00196 IMAGING_WEIGHT, 00197 // 00198 // Complex correlation function or lag spectrum for each correlation 00199 // product <BR> 00200 // Complex(Nc, Nl) 00201 LAG_DATA, 00202 // 00203 // The model visibility data (optional). <BR> 00204 // Complex(Nc,Nf) 00205 MODEL_DATA, 00206 // 00207 // Switching phase Id <BR> 00208 // Int 00209 PHASE_ID, 00210 // 00211 // For a pulsar the correlations are assumed to be measured for a 00212 // limited number of pulse phase bins. This is the particular bin for 00213 // which this data was measured. (optional) <BR> 00214 // Int. 00215 PULSAR_BIN, 00216 // 00217 // Unique id for this pulsar gate. Index into PULSAR_GATE table. 00218 // (optional) <BR> 00219 // Int. 00220 PULSAR_GATE_ID, 00221 // 00222 // Estimated rms noise for each data point. To be used instead of 00223 // SIGMA if present. <BR> 00224 // Float(Nc,Nf) - Same units as the DATA column. 00225 SIGMA_SPECTRUM, 00226 // 00227 // Additional precision for TIME if required. Add this to TIME to obtain 00228 // the exact EPOCH.<BR> 00229 // Double - s. 00230 TIME_EXTRA_PREC, 00231 // 00232 // UVW for second pair of triple correlation product. <BR> 00233 // Double(3) - m 00234 UVW2, 00235 // 00236 // Zero frequency point - needed for transform back to lag domain <BR> 00237 // Complex(Nc) 00238 VIDEO_POINT, 00239 // 00240 // Weight for each channel. To be used instead of WEIGHT if present.<BR> 00241 // Float(Nf). 00242 WEIGHT_SPECTRUM, 00243 // Corrected Weight for each channel. If present can be used with corrected_data<BR> 00244 // Float(Nf). 00245 CORRECTED_WEIGHT_SPECTRUM, 00246 // 00247 // Not a column, but just a final enum specifying the number of enums. 00248 NUMBER_PREDEFINED_COLUMNS=CORRECTED_WEIGHT_SPECTRUM 00249 }; 00250 00251 // Keywords with a predefined meaning 00252 enum PredefinedKeywords { 00253 // 00254 // "True" keywords are defined. 00255 UNDEFINED_KEYWORD=0, 00256 // 00257 // Antenna subtable. Antenna positions, mount-types etc. 00258 ANTENNA, 00259 // Data Description subtable. Gives spectral window and polarization id. 00260 DATA_DESCRIPTION, 00261 // Feed subtable. Responses, offsets, beams etc. 00262 FEED, 00263 // Field subtable. Position etc. for each pointing. 00264 FIELD, 00265 // Flag command subtable. List of flag commands. 00266 FLAG_CMD, 00267 // History information subtable. 00268 HISTORY, 00269 // MS Version number. <BR> 00270 // Float. 00271 MS_VERSION, 00272 // Observation subtable. Project, observer, schedule. 00273 OBSERVATION, 00274 // Pointing information subtable. 00275 POINTING, 00276 // Polarization setup information subtable. 00277 POLARIZATION, 00278 // Back-end processor information subtable. Description of correlator etc. 00279 PROCESSOR, 00280 // Spectral window subtable. Frequencies, bandwidths, polarizations. 00281 SPECTRAL_WINDOW, 00282 // State subtable. Observing modes and states (cal, ref etc.) 00283 STATE, 00284 // Not a keyword, but an enum specifying the number of required keywords 00285 // The last required keyword should be set to this enum 00286 NUMBER_REQUIRED_KEYWORDS=STATE, 00287 // Calibration tables associated with this MS. <BR> 00288 // Table(NUM_CAL_TABLES) 00289 CAL_TABLES, 00290 // Doppler tracking information subtable. 00291 DOPPLER, 00292 // Frequency offset information subtable. 00293 FREQ_OFFSET, 00294 // Listing of sort columns for each sorted table. <BR> 00295 // String(NUM_SORTED_TABLES) 00296 SORT_COLUMNS, 00297 // Listing of sort orders for each sorted table. <BR> 00298 // String(NUM_SORTED_TABLES) 00299 SORT_ORDER, 00300 // Sorted reference tables of the main table. First one is main table.<BR> 00301 // Table(NUM_SORTED_TABLES) 00302 SORTED_TABLES, 00303 // Source subtable. Positions etc. for each source. 00304 SOURCE, 00305 // SysCal subtable. System calibration data (Tsys etc.) 00306 SYSCAL, 00307 // Weather subtable. Weather info for each antenna. 00308 WEATHER, 00309 // Not a keyword, but just a final enum specifying the number of enums. 00310 NUMBER_PREDEFINED_KEYWORDS=WEATHER 00311 }; 00312 }; 00313 00314 } //# NAMESPACE CASACORE - END 00315 00316 #endif 00317