Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.atnf.csiro.au/computing/software/casacore/casacore-1.2.0/doc/html/MSSelectionKeywords_8h_source.html
Дата изменения: Unknown Дата индексирования: Mon Feb 14 22:46:02 2011 Кодировка: Поисковые слова: туманность андромеды |
00001 //# MSSelectionKeywords.h: selection keywords for the MS 00002 //# Copyright (C) 1997,1998,1999,2000,2001 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: MSSelectionKeywords.h 20838 2009-12-01 10:10:55Z gervandiepen $ 00028 00029 #ifndef MS_MSSELECTIONKEYWORDS_H 00030 #define MS_MSSELECTIONKEYWORDS_H 00031 00032 #include <casa/aips.h> 00033 00034 namespace casa { //# NAMESPACE CASA - BEGIN 00035 00036 template <class K, class V> class SimpleOrderedMap; 00037 template <class T> class Block; 00038 // forward declare the class so we can typedef it 00039 class MSSelectionKeywords; 00040 class String; 00041 00042 // Define a shorthand notation for this class, so enums can be specified 00043 // easily. 00044 typedef MSSelectionKeywords MSS; 00045 00046 // <summary> 00047 // MSSelectionKeywords specifies selection keywords for the MeasurementSet 00048 // </summary> 00049 00050 // <use visibility=export> 00051 00052 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos=""> 00053 // </reviewed> 00054 00055 // <prerequisite> 00056 // <li> MeasurementSet 00057 // <li> MSSelector 00058 // </prerequisite> 00059 // 00060 // <etymology> 00061 // MSSelectionKeywords is a class that defines selection keywords 00062 // </etymology> 00063 // 00064 // <synopsis> 00065 // This class is used to specify selections on a MeasurementSet. 00066 // It is a purely static class that just defines a mapping from 00067 // Strings to Enums, and provides these for use by classes like 00068 // MSSelector and MSRange 00069 // 00070 // <example> <srcblock> 00071 // </srcblock></example> 00072 // </synopsis> 00073 // 00074 // <motivation> 00075 // Selection keywords are needed for several classes, this class provides 00076 // them to all, avoiding duplication in each class. 00077 // </motivation> 00078 // 00079 // <thrown> 00080 // <li> 00081 // <li> 00082 // </thrown> 00083 // 00084 // <todo asof="yyyy/mm/dd"> 00085 // <li> add this feature 00086 // </todo> 00087 00088 class MSSelectionKeywords 00089 { 00090 public: 00091 // The fields in the MS for which selection and range operations are 00092 // defined. Some of these directly correspond to columns in the table, 00093 // others are derived quantities or columns in subtables. 00094 enum Field { 00095 // undefined field 00096 UNDEFINED=0, 00097 // the range of visibility amplitude 00098 AMPLITUDE, 00099 // the range of corrected vis amplitude 00100 CORRECTED_AMPLITUDE, 00101 // the range of model vis amplitude 00102 MODEL_AMPLITUDE, 00103 // the amplitude of the ratio corrected data/model data 00104 RATIO_AMPLITUDE, 00105 // the residual vis amplitude (corrected-model) 00106 RESIDUAL_AMPLITUDE, 00107 // the observed residual vis amplitude (observed-model) 00108 OBS_RESIDUAL_AMPLITUDE, 00109 // the list of antenna1 id values 00110 ANTENNA1, 00111 // the list of antenna2 id values 00112 ANTENNA2, 00113 // the list of antenna names 00114 ANTENNAS, 00115 // the list of array id values 00116 ARRAY_ID, 00117 // description of the data axes 00118 AXIS_INFO, 00119 // the channel frequencies, a vector for each selected spectral window 00120 CHAN_FREQ, 00121 // the list of polarizations present, this gives the String values 00122 CORR_NAMES, 00123 // the list of polarizations present, this gives the Stokes enum values 00124 CORR_TYPES, 00125 // the complex data 00126 DATA, 00127 // the complex corrected data 00128 CORRECTED_DATA, 00129 //the complex model data 00130 MODEL_DATA, 00131 // the ratio corrected data/model data 00132 RATIO_DATA, 00133 // the residual data (corrected - model) 00134 RESIDUAL_DATA, 00135 // the observed residual data (observed - model) 00136 OBS_RESIDUAL_DATA, 00137 // the list of dataDescription id values 00138 DATA_DESC_ID, 00139 // the list of feed1 id values 00140 FEED1, 00141 // the list of feed2 id values 00142 FEED2, 00143 // the list of field_id values 00144 FIELD_ID, 00145 // the list of field names 00146 FIELDS, 00147 // the flags 00148 FLAG, 00149 // the row flags 00150 FLAG_ROW, 00151 // a summary of flags (flag count summed over rows) 00152 FLAG_SUM, 00153 // the float data (optional single dish column) 00154 FLOAT_DATA, 00155 // Hour angle 00156 HA, 00157 // the list of interferometers (= 1000*ant1+ant2) present 00158 IFR_NUMBER, 00159 // the (range of the) imaginary part of the visibilities 00160 IMAGINARY, 00161 // the (range of the) imaginary part of the corrected visibilities 00162 CORRECTED_IMAGINARY, 00163 // the (range of the) imaginary part of the model visibilities 00164 MODEL_IMAGINARY, 00165 // the imaginary part of the ratio corrected data/model data 00166 RATIO_IMAGINARY, 00167 // the (range of the) imaginary part of the residual visibilities 00168 RESIDUAL_IMAGINARY, 00169 // the (range of the) imaginary part of the observed residual visibilities 00170 OBS_RESIDUAL_IMAGINARY, 00171 // imaging weights 00172 IMAGING_WEIGHT, 00173 // Local Apparent Sidereal Time 00174 LAST, 00175 // the number of correlation products (polarizations) for selected spectral window 00176 NUM_CORR, 00177 // the number of spectral channels for selected spectral window 00178 NUM_CHAN, 00179 // the (range of the) phase of the visibilities 00180 PHASE, 00181 // the (range of the) phase of the corrected visibilities 00182 CORRECTED_PHASE, 00183 // the (range of the) phase of the model visibilities 00184 MODEL_PHASE, 00185 // the phase of the ratio corrected data/model data 00186 RATIO_PHASE, 00187 // the (range of the) phase of the residual visibilities 00188 RESIDUAL_PHASE, 00189 // the (range of the) phase of the observed residual visibilities 00190 OBS_RESIDUAL_PHASE, 00191 // the phase center direction for each field (matrix + epoch) 00192 PHASE_DIR, 00193 // the (range of the) real part of the visibilities 00194 REAL, 00195 // the (range of the) real part of the corrected visibilities 00196 CORRECTED_REAL, 00197 // the (range of the) real part of the model visibilities 00198 MODEL_REAL, 00199 // the real part of the ratio corrected data/model data 00200 RATIO_REAL, 00201 // the real part of the residual visibilities (corrected-model) 00202 RESIDUAL_REAL, 00203 // the real part of the observed residuals (observed-model) 00204 OBS_RESIDUAL_REAL, 00205 // the reference frequency for selected spectral window (or vector with all) 00206 REF_FREQUENCY, 00207 // the list of row numbers in the original MS 00208 ROWS, 00209 // the list of scan_number values 00210 SCAN_NUMBER, 00211 //# the list of spectral window id values 00212 //# SPECTRAL_WINDOW_ID, 00213 // the per spectrum sigmas 00214 SIGMA, 00215 // the range of times 00216 TIME, 00217 // the list of time values 00218 TIMES, 00219 // UT time (seconds of current day) 00220 UT, 00221 // the uvw coordinates 00222 UVW, 00223 // the (range of the) U coordinate (m) 00224 //# Note:order of U, V and W is important, no intervening items allowed 00225 //# without changing select() code. 00226 U, 00227 // the (range of the) V coordinate (m) 00228 V, 00229 // the (range of the) W coordinate (m) 00230 W, 00231 // the (range of the) UV-distance (m) 00232 UVDIST, 00233 // the weights 00234 WEIGHT, 00235 // Number of keywords 00236 NUMBER_KEYWORDS 00237 }; 00238 00239 00240 // convert a keyword string to the corresponding enum 00241 static Field field(const String& keyword); 00242 00243 // convert an enum value to the corresponding keyword string 00244 static const String& keyword(Field field); 00245 00246 protected: 00247 // This class is purely static, no instances are allowed. 00248 MSSelectionKeywords(); 00249 MSSelectionKeywords(const MSSelectionKeywords& other); 00250 MSSelectionKeywords& operator=(const MSSelectionKeywords& other); 00251 00252 // initialization function for the string to enum mapping 00253 static void initMap(SimpleOrderedMap<String,Int>*& fieldMap, 00254 Block<Int>*& reverseMap); 00255 }; 00256 00257 00258 } //# NAMESPACE CASA - END 00259 00260 #endif