00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #if !defined(_STOKESPARAMETER_H)
00016
00017 #include <CStokesParameter.h>
00018 #define _STOKESPARAMETER_H
00019 #endif
00020
00021 #if !defined(_STOKESPARAMETER_HH)
00022
00023 #include "Enum.hpp"
00024
00025 using namespace StokesParameterMod;
00026
00027 template<>
00028 struct enum_set_traits<StokesParameter> : public enum_set_traiter<StokesParameter,32,StokesParameterMod::PANGLE> {};
00029
00030 template<>
00031 class enum_map_traits<StokesParameter,void> : public enum_map_traiter<StokesParameter,void> {
00032 public:
00033 static bool init_;
00034 static string typeName_;
00035 static string enumerationDesc_;
00036 static string order_;
00037 static string xsdBaseType_;
00038 static bool init(){
00039 EnumPar<void> ep;
00040 m_.insert(pair<StokesParameter,EnumPar<void> >
00041 (StokesParameterMod::I,ep((int)StokesParameterMod::I,"I","")));
00042 m_.insert(pair<StokesParameter,EnumPar<void> >
00043 (StokesParameterMod::Q,ep((int)StokesParameterMod::Q,"Q","")));
00044 m_.insert(pair<StokesParameter,EnumPar<void> >
00045 (StokesParameterMod::U,ep((int)StokesParameterMod::U,"U","")));
00046 m_.insert(pair<StokesParameter,EnumPar<void> >
00047 (StokesParameterMod::V,ep((int)StokesParameterMod::V,"V","")));
00048 m_.insert(pair<StokesParameter,EnumPar<void> >
00049 (StokesParameterMod::RR,ep((int)StokesParameterMod::RR,"RR","")));
00050 m_.insert(pair<StokesParameter,EnumPar<void> >
00051 (StokesParameterMod::RL,ep((int)StokesParameterMod::RL,"RL","")));
00052 m_.insert(pair<StokesParameter,EnumPar<void> >
00053 (StokesParameterMod::LR,ep((int)StokesParameterMod::LR,"LR","")));
00054 m_.insert(pair<StokesParameter,EnumPar<void> >
00055 (StokesParameterMod::LL,ep((int)StokesParameterMod::LL,"LL","")));
00056 m_.insert(pair<StokesParameter,EnumPar<void> >
00057 (StokesParameterMod::XX,ep((int)StokesParameterMod::XX,"XX","Linear correlation product")));
00058 m_.insert(pair<StokesParameter,EnumPar<void> >
00059 (StokesParameterMod::XY,ep((int)StokesParameterMod::XY,"XY","")));
00060 m_.insert(pair<StokesParameter,EnumPar<void> >
00061 (StokesParameterMod::YX,ep((int)StokesParameterMod::YX,"YX","")));
00062 m_.insert(pair<StokesParameter,EnumPar<void> >
00063 (StokesParameterMod::YY,ep((int)StokesParameterMod::YY,"YY","")));
00064 m_.insert(pair<StokesParameter,EnumPar<void> >
00065 (StokesParameterMod::RX,ep((int)StokesParameterMod::RX,"RX","Mixed correlation product")));
00066 m_.insert(pair<StokesParameter,EnumPar<void> >
00067 (StokesParameterMod::RY,ep((int)StokesParameterMod::RY,"RY","Mixed correlation product")));
00068 m_.insert(pair<StokesParameter,EnumPar<void> >
00069 (StokesParameterMod::LX,ep((int)StokesParameterMod::LX,"LX","Mixed LX product")));
00070 m_.insert(pair<StokesParameter,EnumPar<void> >
00071 (StokesParameterMod::LY,ep((int)StokesParameterMod::LY,"LY","Mixed LY correlation product")));
00072 m_.insert(pair<StokesParameter,EnumPar<void> >
00073 (StokesParameterMod::XR,ep((int)StokesParameterMod::XR,"XR","Mixed XR correlation product")));
00074 m_.insert(pair<StokesParameter,EnumPar<void> >
00075 (StokesParameterMod::XL,ep((int)StokesParameterMod::XL,"XL","Mixed XL correlation product")));
00076 m_.insert(pair<StokesParameter,EnumPar<void> >
00077 (StokesParameterMod::YR,ep((int)StokesParameterMod::YR,"YR","Mixed YR correlation product")));
00078 m_.insert(pair<StokesParameter,EnumPar<void> >
00079 (StokesParameterMod::YL,ep((int)StokesParameterMod::YL,"YL","Mixel YL correlation product")));
00080 m_.insert(pair<StokesParameter,EnumPar<void> >
00081 (StokesParameterMod::PP,ep((int)StokesParameterMod::PP,"PP","")));
00082 m_.insert(pair<StokesParameter,EnumPar<void> >
00083 (StokesParameterMod::PQ,ep((int)StokesParameterMod::PQ,"PQ","")));
00084 m_.insert(pair<StokesParameter,EnumPar<void> >
00085 (StokesParameterMod::QP,ep((int)StokesParameterMod::QP,"QP","")));
00086 m_.insert(pair<StokesParameter,EnumPar<void> >
00087 (StokesParameterMod::QQ,ep((int)StokesParameterMod::QQ,"QQ","")));
00088 m_.insert(pair<StokesParameter,EnumPar<void> >
00089 (StokesParameterMod::RCIRCULAR,ep((int)StokesParameterMod::RCIRCULAR,"RCIRCULAR","")));
00090 m_.insert(pair<StokesParameter,EnumPar<void> >
00091 (StokesParameterMod::LCIRCULAR,ep((int)StokesParameterMod::LCIRCULAR,"LCIRCULAR","")));
00092 m_.insert(pair<StokesParameter,EnumPar<void> >
00093 (StokesParameterMod::LINEAR,ep((int)StokesParameterMod::LINEAR,"LINEAR","single dish polarization type")));
00094 m_.insert(pair<StokesParameter,EnumPar<void> >
00095 (StokesParameterMod::PTOTAL,ep((int)StokesParameterMod::PTOTAL,"PTOTAL","Polarized intensity ((Q^2+U^2+V^2)^(1/2))")));
00096 m_.insert(pair<StokesParameter,EnumPar<void> >
00097 (StokesParameterMod::PLINEAR,ep((int)StokesParameterMod::PLINEAR,"PLINEAR","Linearly Polarized intensity ((Q^2+U^2)^(1/2))")));
00098 m_.insert(pair<StokesParameter,EnumPar<void> >
00099 (StokesParameterMod::PFTOTAL,ep((int)StokesParameterMod::PFTOTAL,"PFTOTAL","Polarization Fraction (Ptotal/I)")));
00100 m_.insert(pair<StokesParameter,EnumPar<void> >
00101 (StokesParameterMod::PFLINEAR,ep((int)StokesParameterMod::PFLINEAR,"PFLINEAR","Linear Polarization Fraction (Plinear/I)")));
00102 m_.insert(pair<StokesParameter,EnumPar<void> >
00103 (StokesParameterMod::PANGLE,ep((int)StokesParameterMod::PANGLE,"PANGLE","Linear Polarization Angle (0.5 arctan(U/Q)) (in radians)")));
00104 return true;
00105 }
00106 static map<StokesParameter,EnumPar<void> > m_;
00107 };
00108 #define _STOKESPARAMETER_HH
00109 #endif