Go to the documentation of this file.00001
00002 #ifndef CBaselineReferenceCode_H
00003 #define CBaselineReferenceCode_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 BaselineReferenceCodeMod
00054 {
00057
00058 const char *const revision = "1.9";
00059 const int version = 1;
00060
00061 enum BaselineReferenceCode
00062 {
00063 J2000
00064 ,
00065 B1950
00066 ,
00067 GALACTIC
00068 ,
00069 SUPERGAL
00070 ,
00071 ECLIPTIC
00072 ,
00073 JMEAN
00074 ,
00075 JTRUE
00076 ,
00077 APP
00078 ,
00079 BMEAN
00080 ,
00081 BTRUE
00082 ,
00083 JNAT
00084 ,
00085 MECLIPTIC
00086 ,
00087 TECLIPTIC
00088 ,
00089 TOPO
00090 ,
00091 MERCURY
00092 ,
00093 VENUS
00094 ,
00095 MARS
00096 ,
00097 JUPITER
00098 ,
00099 SATURN
00100 ,
00101 NEPTUN
00102 ,
00103 SUN
00104 ,
00105 MOON
00106 ,
00107 HADEC
00108 ,
00109 AZEL
00110 ,
00111 AZELGEO
00112 ,
00113 AZELSW
00114 ,
00115 AZELNE
00116 ,
00117 ITRF
00119 };
00120 typedef BaselineReferenceCode &BaselineReferenceCode_out;
00121 }
00122 #endif
00123
00124 using namespace std;
00125
00130 class CBaselineReferenceCode {
00131 public:
00132
00137 static const std::string& sJ2000;
00139 static const std::string& sB1950;
00141 static const std::string& sGALACTIC;
00143 static const std::string& sSUPERGAL;
00145 static const std::string& sECLIPTIC;
00147 static const std::string& sJMEAN;
00149 static const std::string& sJTRUE;
00151 static const std::string& sAPP;
00153 static const std::string& sBMEAN;
00155 static const std::string& sBTRUE;
00157 static const std::string& sJNAT;
00159 static const std::string& sMECLIPTIC;
00161 static const std::string& sTECLIPTIC;
00163 static const std::string& sTOPO;
00165 static const std::string& sMERCURY;
00167 static const std::string& sVENUS;
00169 static const std::string& sMARS;
00171 static const std::string& sJUPITER;
00173 static const std::string& sSATURN;
00175 static const std::string& sNEPTUN;
00177 static const std::string& sSUN;
00179 static const std::string& sMOON;
00181 static const std::string& sHADEC;
00183 static const std::string& sAZEL;
00185 static const std::string& sAZELGEO;
00187 static const std::string& sAZELSW;
00189 static const std::string& sAZELNE;
00191 static const std::string& sITRF;
00198 static int version() ;
00199
00200
00206 static string revision() ;
00207
00208
00213 static unsigned int size() ;
00214
00215
00221 static std::string name(const BaselineReferenceCodeMod::BaselineReferenceCode& e);
00222
00226 static std::string toString(const BaselineReferenceCodeMod::BaselineReferenceCode& f) { return name(f); }
00227
00233 static const std::vector<std::string> names();
00234
00235
00236
00237 static BaselineReferenceCodeMod::BaselineReferenceCode newBaselineReferenceCode(const std::string& name);
00238
00244 static BaselineReferenceCodeMod::BaselineReferenceCode literal(const std::string& name);
00245
00251 static BaselineReferenceCodeMod::BaselineReferenceCode from_int(unsigned int i);
00252
00253
00254 private:
00255
00256 CBaselineReferenceCode();
00257 CBaselineReferenceCode(const CBaselineReferenceCode&);
00258 CBaselineReferenceCode& operator=(const CBaselineReferenceCode&);
00259
00260 static string badString(const string& name) ;
00261 static string badInt(unsigned int i) ;
00262
00263 };
00264
00265 #endif