Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _POST_DISP_COMP_SUBSYSTEM_HH_
00015 #define _POST_DISP_COMP_SUBSYSTEM_HH_
00016
00017
00018 #include "ocsOptSignal.hh"
00019 #include "ocsOptAmplifier.hh"
00020 #include "ocsOptFilter.hh"
00021 #include "ocsLumpedLoss.hh"
00022 #include "ocsOptFiberLocalError.hh"
00023 #include "ocsRanNumGen.hh"
00024 #include "ocsOptSpectrumAnalyzer.hh"
00025 #include "ocsOptDataWriter.hh"
00026 #include "NoiseCovariance.hh"
00027
00028 class PostDispCompSubSystem
00029 {
00030
00031
00032
00033 public:
00034
00036
00037 PostDispCompSubSystem(void);
00038
00039 void InitApril2003(string InFileName,OptSignal * Signal2,RanNumGen * RNG2,
00040 OptSpectrumAnalyzer * PowerMeter2,string Job2);
00041
00042 void InitApril2003(string InFileName,OptSignal * Signal2,
00043 NoiseCovariance * NoiseCov,RanNumGen * RNG2,
00044 OptSpectrumAnalyzer * PowerMeter2,string Job2);
00045
00046 PostDispCompSubSystem(string InFileName,OptSignal * SCSignal2,
00047 RanNumGen * RNG2,
00048 string InDir2,string Job2,
00049 int DemuxChannArrayIndex2,OptDataWriter * DataWriter2);
00050
00051 PostDispCompSubSystem(string InFileName,OptSignal * SCSignal2,
00052 RanNumGen * RNG2,
00053 string InDir2,string Job2,
00054 int DemuxChannArrayIndex2,OptDataWriter * DataWriter2,
00055 OptSpectrumAnalyzer * PowerMeter2);
00056
00057
00058 void SetRecMapNum(int Value) {RecMapNum = Value;};
00059
00060 void ApplyPostDispComp(void);
00061 void ApplyPostDispCompNoiseCov(void);
00062
00063 private:
00064
00065 void ApplyPostDispCompUMBCCienaLoopApr2001(void);
00066
00067 void AllocateMemoryUMBCCienaLoopJuly2001(void);
00068 void SetAmountPostDispCompJuly2001(void);
00069 void ApplyPostDispCompUMBCCienaLoopJuly2001(void);
00070 void ApplyPostDispCompUMBCCienaLoopJuly2001NoiseCov(void);
00071
00072
00073 void AdditionalDemuxFiltering(void);
00074
00075
00076
00077 private:
00078
00079 string InDir;
00080 string Job;
00081 RanNumGen * RNG;
00082
00083 int PostDispCompMethod;
00084 int AmountPostDispComp;
00085 int DemuxChannArrayIndex;
00086 double FreqFWHM_OptFilter;
00087 int ApplyDemuxFilterFlag;
00088
00089 OptSignal * SCSignal;
00090 OptDataWriter * DataWriter;
00091
00092
00093
00094 int TypePostAmps;
00095 int TypePostAmpsNoise;
00096 int GammaZeroFlag;
00097 int FiberLossZeroFlag;
00098 double RelativeErrorGoal;
00099 int PreAmt;
00100 int RecMapNum;
00101 int DispType;
00102
00103
00104 double PostExtraLength;
00105 double PostExtraLength7,PostExtraLength10,PostExtraLength13;
00106 double PostExtraLength16,PostExtraLength19;
00107
00108 NoiseCovariance * NoiseCov;
00109
00110 OptSpectrumAnalyzer * PowerMeter;
00111 OptAmplifier * PostAmpDCF;
00112
00113 OptAmplifier * PostAmpSMF;
00114 OptAmplifier * PostAmpFinal;
00115
00116
00117 OptAmplifier * AmpPtr[3];
00118
00119 OptFiberLocalError * PostLTS1;
00120 OptFiberLocalError * PostLTS2;
00121 OptFiberLocalError * PostLTS3;
00122 OptFiberLocalError * PostLTS4;
00123 OptFiberLocalError * PostLTS5;
00124
00125 OptFiberLocalError * PostLycom1;
00126 OptFiberLocalError * PostLycom2;
00127 OptFiberLocalError * PostLycom3;
00128 OptFiberLocalError * PostLycom4;
00129 OptFiberLocalError * PostLycom5;
00130
00131 OptFiberLocalError * PostSMF5807;
00132 OptFiberLocalError * PostSMF5809;
00133 OptFiberLocalError * PostSMF5810;
00134
00135 OptFiberLocalError * PostDCF4_20;
00136 OptFiberLocalError * PostDCF3_10;
00137 OptFiberLocalError * PostSMF3_25;
00138 OptFiberLocalError * PostSMF186;
00139 OptFiberLocalError * PostSMFs3;
00140 OptFiberLocalError * PostSMFs4;
00141 OptFiberLocalError * PostSMF1500;
00142
00143 OptFiberLocalError * PostExtraSMF;
00144 OptFiberLocalError * PostExtraDCF;
00145
00146 int NumFibers;
00147
00148 OptFiberLocalError * FiberPtr[22];
00149
00150 };
00151
00152 #endif // _POST_DISP_COMP_SUBSYSTEM_HH_
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163