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 <string>
00044 #include <vector>
00048 #ifndef WITHOUT_ACS
00049 #include <almaEnumerations_IFC.h>
00050 #else
00051
00052
00053 namespace DirectionReferenceCodeMod
00054 {
00057
00058 const char *const revision = "1.9";
00059 const int version = 1;
00060
00061 enum DirectionReferenceCode
00062 {
00063 J2000
00064 ,
00065 JMEAN
00066 ,
00067 JTRUE
00068 ,
00069 APP
00070 ,
00071 B1950
00072 ,
00073 B1950_VLA
00074 ,
00075 BMEAN
00076 ,
00077 BTRUE
00078 ,
00079 GALACTIC
00080 ,
00081 HADEC
00082 ,
00083 AZELSW
00084 ,
00085 AZELSWGEO
00086 ,
00087 AZELNE
00088 ,
00089 AZELNEGEO
00090 ,
00091 JNAT
00092 ,
00093 ECLIPTIC
00094 ,
00095 MECLIPTIC
00096 ,
00097 TECLIPTIC
00098 ,
00099 SUPERGAL
00100 ,
00101 ITRF
00102 ,
00103 TOPO
00104 ,
00105 ICRS
00106 ,
00107 MERCURY
00108 ,
00109 VENUS
00110 ,
00111 MARS
00112 ,
00113 JUPITER
00114 ,
00115 SATURN
00116 ,
00117 URANUS
00118 ,
00119 NEPTUNE
00120 ,
00121 PLUTO
00122 ,
00123 SUN
00124 ,
00125 MOON
00127 };
00128 typedef DirectionReferenceCode &DirectionReferenceCode_out;
00129 }
00130 #endif
00131
00132 using namespace std;
00133
00138 class CDirectionReferenceCode {
00139 public:
00140
00145 static const std::string& sJ2000;
00147 static const std::string& sJMEAN;
00149 static const std::string& sJTRUE;
00151 static const std::string& sAPP;
00153 static const std::string& sB1950;
00155 static const std::string& sB1950_VLA;
00157 static const std::string& sBMEAN;
00159 static const std::string& sBTRUE;
00161 static const std::string& sGALACTIC;
00163 static const std::string& sHADEC;
00165 static const std::string& sAZELSW;
00167 static const std::string& sAZELSWGEO;
00169 static const std::string& sAZELNE;
00171 static const std::string& sAZELNEGEO;
00173 static const std::string& sJNAT;
00175 static const std::string& sECLIPTIC;
00177 static const std::string& sMECLIPTIC;
00179 static const std::string& sTECLIPTIC;
00181 static const std::string& sSUPERGAL;
00183 static const std::string& sITRF;
00185 static const std::string& sTOPO;
00187 static const std::string& sICRS;
00189 static const std::string& sMERCURY;
00191 static const std::string& sVENUS;
00193 static const std::string& sMARS;
00195 static const std::string& sJUPITER;
00197 static const std::string& sSATURN;
00199 static const std::string& sURANUS;
00201 static const std::string& sNEPTUNE;
00203 static const std::string& sPLUTO;
00205 static const std::string& sSUN;
00207 static const std::string& sMOON;
00214 static int version() ;
00215
00216
00222 static string revision() ;
00223
00224
00229 static unsigned int size() ;
00230
00231
00237 static std::string name(const DirectionReferenceCodeMod::DirectionReferenceCode& e);
00238
00242 static std::string toString(const DirectionReferenceCodeMod::DirectionReferenceCode& f) { return name(f); }
00243
00249 static const std::vector<std::string> names();
00250
00251
00252
00253 static DirectionReferenceCodeMod::DirectionReferenceCode newDirectionReferenceCode(const std::string& name);
00254
00260 static DirectionReferenceCodeMod::DirectionReferenceCode literal(const std::string& name);
00261
00267 static DirectionReferenceCodeMod::DirectionReferenceCode from_int(unsigned int i);
00268
00269
00270 private:
00271
00272 CDirectionReferenceCode();
00273 CDirectionReferenceCode(const CDirectionReferenceCode&);
00274 CDirectionReferenceCode& operator=(const CDirectionReferenceCode&);
00275
00276 static string badString(const string& name) ;
00277 static string badInt(unsigned int i) ;
00278
00279 };
00280
00281 #endif