Public Member Functions | Private Member Functions | Private Attributes

OptAmplifier Class Reference

#include <ocsOptAmplifier.hh>

List of all members.

Public Member Functions

 ~OptAmplifier ()
void SetFixedOutputPowerFromCurrentOptSignal (void)
void SetFixedTotalOutputPowerFromCurrentOptSignal (void)
void SetPolDepGain (double PolDepGainOptAmplifier2)
double GetPolDepGain (void)
void SetGainCompressionSaturatedAmplifier (double GainTarget_dB, double GainCompression_dB, double OutputPowerTarget)
double GetSpectralNoisePowerDensityAddedPerPolarization (void)
void AmplifyAlternateOptSignalWithoutNoiseWithPrevioslyComputedGain (OptSignal *oOptSignal2)
void SwitchOptSignalData (OptSignal *oOptSignal2)
typeAmplifier GetTypeAmplifier (void)
typeAmplifierNoise GetTypeAmplifierNoise (void)
double GetLinearGainOptAmplif (void)
double GetFixedTotalOutputPower (void)
void SetFixedTotalOutputPower (double OutputPowerLinear2)
void SetLinearGainOptAmplif (double Value)
void SetNoiseAmplitudeFactor (double Value)
double GetNoiseAmplitudeFactor (void)
 OptAmplifier (string InFileName, OptSignal *oOptSignal2, RanNumGen *RNG2)
 OptAmplifier (string InFileName, OptSignal *oOptSignal2, RanNumGen *RNG2, OptSpectrumAnalyzer *PowerMeter2)
void SetGain (double dBGain2)
void SetTypeAmplifier (typeAmplifier TypeAmplifier2)
void SetTypeAmplifierNoise (typeAmplifierNoise TypeAmplifierNoise2)
void SetTypeGainProfile (typeGainProfile TypeGainProfile2)
string WriteTypeAmplifier (void)
string WriteTypeAmplifierNoise (void)
string WriteTypeGainProfile (void)
void AmplifyOptSignal (void)
void WriteSteadyStateGainVersusPower (string OutFileName, double InputPowerMaxLinear, int NumPowerSteps)
void WriteGainProfile (string OutFileName)
double GetSaturatingPowerLinear (void)
double GetdBGain ()
void SetDebugLevel (int Level)
 OptAmplifier (string InDir2, string InFileName, OptSignal *oOptSignal2, RanNumGen *RNG2)
 OptAmplifier (string InDir2, string InFileName, OptSignal *oOptSignal2, double *InputS, RanNumGen *RNG2, double F, double TotalTime2, int DataPointInCye2)
void PropagateSignalandNoise (OptSignal *NoiseFreeSignal, OptSignal *Noise)
void ReadGainProfile (string InFileName, int SignalPowerInputIndex)
void ReadGainPowerDependent (string InFileName)
void ReadInEDFAGain (string InDir3)
void ReadInGainFlatenFilter (string InFileName)
void ReadInPolynomialFilter (string InFileName)
void ReadInErParameter (string InDir3)
void Loss (double Loss)
void AmplitudeFluctuation ()
 lossLoss
void ResetTransient (double F, double TT)
double GetSignalEms (double Wavelength)
double GetSignalAbs (double Wavelength)
double GetPumpPowerSystem0dB ()
double GetPumpPowerTransparency ()
void SetPumpPower (double Power)
void CalculateAverageN2T (int IntStepT)
void CalculateGain ()
double GetGainFlatenFilter (double Wavelength)
double GetPolynomialFilter (double Wavelength)
void ApplyGainFlatenFilter ()
void ChannelAddDrop ()
void ForwardTSignalStep (int StepsT)
void ForwardTPumpStep (int StepsT)
void ForwardTPumpSignalStep (int StepT)
void ApplyPolynomial ()
void SetAmpLength (double AmpLength2)
void SetPumpPowerTime (double PumpPowerT)
void SetSaturationFactorAdjuctment (double SA)
void SetEMSAdjustGA (double EMSAdjustGA2)
void SetABSAdjustGA (double ABSAdjustGA2)
void AmplifyOptSignalScalarSinTim ()
void AmplifyOptSignalScalarSinFreq ()
void SetBiasedNoiseVector (double *z_try, int dimension, int AddBiasedNoiseFlag)
void WriteFileBiasedNoiseTime (string PathAndFileName)
void WriteFileBiasedNoiseFreq (string PathAndFileName)
void TimeShiftBiasedNoise (int NumOfBitSlots)
 shifts the BiasedNoise in time by NumOfBitSlots
double GetSpontaneousEmissionFactor ()

Private Member Functions

void PropagatSignal ()
double GetEDFAGain (double Wavel, double SignalPower, double PumpPowerC)
void AmplifyWithUserDefinedGain ()
void ReleaseMemory ()
double GetAttenuationFiber (double Wavelength)
void FirstGuessForward (int IntStepI, double *PreSig, double *PrePum, double *PreNoi)
double OptimizeForward (int IntStepI, double *PreSig, double *PrePum, double *PreNoi)
void CalculateUpperN (int IntStepI, double *SigPower, double *PumPower, double *NoiPower)
void ForwardStep (int StepI)
void BackwardStep (int StepI)
void AmplifyHomogeneous ()
double GetPumpAbs (double Wavelength)
double GetPumpEms (double Wavlength)
void ReadPumpCrossSection (string InDir4)
void ReadSignalCrossSection (string InDir4)
double PumpCurrent2Power (double Current)
void AmplifyWithFlatGain (void)
void AmplifyWithRippledGain (void)
void ComputeNoiseAmplitudeFactor (void)
void AdjustGainFixedTotalOutputPowerVector (void)
void AmplifyOptSignalVector (void)
void AddPolDepGainEffect (void)
void AmplifyOptSignalScalar (void)
double AmplifyOptSignalSteadyStateSaturatedGain (int ScalarNotVectorFlag)
void AmplifyGaussianStatisticsNoise (void)
double SteadyStateSaturatedGain (double InputPower)
void ComputeGainForFixedOutputPower (void)
void ComputeGainForFixedOutputPower_OLD (void)
void ComputeGainForFixedTotalOutputPower (void)
void AmplifyOptSignalVectorWithGainProfile (void)
void ComputeNoiseAmplitudeFactorGainProfile (void)
void AllocateGainProfileMemory ()
void AddRippleToGain (void)
void SetPolDepGainPolarization (void)
void PolDepAmplification (void)
double GetTempDepFactor (double Wavelength)

Private Attributes

double LinearGainOptAmplif
double GainBandwidthHz
double GainMinRelFreqHz
double GainMaxRelFreqHz
double LinearNoiseFigOptAmplif
double NoiseAmplitudeFactor
double UserSpecifiedNoiseAmplitudeFactor
bool UserHasSpecifiedNoiseAmplitudeFactorFlag
double ModeOptAmplif
typeAmplifier TypeAmplifier
typeAmplifierNoise TypeAmplifierNoise
typeGainProfile TypeGainProfile
typeSimulation TypeSimulation
double NoiseFigOptAmplifier
double SpontaneousEmissionFactor
double dBGain
double OutputPowerLinear
RanNumGenRNG
OptSignaloOptSignal
OptSpectrumAnalyzerPowerMeter
PolDepAttenuator oPolDepAttenuator
ReduOptAmplifieroReduOptAmplifier
double PolDepGainOptAmplifier
double PolDepGain_thetaZthetaY [2]
cfftwfft
fftMatrices sfftM
int qtPoints
double CenterFreq
double DeltaFreq
int ObjectInitialized
int DebugLevel
double AmpLength
int NumZSteps
double SaturatingPowerLinear
double SaturatingPowerdBm
double UnsaturatedGaindB
double UnsaturatedGainLinear
double UnsaturatedDifferentialGainLinear
double * LinearGainProfile
double RippleAmplitudeLinear
double RipplePeriod
double RelativeRippleShift
double LinearGainFixedTotalOutputPower
int TotPumpPowerIndex
 Total number of pumps for the rate equation model (NumPumpsRateEq).
int TotSignalPowerIndex
int NumGainWidth
int NumGainWidthDep
double AmplifierPumpPowerC
double * oEDFAGain
double * oEDFAGainPowerDependent
int ObjectInitializedJH
string InDir
double StartWavelength
double DeltaWavelength
double StartPumpPower
double DeltaPumpPower
double MidPower
double PumpPowerSystem0dB
double PumpPowerTransparency
int PumpWavelengthForGain
double WavelengthStartCrossSection
double WavelengthStepCrossSection
int NumCrossSectionWidth
double * oSignalPower
double * oPumpPower
double * oSignalWaveLth
double * oPumpWaveLth
int NumSigCh
int NumPumCh
int NumNoiCh
double * oSignalAbs
double * oSignalEms
double PumpABS
double * oPumpAbs
double * oNoiseWaveLth
double * oNoiseFPower
double * oNoiseBPower
double WavelengthStartFilter
double WavelengthStepFilter
int NumFilterWidth
double * oGainFlatenFilter
double WavelengthStartPolynomialFilter
double WavelengthStepPolynomialFilter
int NumPolynomialFilterWidth
double * oPolynomialFilter
double PumpPowerFactor
double DeltaWave
double ConfinementFactor
double AttenuationFiber
double DopantConcentration
double EffectArea
double LifeTime
double SaturationFactorAdjuctment
double DeltaZ
int TypeIntergration
int NumIntItr
double UpperN
double LowerN
double * UpperNBackward
int NumTSteps
double DeltaT
double * IntrinsicSaturationPowerPump
double * IntrinsicSaturationPowerSignal
double * GainSig
double * GainPum
double * PumpInput
double * AbsorptionLossSignal
double * AbsorptionLossPump
double * SignalInput
double * AverageN2T
double SaturationFactor
double TotalTime
int DataPointInCye
double ABSAdjustGA
double EMSAdjustGA
int PolynomialFilterAppliedFlag
cplxBiasedNoise

Constructor & Destructor Documentation

OptAmplifier::~OptAmplifier (  ) 
OptAmplifier::OptAmplifier ( string  InFileName,
OptSignal oOptSignal2,
RanNumGen RNG2 
)

We either input NoiseFigOptAmplifier (in dB) or SpontaneousEmissionFactor SpontaneousEmissionFactor = n_{sp} is in linear units (not dB) See Desurvire p. 77 for definition. The choice is made by setting the other value to 0.0. The NoiseAmplitudeFactor is computed from either NoiseFigOptAmplifier or SpontaneousEmissionFactor

References AllocateGainProfileMemory(), AmpLength, BiasedNoise, CenterFreq, ComputeNoiseAmplitudeFactor(), dB2Linear(), dBGain, dBm2Linear(), DebugLevel, cfftw::delta_f, DeltaFreq, OptSignal::fft, fft, FLAT_GAIN_INSIDE_BANDWIDTH, GainBandwidthHz, GainMaxRelFreqHz, GainMinRelFreqHz, OptSignal::GetCenterFreq(), OptSignal::GetChannSpacing(), OptSignal::GetFrequency(), OptSignal::GetFreqWindow(), OptSignal::GetNumChannels(), OptSignal::GetTypeSimulation(), cfftw::give_N(), PolDepAttenuator::InitPolDepAttenuator(), LinearGainFixedTotalOutputPower, LinearGainOptAmplif, LinearGainProfile, LinearNoiseFigOptAmplif, log(), LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, NewCplx(), NO_BOUNDS, NOISE_ON_BIASED, NoiseAmplitudeFactor, NoiseFigOptAmplifier, NumZSteps, ObjectInitialized, oOptSignal, oPolDepAttenuator, OPTIONAL_WARNING, oReduOptAmplifier, OptSignal::oReduOptSignal, OutputPowerLinear, PolDepGainOptAmplifier, PowerMeter, qtPoints, ReadDouble(), ReadInt(), RelativeRippleShift, RippleAmplitudeLinear, RIPPLED_GAIN, RipplePeriod, RNG, SaturatingPowerdBm, SaturatingPowerLinear, SCALAR, SCALAR_SATURATED, SCALAR_SIMPLE, PolDepAttenuator::SetPolDepAttenuation(), OptSignal::sfftM, sfftM, SpontaneousEmissionFactor, TypeAmplifier, TypeAmplifierNoise, TypeGainProfile, TypeSimulation, UnsaturatedDifferentialGainLinear, UnsaturatedGaindB, UnsaturatedGainLinear, UserHasSpecifiedNoiseAmplitudeFactorFlag, VECTOR, VECTOR_FIXED_OUTPUT_POWER, VECTOR_FIXED_TOTAL_OUTPUT_POWER, VECTOR_SATURATED, VECTOR_SIMPLE, WriteTypeAmplifier(), WriteTypeAmplifierNoise(), and WriteTypeGainProfile().

OptAmplifier::OptAmplifier ( string  InFileName,
OptSignal oOptSignal2,
RanNumGen RNG2,
OptSpectrumAnalyzer PowerMeter2 
)

We either input NoiseFigOptAmplifier (in dB) or SpontaneousEmissionFactor SpontaneousEmissionFactor = n_{sp} is in linear units (not dB) See Desurvire p. 77 for definition. The choice is made by setting the other value to 0.0. The NoiseAmplitudeFactor is computed from either NoiseFigOptAmplifier or SpontaneousEmissionFactor

References AllocateGainProfileMemory(), AmpLength, BiasedNoise, CenterFreq, ComputeNoiseAmplitudeFactor(), dB2Linear(), dBGain, dBm2Linear(), DebugLevel, cfftw::delta_f, DeltaFreq, OptSignal::fft, fft, FLAT_GAIN_INSIDE_BANDWIDTH, GainBandwidthHz, GainMaxRelFreqHz, GainMinRelFreqHz, OptSignal::GetCenterFreq(), OptSignal::GetChannSpacing(), OptSignal::GetFrequency(), OptSignal::GetFreqWindow(), OptSignal::GetNumChannels(), OptSignal::GetTypeSimulation(), cfftw::give_N(), PolDepAttenuator::InitPolDepAttenuator(), LinearGainFixedTotalOutputPower, LinearGainOptAmplif, LinearGainProfile, LinearNoiseFigOptAmplif, log(), LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, NewCplx(), NO_BOUNDS, NOISE_ON_BIASED, NoiseAmplitudeFactor, NoiseFigOptAmplifier, NumZSteps, ObjectInitialized, oOptSignal, oPolDepAttenuator, OPTIONAL_WARNING, oReduOptAmplifier, OptSignal::oReduOptSignal, OutputPowerLinear, PolDepGainOptAmplifier, PowerMeter, qtPoints, ReadDouble(), ReadInt(), RelativeRippleShift, RippleAmplitudeLinear, RIPPLED_GAIN, RipplePeriod, RNG, SaturatingPowerdBm, SaturatingPowerLinear, SCALAR, SCALAR_SATURATED, SCALAR_SIMPLE, OptSpectrumAnalyzer::SetModeOSA(), PolDepAttenuator::SetPolDepAttenuation(), OptSpectrumAnalyzer::SetPowerMeterFlag(), OptSpectrumAnalyzer::SetResolutionBandwidthHz(), OptSpectrumAnalyzer::SetSuperGaussExponent(), OptSpectrumAnalyzer::SetTypeAmplifierNoise(), OptSignal::sfftM, sfftM, SpontaneousEmissionFactor, TypeAmplifier, TypeAmplifierNoise, TypeGainProfile, TypeSimulation, UnsaturatedDifferentialGainLinear, UnsaturatedGaindB, UnsaturatedGainLinear, UserHasSpecifiedNoiseAmplitudeFactorFlag, VECTOR, VECTOR_FIXED_OUTPUT_POWER, VECTOR_FIXED_TOTAL_OUTPUT_POWER, VECTOR_SATURATED, VECTOR_SIMPLE, WriteTypeAmplifier(), WriteTypeAmplifierNoise(), and WriteTypeGainProfile().

OptAmplifier::OptAmplifier ( string  InDir2,
string  InFileName,
OptSignal oOptSignal2,
RanNumGen RNG2 
)

We either input NoiseFigOptAmplifier (in dB) or SpontaneousEmissionFactor SpontaneousEmissionFactor = n_{sp} is in linear units (not dB) See Desurvire p. 77 for definition. The choice is made by setting the other value to 0.0. The NoiseAmplitudeFactor is computed from either NoiseFigOptAmplifier or SpontaneousEmissionFactor

References AbsorptionLossPump, AbsorptionLossSignal, AllocateGainProfileMemory(), AmpLength, AmplifierPumpPowerC, AttenuationFiber, CenterFreq, ComputeNoiseAmplitudeFactor(), ConfinementFactor, dB2Linear(), dBGain, dBm2Linear(), DebugLevel, cfftw::delta_f, DeltaFreq, DeltaWave, DeltaZ, DopantConcentration, EffectArea, OptSignal::fft, fft, FLAT_GAIN_INSIDE_BANDWIDTH, GainBandwidthHz, GainMaxRelFreqHz, GainMinRelFreqHz, GainPum, GainSig, OptSignal::GetCenterFreq(), OptSignal::GetChannSpacing(), OptSignal::GetFrequency(), OptSignal::GetFreqWindow(), OptSignal::GetNumChannels(), OptSignal::GetQtPoints(), OptSignal::GetTypeSimulation(), cfftw::give_N(), InDir, PolDepAttenuator::InitPolDepAttenuator(), IntrinsicSaturationPowerPump, IntrinsicSaturationPowerSignal, LifeTime, LinearGainFixedTotalOutputPower, LinearGainOptAmplif, LinearGainProfile, LinearNoiseFigOptAmplif, log(), LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, NO_BOUNDS, NoiseAmplitudeFactor, NoiseFigOptAmplifier, NumGainWidth, NumGainWidthDep, NumIntItr, NumNoiCh, NumPumCh, NumSigCh, NumTSteps, NumZSteps, ObjectInitialized, ObjectInitializedJH, oEDFAGain, oEDFAGainPowerDependent, oNoiseBPower, oNoiseFPower, oNoiseWaveLth, oOptSignal, oPolDepAttenuator, OPTIONAL_WARNING, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, OutputPowerLinear, PolDepGainOptAmplifier, PolynomialFilterAppliedFlag, PowerMeter, PumpABS, PumpCurrent2Power(), PumpInput, PumpPowerFactor, PumpPowerSystem0dB, PumpPowerTransparency, qtPoints, ReadDouble(), ReadInt(), RelativeRippleShift, RippleAmplitudeLinear, RIPPLED_GAIN, RipplePeriod, RNG, SaturatingPowerdBm, SaturatingPowerLinear, SaturationFactorAdjuctment, SCALAR, SCALAR_SATURATED, SCALAR_SIMPLE, PolDepAttenuator::SetPolDepAttenuation(), OptSignal::sfftM, sfftM, SignalInput, SpontaneousEmissionFactor, TotPumpPowerIndex, TotSignalPowerIndex, TypeAmplifier, TypeAmplifierNoise, TypeGainProfile, TypeIntergration, TypeSimulation, UnsaturatedDifferentialGainLinear, UnsaturatedGaindB, UnsaturatedGainLinear, UpperNBackward, UserHasSpecifiedNoiseAmplitudeFactorFlag, VECTOR, VECTOR_FIXED_OUTPUT_POWER, VECTOR_FIXED_TOTAL_OUTPUT_POWER, VECTOR_SATURATED, VECTOR_SIMPLE, WriteTypeAmplifier(), WriteTypeAmplifierNoise(), and WriteTypeGainProfile().

OptAmplifier::OptAmplifier ( string  InDir2,
string  InFileName,
OptSignal oOptSignal2,
double *  InputS,
RanNumGen RNG2,
double  F,
double  TotalTime2,
int  DataPointInCye2 
)

We either input NoiseFigOptAmplifier (in dB) or SpontaneousEmissionFactor SpontaneousEmissionFactor = n_{sp} is in linear units (not dB) See Desurvire p. 77 for definition. The choice is made by setting the other value to 0.0. The NoiseAmplitudeFactor is computed from either NoiseFigOptAmplifier or SpontaneousEmissionFactor

References ABSAdjustGA, AbsorptionLossPump, AbsorptionLossSignal, AllocateGainProfileMemory(), AmpLength, AmplifierPumpPowerC, AttenuationFiber, AverageN2T, CenterFreq, ComputeNoiseAmplitudeFactor(), ConfinementFactor, DataPointInCye, dB2Linear(), dBGain, dBm2Linear(), DebugLevel, cfftw::delta_f, DeltaFreq, DeltaT, DeltaWave, DeltaZ, DopantConcentration, EffectArea, EMSAdjustGA, OptSignal::fft, fft, FLAT_GAIN_INSIDE_BANDWIDTH, GainBandwidthHz, GainMaxRelFreqHz, GainMinRelFreqHz, GainPum, GainSig, OptSignal::GetCenterFreq(), OptSignal::GetChannSpacing(), OptSignal::GetFrequency(), OptSignal::GetFreqWindow(), OptSignal::GetNumChannels(), OptSignal::GetQtPoints(), OptSignal::GetTypeSimulation(), cfftw::give_N(), InDir, PolDepAttenuator::InitPolDepAttenuator(), IntrinsicSaturationPowerPump, IntrinsicSaturationPowerSignal, LifeTime, LinearGainFixedTotalOutputPower, LinearGainOptAmplif, LinearGainProfile, LinearNoiseFigOptAmplif, log(), LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, NO_BOUNDS, NoiseAmplitudeFactor, NoiseFigOptAmplifier, NumGainWidth, NumGainWidthDep, NumIntItr, NumNoiCh, NumPumCh, NumSigCh, NumTSteps, NumZSteps, ObjectInitialized, ObjectInitializedJH, oEDFAGain, oEDFAGainPowerDependent, oNoiseBPower, oNoiseFPower, oNoiseWaveLth, oOptSignal, oPolDepAttenuator, OPTIONAL_WARNING, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, OutputPowerLinear, PolDepGainOptAmplifier, PolynomialFilterAppliedFlag, PowerMeter, PumpABS, PumpCurrent2Power(), PumpInput, PumpPowerFactor, PumpPowerSystem0dB, PumpPowerTransparency, qtPoints, ReadDouble(), ReadInt(), RelativeRippleShift, RippleAmplitudeLinear, RIPPLED_GAIN, RipplePeriod, RNG, SaturatingPowerdBm, SaturatingPowerLinear, SaturationFactor, SaturationFactorAdjuctment, SCALAR, SCALAR_SATURATED, SCALAR_SIMPLE, PolDepAttenuator::SetPolDepAttenuation(), OptSignal::sfftM, sfftM, SignalInput, SpontaneousEmissionFactor, TotalTime, TotPumpPowerIndex, TotSignalPowerIndex, TypeAmplifier, TypeAmplifierNoise, TypeGainProfile, TypeIntergration, TypeSimulation, UnsaturatedDifferentialGainLinear, UnsaturatedGaindB, UnsaturatedGainLinear, UpperNBackward, UserHasSpecifiedNoiseAmplitudeFactorFlag, VECTOR, VECTOR_FIXED_OUTPUT_POWER, VECTOR_FIXED_TOTAL_OUTPUT_POWER, VECTOR_SATURATED, VECTOR_SIMPLE, WriteTypeAmplifier(), WriteTypeAmplifierNoise(), and WriteTypeGainProfile().


Member Function Documentation

void OptAmplifier::AddPolDepGainEffect ( void   )  [private]
void OptAmplifier::AddRippleToGain ( void   )  [private]
void OptAmplifier::AdjustGainFixedTotalOutputPowerVector ( void   )  [private]
void OptAmplifier::AllocateGainProfileMemory (  )  [private]
void OptAmplifier::AmplifyAlternateOptSignalWithoutNoiseWithPrevioslyComputedGain ( OptSignal oOptSignal2  ) 
void OptAmplifier::AmplifyGaussianStatisticsNoise ( void   )  [private]
void OptAmplifier::AmplifyHomogeneous (  )  [private]
void OptAmplifier::AmplifyOptSignal ( void   ) 
void OptAmplifier::AmplifyOptSignalScalar ( void   )  [private]
void OptAmplifier::AmplifyOptSignalScalarSinFreq (  ) 
void OptAmplifier::AmplifyOptSignalScalarSinTim (  ) 
double OptAmplifier::AmplifyOptSignalSteadyStateSaturatedGain ( int  ScalarNotVectorFlag  )  [private]
void OptAmplifier::AmplifyOptSignalVector ( void   )  [private]
void OptAmplifier::AmplifyOptSignalVectorWithGainProfile ( void   )  [private]
void OptAmplifier::AmplifyWithFlatGain ( void   )  [private]
void OptAmplifier::AmplifyWithRippledGain ( void   )  [private]
void OptAmplifier::AmplifyWithUserDefinedGain (  )  [private]
void OptAmplifier::AmplitudeFluctuation (  ) 
void OptAmplifier::ApplyGainFlatenFilter (  ) 
void OptAmplifier::ApplyPolynomial (  ) 
void OptAmplifier::BackwardStep ( int  StepI  )  [private]
void OptAmplifier::CalculateAverageN2T ( int  IntStepT  ) 
void OptAmplifier::CalculateGain (  ) 
void OptAmplifier::CalculateUpperN ( int  IntStepI,
double *  SigPower,
double *  PumPower,
double *  NoiPower 
) [private]
void OptAmplifier::ChannelAddDrop (  ) 
void OptAmplifier::ComputeGainForFixedOutputPower ( void   )  [private]
void OptAmplifier::ComputeGainForFixedOutputPower_OLD ( void   )  [private]
void OptAmplifier::ComputeGainForFixedTotalOutputPower ( void   )  [private]
void OptAmplifier::ComputeNoiseAmplitudeFactor ( void   )  [private]
void OptAmplifier::ComputeNoiseAmplitudeFactorGainProfile ( void   )  [private]
void OptAmplifier::FirstGuessForward ( int  IntStepI,
double *  PreSig,
double *  PrePum,
double *  PreNoi 
) [private]
void OptAmplifier::ForwardStep ( int  StepI  )  [private]
void OptAmplifier::ForwardTPumpSignalStep ( int  StepT  ) 
void OptAmplifier::ForwardTPumpStep ( int  StepsT  ) 
void OptAmplifier::ForwardTSignalStep ( int  StepsT  ) 
double OptAmplifier::GetAttenuationFiber ( double  Wavelength  )  [private]
double OptAmplifier::GetdBGain (  )  [inline]

References dBGain.

double OptAmplifier::GetEDFAGain ( double  Wavel,
double  SignalPower,
double  PumpPowerC 
) [private]
double OptAmplifier::GetFixedTotalOutputPower ( void   )  [inline]

References OutputPowerLinear.

double OptAmplifier::GetGainFlatenFilter ( double  Wavelength  ) 
double OptAmplifier::GetLinearGainOptAmplif ( void   )  [inline]

References LinearGainOptAmplif.

Referenced by NoiseCovariance::Amplify().

double OptAmplifier::GetNoiseAmplitudeFactor ( void   )  [inline]

References NoiseAmplitudeFactor.

double OptAmplifier::GetPolDepGain ( void   )  [inline]
double OptAmplifier::GetPolynomialFilter ( double  Wavelength  ) 
double OptAmplifier::GetPumpAbs ( double  Wavelength  )  [private]
double OptAmplifier::GetPumpEms ( double  Wavlength  )  [inline, private]
double OptAmplifier::GetPumpPowerSystem0dB (  ) 

References PumpPowerSystem0dB.

double OptAmplifier::GetPumpPowerTransparency (  ) 

References PumpPowerTransparency.

double OptAmplifier::GetSaturatingPowerLinear ( void   )  [inline]

References SaturatingPowerLinear.

double OptAmplifier::GetSignalAbs ( double  Wavelength  ) 
double OptAmplifier::GetSignalEms ( double  Wavelength  ) 
double OptAmplifier::GetSpectralNoisePowerDensityAddedPerPolarization ( void   )  [inline]
double OptAmplifier::GetSpontaneousEmissionFactor (  )  [inline]
double OptAmplifier::GetTempDepFactor ( double  Wavelength  )  [private]
typeAmplifier OptAmplifier::GetTypeAmplifier ( void   )  [inline]

References TypeAmplifier.

typeAmplifierNoise OptAmplifier::GetTypeAmplifierNoise ( void   )  [inline]

References TypeAmplifierNoise.

void OptAmplifier::Loss ( double  Loss  ) 
double OptAmplifier::OptimizeForward ( int  IntStepI,
double *  PreSig,
double *  PrePum,
double *  PreNoi 
) [private]
void OptAmplifier::PolDepAmplification ( void   )  [private]
void OptAmplifier::PropagateSignalandNoise ( OptSignal NoiseFreeSignal,
OptSignal Noise 
)
void OptAmplifier::PropagatSignal (  )  [private]
double OptAmplifier::PumpCurrent2Power ( double  Current  )  [private]

References log().

Referenced by OptAmplifier().

void OptAmplifier::ReadGainPowerDependent ( string  InFileName  ) 
void OptAmplifier::ReadGainProfile ( string  InFileName,
int  SignalPowerInputIndex 
)
void OptAmplifier::ReadInEDFAGain ( string  InDir3  ) 
void OptAmplifier::ReadInErParameter ( string  InDir3  ) 
void OptAmplifier::ReadInGainFlatenFilter ( string  InFileName  ) 
void OptAmplifier::ReadInPolynomialFilter ( string  InFileName  ) 
void OptAmplifier::ReadPumpCrossSection ( string  InDir4  )  [private]
void OptAmplifier::ReadSignalCrossSection ( string  InDir4  )  [private]
void OptAmplifier::ReleaseMemory (  )  [private]
void OptAmplifier::ResetTransient ( double  F,
double  TT 
)
void OptAmplifier::SetABSAdjustGA ( double  ABSAdjustGA2  ) 

References ABSAdjustGA.

void OptAmplifier::SetAmpLength ( double  AmpLength2  ) 

References AmpLength.

void OptAmplifier::SetBiasedNoiseVector ( double *  z_try,
int  dimension,
int  AddBiasedNoiseFlag 
)
void OptAmplifier::SetDebugLevel ( int  Level  )  [inline]

References DebugLevel.

void OptAmplifier::SetEMSAdjustGA ( double  EMSAdjustGA2  ) 

References EMSAdjustGA.

void OptAmplifier::SetFixedOutputPowerFromCurrentOptSignal ( void   ) 
void OptAmplifier::SetFixedTotalOutputPower ( double  OutputPowerLinear2  )  [inline]

References OutputPowerLinear.

void OptAmplifier::SetFixedTotalOutputPowerFromCurrentOptSignal ( void   ) 
void OptAmplifier::SetGain ( double  dBGain2  ) 
void OptAmplifier::SetGainCompressionSaturatedAmplifier ( double  GainTarget_dB,
double  GainCompression_dB,
double  OutputPowerTarget 
)
void OptAmplifier::SetLinearGainOptAmplif ( double  Value  )  [inline]

References LinearGainOptAmplif.

void OptAmplifier::SetNoiseAmplitudeFactor ( double  Value  ) 
void OptAmplifier::SetPolDepGain ( double  PolDepGainOptAmplifier2  )  [inline]
void OptAmplifier::SetPolDepGainPolarization ( void   )  [private]
void OptAmplifier::SetPumpPower ( double  Power  ) 
void OptAmplifier::SetPumpPowerTime ( double  PumpPowerT  ) 

References NumTSteps, and PumpInput.

void OptAmplifier::SetSaturationFactorAdjuctment ( double  SA  ) 
void OptAmplifier::SetTypeAmplifier ( typeAmplifier  TypeAmplifier2  ) 
void OptAmplifier::SetTypeAmplifierNoise ( typeAmplifierNoise  TypeAmplifierNoise2  ) 
void OptAmplifier::SetTypeGainProfile ( typeGainProfile  TypeGainProfile2  ) 
double OptAmplifier::SteadyStateSaturatedGain ( double  InputPower  )  [private]
void OptAmplifier::SwitchOptSignalData ( OptSignal oOptSignal2  ) 
void OptAmplifier::TimeShiftBiasedNoise ( int  NumOfBitSlots  ) 

shifts the BiasedNoise in time by NumOfBitSlots

References BiasedNoise, DeltaT, fft, FreeCplx(), OptSignal::GetStringLength(), OptSignal::GetTimeWindow(), cfftw::IFFT(), jc, NewCplx(), oOptSignal, pi, and qtPoints.

void OptAmplifier::WriteFileBiasedNoiseFreq ( string  PathAndFileName  ) 
void OptAmplifier::WriteFileBiasedNoiseTime ( string  PathAndFileName  ) 
void OptAmplifier::WriteGainProfile ( string  OutFileName  ) 
void OptAmplifier::WriteSteadyStateGainVersusPower ( string  OutFileName,
double  InputPowerMaxLinear,
int  NumPowerSteps 
)
string OptAmplifier::WriteTypeAmplifier ( void   ) 
string OptAmplifier::WriteTypeAmplifierNoise ( void   ) 
string OptAmplifier::WriteTypeGainProfile ( void   ) 

Member Data Documentation

double OptAmplifier::ABSAdjustGA [private]
double OptAmplifier::AmpLength [private]
double* OptAmplifier::AverageN2T [private]
double OptAmplifier::CenterFreq [private]

Referenced by OptAmplifier().

Referenced by OptAmplifier(), and ResetTransient().

double OptAmplifier::dBGain [private]

Referenced by GetdBGain(), OptAmplifier(), and SetGain().

int OptAmplifier::DebugLevel [private]
double OptAmplifier::DeltaFreq [private]
double OptAmplifier::DeltaPumpPower [private]

Referenced by GetEDFAGain(), and ReadGainProfile().

double OptAmplifier::DeltaT [private]
double OptAmplifier::DeltaWave [private]

Referenced by OptAmplifier().

Referenced by GetEDFAGain(), and ReadGainProfile().

double OptAmplifier::DeltaZ [private]
double OptAmplifier::EffectArea [private]
double OptAmplifier::EMSAdjustGA [private]

Referenced by OptAmplifier().

double* OptAmplifier::GainPum [private]
double* OptAmplifier::GainSig [private]
string OptAmplifier::InDir [private]

Referenced by OptAmplifier().

double OptAmplifier::LifeTime [private]
double OptAmplifier::LowerN [private]
double OptAmplifier::MidPower [private]

Referenced by GetEDFAGain(), and ReadGainProfile().

double OptAmplifier::ModeOptAmplif [private]
int OptAmplifier::NumIntItr [private]

Referenced by ForwardStep(), and OptAmplifier().

int OptAmplifier::NumNoiCh [private]
int OptAmplifier::NumPumCh [private]
int OptAmplifier::NumSigCh [private]
int OptAmplifier::NumTSteps [private]
int OptAmplifier::NumZSteps [private]

Referenced by OptAmplifier().

double* OptAmplifier::oEDFAGain [private]
double* OptAmplifier::oNoiseBPower [private]
double* OptAmplifier::oNoiseFPower [private]
double* OptAmplifier::oNoiseWaveLth [private]
double* OptAmplifier::oPumpAbs [private]
double* OptAmplifier::oPumpPower [private]
double* OptAmplifier::oPumpWaveLth [private]

Referenced by AmplifyOptSignal(), and OptAmplifier().

double* OptAmplifier::oSignalAbs [private]
double* OptAmplifier::oSignalEms [private]
double* OptAmplifier::oSignalPower [private]
double* OptAmplifier::oSignalWaveLth [private]
double OptAmplifier::PumpABS [private]

Referenced by GetPumpAbs(), and OptAmplifier().

double* OptAmplifier::PumpInput [private]

Referenced by OptAmplifier(), and SetPumpPower().

Referenced by ReadSignalCrossSection().

int OptAmplifier::qtPoints [private]

Referenced by AddRippleToGain(), and OptAmplifier().

Referenced by AddRippleToGain(), and OptAmplifier().

double OptAmplifier::RipplePeriod [private]

Referenced by AddRippleToGain(), and OptAmplifier().

Referenced by OptAmplifier().

double* OptAmplifier::SignalInput [private]
double OptAmplifier::StartPumpPower [private]

Referenced by GetEDFAGain(), and ReadGainProfile().

Referenced by GetEDFAGain(), and ReadGainProfile().

double OptAmplifier::TotalTime [private]

Referenced by OptAmplifier(), and ResetTransient().

Total number of pumps for the rate equation model (NumPumpsRateEq).

Referenced by GetEDFAGain(), OptAmplifier(), and ReadGainProfile().

Referenced by OptAmplifier(), and ReadInEDFAGain().

Referenced by ForwardStep(), and OptAmplifier().

Referenced by OptAmplifier(), and SetTypeAmplifier().

Referenced by OptAmplifier().

double OptAmplifier::UpperN [private]
double* OptAmplifier::UpperNBackward [private]

The documentation for this class was generated from the following files: