Go to the documentation of this file.00001
00002 #ifndef CStokesParameter_H
00003 #define CStokesParameter_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 StokesParameterMod
00054 {
00057
00058 const char *const revision = "1.9";
00059 const int version = 1;
00060
00061 enum StokesParameter
00062 {
00063 I
00064 ,
00065 Q
00066 ,
00067 U
00068 ,
00069 V
00070 ,
00071 RR
00072 ,
00073 RL
00074 ,
00075 LR
00076 ,
00077 LL
00078 ,
00079 XX
00080 ,
00081 XY
00082 ,
00083 YX
00084 ,
00085 YY
00086 ,
00087 RX
00088 ,
00089 RY
00090 ,
00091 LX
00092 ,
00093 LY
00094 ,
00095 XR
00096 ,
00097 XL
00098 ,
00099 YR
00100 ,
00101 YL
00102 ,
00103 PP
00104 ,
00105 PQ
00106 ,
00107 QP
00108 ,
00109 QQ
00110 ,
00111 RCIRCULAR
00112 ,
00113 LCIRCULAR
00114 ,
00115 LINEAR
00116 ,
00117 PTOTAL
00118 ,
00119 PLINEAR
00120 ,
00121 PFTOTAL
00122 ,
00123 PFLINEAR
00124 ,
00125 PANGLE
00127 };
00128 typedef StokesParameter &StokesParameter_out;
00129 }
00130 #endif
00131
00132 using namespace std;
00133
00138 class CStokesParameter {
00139 public:
00140
00145 static const std::string& sI;
00147 static const std::string& sQ;
00149 static const std::string& sU;
00151 static const std::string& sV;
00153 static const std::string& sRR;
00155 static const std::string& sRL;
00157 static const std::string& sLR;
00159 static const std::string& sLL;
00161 static const std::string& sXX;
00163 static const std::string& sXY;
00165 static const std::string& sYX;
00167 static const std::string& sYY;
00169 static const std::string& sRX;
00171 static const std::string& sRY;
00173 static const std::string& sLX;
00175 static const std::string& sLY;
00177 static const std::string& sXR;
00179 static const std::string& sXL;
00181 static const std::string& sYR;
00183 static const std::string& sYL;
00185 static const std::string& sPP;
00187 static const std::string& sPQ;
00189 static const std::string& sQP;
00191 static const std::string& sQQ;
00193 static const std::string& sRCIRCULAR;
00195 static const std::string& sLCIRCULAR;
00197 static const std::string& sLINEAR;
00199 static const std::string& sPTOTAL;
00201 static const std::string& sPLINEAR;
00203 static const std::string& sPFTOTAL;
00205 static const std::string& sPFLINEAR;
00207 static const std::string& sPANGLE;
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 StokesParameterMod::StokesParameter& e);
00238
00242 static std::string toString(const StokesParameterMod::StokesParameter& f) { return name(f); }
00243
00249 static const std::vector<std::string> names();
00250
00251
00252
00253 static StokesParameterMod::StokesParameter newStokesParameter(const std::string& name);
00254
00260 static StokesParameterMod::StokesParameter literal(const std::string& name);
00261
00267 static StokesParameterMod::StokesParameter from_int(unsigned int i);
00268
00269
00270 private:
00271
00272 CStokesParameter();
00273 CStokesParameter(const CStokesParameter&);
00274 CStokesParameter& operator=(const CStokesParameter&);
00275
00276 static string badString(const string& name) ;
00277 static string badInt(unsigned int i) ;
00278
00279 };
00280
00281 #endif