Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.atnf.csiro.au/computing/software/casacore/casacore-1.2.0/doc/html/MCBaseline_8h_source.html
Дата изменения: Unknown Дата индексирования: Mon Feb 14 20:35:50 2011 Кодировка: Поисковые слова: п п п п п п п п п п п п п п п п п п п п п п |
00001 //# MCBaseline.h: MBaseline conversion routines 00002 //# Copyright (C) 1998-2000,2002,2004,2007 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: MCBaseline.h 20117 2007-09-05 04:38:35Z Malte.Marquarding $ 00028 00029 #ifndef MEASURES_MCBASELINE_H 00030 #define MEASURES_MCBASELINE_H 00031 00032 //# Includes 00033 #include <casa/aips.h> 00034 #include <measures/Measures/MBaseline.h> 00035 #include <measures/Measures/MeasBase.h> 00036 #include <measures/Measures/MeasRef.h> 00037 #include <measures/Measures/MCBase.h> 00038 #include <measures/Measures/MConvertBase.h> 00039 #include <measures/Measures/MeasMath.h> 00040 00041 namespace casa { //# NAMESPACE CASA - BEGIN 00042 00043 //# Forward Declarations 00044 class MCBaseline; 00045 class String; 00046 template <class T> class Vector; 00047 00048 //# Typedefs 00049 00050 // <summary> MBaseline conversion routines </summary> 00051 00052 // <use visibility=local> 00053 00054 // <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="tMBaseline" demos=""> 00055 // </reviewed> 00056 00057 // <prerequisite> 00058 // <li> <linkto class=Measure>Measure</linkto> class 00059 // <li> <linkto class=MCBase>MCBase</linkto> base class 00060 // <li> <linkto class=MConvertBase>overall conversion</linkto> class 00061 // </prerequisite> 00062 // 00063 // <etymology> 00064 // Measure, Convert and Baseline 00065 // </etymology> 00066 // 00067 // <synopsis> 00068 // Contains state machinery and caching for actual conversions 00069 // </synopsis> 00070 // 00071 // <example> 00072 // See <linkto module=Measures>Measures</linkto> module description for 00073 // conversion examples. 00074 // </example> 00075 // 00076 // <motivation> 00077 // </motivation> 00078 // 00079 // <todo asof="2000/09/12"> 00080 // <li> nothing I know 00081 // </todo> 00082 00083 class MCBaseline : public MCBase { 00084 00085 public: 00086 00087 //# Friends 00088 // Conversion of data 00089 friend class MeasConvert<MBaseline>; 00090 00091 //# Constructors 00092 // Default constructor 00093 MCBaseline(); 00094 00095 //# Destructor 00096 ~MCBaseline(); 00097 00098 //# Member functions 00099 // Show the state of the conversion engine (mainly for debugging purposes) 00100 static String showState(); 00101 00102 private: 00103 //# Enumerations 00104 // The list of actual routines provided. 00105 // <note role=warning> Each <src>AA_BB</src> in the list points to routine 00106 // that can be used in the FromTo list in the getConvert routine. 00107 // In addition the type to which each is converted should be in the 00108 // ToRef array, again in the proper order. </note> 00109 enum Routes { 00110 GAL_J2000, 00111 GAL_B1950, 00112 J2000_GAL, 00113 B1950_GAL, 00114 J2000_B1950, 00115 J2000_B1950_VLA, 00116 B1950_J2000, 00117 B1950_VLA_J2000, 00118 B1950_B1950_VLA, 00119 B1950_VLA_B1950, 00120 J2000_JMEAN, 00121 B1950_BMEAN, 00122 JMEAN_J2000, 00123 JMEAN_JTRUE, 00124 BMEAN_B1950, 00125 BMEAN_BTRUE, 00126 JTRUE_JMEAN, 00127 BTRUE_BMEAN, 00128 J2000_JNAT, 00129 JNAT_J2000, 00130 B1950_APP, 00131 APP_B1950, 00132 APP_TOPO, 00133 HADEC_AZEL, 00134 HADEC_AZELGEO, 00135 AZEL_HADEC, 00136 AZELGEO_HADEC, 00137 HADEC_TOPO, 00138 AZEL_AZELSW, 00139 AZELGEO_AZELSWGEO, 00140 AZELSW_AZEL, 00141 AZELSWGEO_AZELGEO, 00142 APP_JNAT, 00143 JNAT_APP, 00144 J2000_ECLIP, 00145 ECLIP_J2000, 00146 JMEAN_MECLIP, 00147 MECLIP_JMEAN, 00148 JTRUE_TECLIP, 00149 TECLIP_JTRUE, 00150 GAL_SUPERGAL, 00151 SUPERGAL_GAL, 00152 ITRF_HADEC, 00153 HADEC_ITRF, 00154 TOPO_HADEC, 00155 TOPO_APP, 00156 ICRS_J2000, 00157 J2000_ICRS, 00158 N_Routes 00159 }; 00160 00161 //# Typedefs 00162 00163 //# Operators 00164 00165 //# General Member Functions 00166 00167 //# Enumerations 00168 00169 //# Cached Data 00170 MeasMath measMath; 00171 00172 //# State machine data 00173 // Has state matrix been made 00174 static Bool stateMade_p; 00175 // Transition list 00176 static uInt ToRef_p[N_Routes][3]; 00177 // Transition matrix 00178 static uInt FromTo_p[MBaseline::N_Types][MBaseline::N_Types]; 00179 00180 //# Constructors 00181 // Copy constructor (not implemented) 00182 MCBaseline(const MCBaseline &other); 00183 // Assignment (not implemented) 00184 MCBaseline &operator=(const MCBaseline &other); 00185 00186 //# Member functions 00187 00188 // Create conversion function pointer 00189 virtual void getConvert(MConvertBase &mc, 00190 const MRBase &inref, 00191 const MRBase &outref); 00192 00193 // Create help structures for Measure conversion routines 00194 virtual void initConvert(uInt which, MConvertBase &mc); 00195 00196 // Delete the pointers used in the MeasConvert help structure cache 00197 virtual void clearConvert(); 00198 00199 // Routines to convert Baselines from one reference frame to another 00200 virtual void doConvert(MeasValue &in, 00201 MRBase &inref, 00202 MRBase &outref, 00203 const MConvertBase &mc); 00204 // Conversion routine to cater for inheritance question 00205 void doConvert(MVBaseline &in, 00206 MRBase &inref, 00207 MRBase &outref, 00208 const MConvertBase &mc); 00209 00210 }; 00211 00212 00213 } //# NAMESPACE CASA - END 00214 00215 #endif 00216