CDirectionReferenceCode.h
Go to the documentation of this file.00001
00002 #ifndef CDirectionReferenceCode_H
00003 #define CDirectionReferenceCode_H
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
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #ifndef __cplusplus
00040 #error This is a C++ include file and cannot be used from plain C
00041 #endif
00042
00043 #include <iostream>
00044 #include <string>
00045 #include <vector>
00049 #ifndef WITHOUT_ACS
00050 #include <almaEnumerations_IFC.h>
00051 #else
00052
00053
00054 namespace DirectionReferenceCodeMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum DirectionReferenceCode
00063 {
00064 J2000
00065 ,
00066 JMEAN
00067 ,
00068 JTRUE
00069 ,
00070 APP
00071 ,
00072 B1950
00073 ,
00074 B1950_VLA
00075 ,
00076 BMEAN
00077 ,
00078 BTRUE
00079 ,
00080 GALACTIC
00081 ,
00082 HADEC
00083 ,
00084 AZELSW
00085 ,
00086 AZELSWGEO
00087 ,
00088 AZELNE
00089 ,
00090 AZELNEGEO
00091 ,
00092 JNAT
00093 ,
00094 ECLIPTIC
00095 ,
00096 MECLIPTIC
00097 ,
00098 TECLIPTIC
00099 ,
00100 SUPERGAL
00101 ,
00102 ITRF
00103 ,
00104 TOPO
00105 ,
00106 ICRS
00107 ,
00108 MERCURY
00109 ,
00110 VENUS
00111 ,
00112 MARS
00113 ,
00114 JUPITER
00115 ,
00116 SATURN
00117 ,
00118 URANUS
00119 ,
00120 NEPTUNE
00121 ,
00122 PLUTO
00123 ,
00124 SUN
00125 ,
00126 MOON
00128 };
00129 typedef DirectionReferenceCode &DirectionReferenceCode_out;
00130 }
00131 #endif
00132
00133 namespace DirectionReferenceCodeMod {
00134 std::ostream & operator << ( std::ostream & out, const DirectionReferenceCode& value);
00135 std::istream & operator >> ( std::istream & in , DirectionReferenceCode& value );
00136 }
00137
00142 class CDirectionReferenceCode {
00143 public:
00144
00149 static const std::string& sJ2000;
00151 static const std::string& sJMEAN;
00153 static const std::string& sJTRUE;
00155 static const std::string& sAPP;
00157 static const std::string& sB1950;
00159 static const std::string& sB1950_VLA;
00161 static const std::string& sBMEAN;
00163 static const std::string& sBTRUE;
00165 static const std::string& sGALACTIC;
00167 static const std::string& sHADEC;
00169 static const std::string& sAZELSW;
00171 static const std::string& sAZELSWGEO;
00173 static const std::string& sAZELNE;
00175 static const std::string& sAZELNEGEO;
00177 static const std::string& sJNAT;
00179 static const std::string& sECLIPTIC;
00181 static const std::string& sMECLIPTIC;
00183 static const std::string& sTECLIPTIC;
00185 static const std::string& sSUPERGAL;
00187 static const std::string& sITRF;
00189 static const std::string& sTOPO;
00191 static const std::string& sICRS;
00193 static const std::string& sMERCURY;
00195 static const std::string& sVENUS;
00197 static const std::string& sMARS;
00199 static const std::string& sJUPITER;
00201 static const std::string& sSATURN;
00203 static const std::string& sURANUS;
00205 static const std::string& sNEPTUNE;
00207 static const std::string& sPLUTO;
00209 static const std::string& sSUN;
00211 static const std::string& sMOON;
00218 static int version() ;
00219
00220
00226 static std::string revision() ;
00227
00228
00233 static unsigned int size() ;
00234
00235
00241 static std::string name(const DirectionReferenceCodeMod::DirectionReferenceCode& e);
00242
00246 static std::string toString(const DirectionReferenceCodeMod::DirectionReferenceCode& f) { return name(f); }
00247
00253 static const std::vector<std::string> names();
00254
00255
00256
00257 static DirectionReferenceCodeMod::DirectionReferenceCode newDirectionReferenceCode(const std::string& name);
00258
00264 static DirectionReferenceCodeMod::DirectionReferenceCode literal(const std::string& name);
00265
00271 static DirectionReferenceCodeMod::DirectionReferenceCode from_int(unsigned int i);
00272
00273
00274 private:
00275
00276 CDirectionReferenceCode();
00277 CDirectionReferenceCode(const CDirectionReferenceCode&);
00278 CDirectionReferenceCode& operator=(const CDirectionReferenceCode&);
00279
00280 static std::string badString(const std::string& name) ;
00281 static std::string badInt(unsigned int i) ;
00282
00283 };
00284
00285 #endif