CBaselineReferenceCode.h
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 <iostream>
00044 #include <string>
00045 #include <vector>
00049 #ifndef WITHOUT_ACS
00050 #include <almaEnumerations_IFC.h>
00051 #else
00052
00053
00054 namespace BaselineReferenceCodeMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum BaselineReferenceCode
00063 {
00064 J2000
00065 ,
00066 B1950
00067 ,
00068 GALACTIC
00069 ,
00070 SUPERGAL
00071 ,
00072 ECLIPTIC
00073 ,
00074 JMEAN
00075 ,
00076 JTRUE
00077 ,
00078 APP
00079 ,
00080 BMEAN
00081 ,
00082 BTRUE
00083 ,
00084 JNAT
00085 ,
00086 MECLIPTIC
00087 ,
00088 TECLIPTIC
00089 ,
00090 TOPO
00091 ,
00092 MERCURY
00093 ,
00094 VENUS
00095 ,
00096 MARS
00097 ,
00098 JUPITER
00099 ,
00100 SATURN
00101 ,
00102 NEPTUN
00103 ,
00104 SUN
00105 ,
00106 MOON
00107 ,
00108 HADEC
00109 ,
00110 AZEL
00111 ,
00112 AZELGEO
00113 ,
00114 AZELSW
00115 ,
00116 AZELNE
00117 ,
00118 ITRF
00120 };
00121 typedef BaselineReferenceCode &BaselineReferenceCode_out;
00122 }
00123 #endif
00124
00125 namespace BaselineReferenceCodeMod {
00126 std::ostream & operator << ( std::ostream & out, const BaselineReferenceCode& value);
00127 std::istream & operator >> ( std::istream & in , BaselineReferenceCode& value );
00128 }
00129
00134 class CBaselineReferenceCode {
00135 public:
00136
00141 static const std::string& sJ2000;
00143 static const std::string& sB1950;
00145 static const std::string& sGALACTIC;
00147 static const std::string& sSUPERGAL;
00149 static const std::string& sECLIPTIC;
00151 static const std::string& sJMEAN;
00153 static const std::string& sJTRUE;
00155 static const std::string& sAPP;
00157 static const std::string& sBMEAN;
00159 static const std::string& sBTRUE;
00161 static const std::string& sJNAT;
00163 static const std::string& sMECLIPTIC;
00165 static const std::string& sTECLIPTIC;
00167 static const std::string& sTOPO;
00169 static const std::string& sMERCURY;
00171 static const std::string& sVENUS;
00173 static const std::string& sMARS;
00175 static const std::string& sJUPITER;
00177 static const std::string& sSATURN;
00179 static const std::string& sNEPTUN;
00181 static const std::string& sSUN;
00183 static const std::string& sMOON;
00185 static const std::string& sHADEC;
00187 static const std::string& sAZEL;
00189 static const std::string& sAZELGEO;
00191 static const std::string& sAZELSW;
00193 static const std::string& sAZELNE;
00195 static const std::string& sITRF;
00202 static int version() ;
00203
00204
00210 static std::string revision() ;
00211
00212
00217 static unsigned int size() ;
00218
00219
00225 static std::string name(const BaselineReferenceCodeMod::BaselineReferenceCode& e);
00226
00230 static std::string toString(const BaselineReferenceCodeMod::BaselineReferenceCode& f) { return name(f); }
00231
00237 static const std::vector<std::string> names();
00238
00239
00240
00241 static BaselineReferenceCodeMod::BaselineReferenceCode newBaselineReferenceCode(const std::string& name);
00242
00248 static BaselineReferenceCodeMod::BaselineReferenceCode literal(const std::string& name);
00249
00255 static BaselineReferenceCodeMod::BaselineReferenceCode from_int(unsigned int i);
00256
00257
00258 private:
00259
00260 CBaselineReferenceCode();
00261 CBaselineReferenceCode(const CBaselineReferenceCode&);
00262 CBaselineReferenceCode& operator=(const CBaselineReferenceCode&);
00263
00264 static std::string badString(const std::string& name) ;
00265 static std::string badInt(unsigned int i) ;
00266
00267 };
00268
00269 #endif