Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef _OCS_REDU_POLARIZ_TRANSFORMER_HH_
00014 #define _OCS_REDU_POLARIZ_TRANSFORMER_HH_
00015
00016 #include "ocsReduOptSignal.hh"
00017
00018 #ifndef _OCS_TYPE_SCATTERING_
00019 #define _OCS_TYPE_SCATTERING_
00020 enum typeScattering { RX_RY_RX = 1,
00021 RY_RZ_RY = 2,
00022 RX_RZ_RY = 3};
00023 #endif
00024
00025
00026
00027
00028
00029
00030
00036
00037 class ReduPolarizTransformer
00038 {
00039 public:
00040
00042
00060 ReduPolarizTransformer( int TypeScattering2,
00061 ReduOptSignal *oReduOptSignalTmp);
00062
00064
00070 void TransformPolarization( double psi
00071 ,double theta
00072 ,double phi);
00073
00074
00076
00090 void TransformPolarization( double psi
00091 ,double theta);
00092
00093
00096
00104 void TransformPolarization(void);
00105
00107
00108 void UndoLastPolarizTransformation(void);
00109
00111
00112 string WriteTypeScattering(void);
00113
00114
00117
00129 void InitImportSampPolarizTransformation(
00130 double BiasingParam2,
00131 RanNumGen *oRanImportSampPolarizTransform2);
00132
00133 void SetBiasingParam(double BiasingParam2)
00134 { BiasingParam = BiasingParam2;};
00135
00136
00137
00138
00141
00157 void GetImportSampPolarizTransformation(
00158 int ChannelArrayIndex,
00159 double *LikelihoodRatio);
00160
00161 private:
00162
00163
00165
00178 typeScattering TypeScattering;
00179
00180
00182
00183 ReduOptSignal *oReduOptSignal;
00184
00187
00188 double psiLast, thetaLast, phiLast;
00189
00190
00193 RanNumGen *oRanImportSampPolarizTransform;
00194
00196
00197 double BiasingParam;
00198
00199 int FlagImportSamplingInitialized;
00200 };
00201
00202 #endif //## _OCS_REDU_POLARIZ_TRANSFORMER_HH_