MSMainEnums.h

Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1