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

ocsPolDepAttenuator.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_POL_DEP_ATTENUATOR_HH_
00014 #define _OCS_POL_DEP_ATTENUATOR_HH_
00015 
00016 #include "ocsOptSignal.hh"
00017 #include "ocsReduPolDepAttenuator.hh"
00018 
00019 // ##### Input parameter to initialize Pol. Dep. Loss Sources
00020 //struct PolDepAttenuatorParam 
00021 //{
00022 //   //int    PolDepLossType;
00023 //   double PolDepAttenuation;  
00024 //   double StokesMaxAttenuation[4];
00025 //};
00026 
00027 // #### Class PolDepAttenuator
00028 
00030 
00037 class PolDepAttenuator
00038 {
00039    public:
00040       PolDepAttenuator() {ObjectInitialized = 0;};
00041       PolDepAttenuator(string InFileName, 
00042                        OptSignal *oOptSignalTmp);        
00043       PolDepAttenuator(OptSignal *oOptSignalTmp); 
00044       PolDepAttenuator(OptSignal *oOptSignalTmp
00045                           ,double PolDepAttenuationX_Tmp
00046                           ,double PolDepAttenuationY_Tmp); 
00047       void InitPolDepAttenuator(OptSignal *oOptSignalTmp);
00048       void SetPolDepAttenuation(double PolDepAttenuationX_Tmp
00049                               ,double PolDepAttenuationY_Tmp);
00050       void SetPolDepAttenuationX(double PolDepAttenuationX_Tmp);
00051       void SetPolDepAttenuationY(double PolDepAttenuationY_Tmp);
00052       void SwitchOptSignalData(OptSignal *oOptSignal2);      
00053       //void GetTransmMatrixCoefficients(void);
00054       //void SyncNumChannels(void);
00055       void PolDepAttenuate(void);
00056 
00057   // added by Hai 7-1-03
00058         void UpdateJonesMatrixPDL(void);    
00059 
00060 
00061    private:
00062       int ObjectInitialized;
00063       OptSignal *oOptSignal;
00064       //double NumChannels;       
00065       double LinearPolDepAttenuationX;  
00066       double LinearPolDepAttenuationY;  
00067       int qtPoints;
00068       //double StokesSignalTmp[4];
00069       //double StokesNoiseTmp[4];
00070       double Tm00,Tm01,Tm22;
00071 
00072    // added by Hai 7-1-03
00073      cplx *JonesMatrix;   //added by Hai 7-1-03
00074      int NumberOfChannels;  //added by Hai 7-1-03   
00075 
00076      ReduPolDepAttenuator * oReduPolDepAttenuator;
00077 
00078 };
00079 
00080 #endif //_OCS_POL_DEP_ATTENUATOR_HH_

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