CDopplerReferenceCode.h
Go to the documentation of this file.00001
00002 #ifndef CDopplerReferenceCode_H
00003 #define CDopplerReferenceCode_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 DopplerReferenceCodeMod
00055 {
00058
00059 const char *const revision = "-1";
00060 const int version = 1;
00061
00062 enum DopplerReferenceCode
00063 {
00064 RADIO
00066 ,
00067 Z
00068 ,
00069 RATIO
00071 ,
00072 BETA
00073 ,
00074 GAMMA
00075 ,
00076 OPTICAL
00077 ,
00078 RELATIVISTIC
00080 };
00081 typedef DopplerReferenceCode &DopplerReferenceCode_out;
00082 }
00083 #endif
00084
00085 namespace DopplerReferenceCodeMod {
00086 std::ostream & operator << ( std::ostream & out, const DopplerReferenceCode& value);
00087 std::istream & operator >> ( std::istream & in , DopplerReferenceCode& value );
00088 }
00089
00094 class CDopplerReferenceCode {
00095 public:
00096
00101 static const std::string& sRADIO;
00103 static const std::string& sZ;
00105 static const std::string& sRATIO;
00107 static const std::string& sBETA;
00109 static const std::string& sGAMMA;
00111 static const std::string& sOPTICAL;
00113 static const std::string& sRELATIVISTIC;
00120 static int version() ;
00121
00122
00128 static std::string revision() ;
00129
00130
00135 static unsigned int size() ;
00136
00137
00143 static std::string name(const DopplerReferenceCodeMod::DopplerReferenceCode& e);
00144
00148 static std::string toString(const DopplerReferenceCodeMod::DopplerReferenceCode& f) { return name(f); }
00149
00155 static const std::vector<std::string> names();
00156
00157
00158
00159 static DopplerReferenceCodeMod::DopplerReferenceCode newDopplerReferenceCode(const std::string& name);
00160
00166 static DopplerReferenceCodeMod::DopplerReferenceCode literal(const std::string& name);
00167
00173 static DopplerReferenceCodeMod::DopplerReferenceCode from_int(unsigned int i);
00174
00175
00176 private:
00177
00178 CDopplerReferenceCode();
00179 CDopplerReferenceCode(const CDopplerReferenceCode&);
00180 CDopplerReferenceCode& operator=(const CDopplerReferenceCode&);
00181
00182 static std::string badString(const std::string& name) ;
00183 static std::string badInt(unsigned int i) ;
00184
00185 };
00186
00187 #endif