• Main Page
  • Related Pages
  • Classes
  • Files
  • File List
  • File Members

ocsReduPolarizTransformer.hh

Go to the documentation of this file.
00001 // $Id:
00002 //###################################################################
00003 //
00004 //       Optical Communication Systems Simulator
00005 //
00006 //       Copyright (2000):
00007 //       Optical Fiber Communications Laboratory (OFCL)
00008 //       Computer Science & Electrical Engineering Department (CSEE)
00009 //       University of Maryland Baltimore County (UMBC)
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 //## The options RX_RY_RX and RY_RZ_RY can provide a uniform 
00026 //#  rotation. While RX_RZ_RY is adequate for the importance
00027 //#  sampling applied to PDL. (Ivan Lima)
00028 
00029 // ##### Class ReduPolarizTransformer
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_

Generated on Fri Jul 2 2010 12:57:48 for OCS by  doxygen 1.7.1