#include <ocsRamanAmp.hh>
Public Member Functions | |
RamanAmp () | |
~RamanAmp () | |
void | ReleaseMemory () |
RamanAmp (string Job, string InFileName, RanNumGen *RNG2, int TNumFiber) | |
RamanAmp (string Job, string InFileName, RanNumGen *RNG2, OptSignal *oOptSignal1, int TNumFiber) | |
void | AllocateMemory () |
void | PrepareSignal () |
void | PrepareSignalCW () |
void | PrepareSignalNonFourier () |
void | SetGainProfile (double FiberLength, string InFileName) |
void | ReadPlainFileGainLoss (double FiberLength, string InFileName) |
void | ReadRamanGainLossWavelengthGrid (double FiberLength, string InFileName) |
void | PrepareNextStep () |
void | RamanIteration () |
void | AddNoise () |
void | PropagateSignalandNoise (OptSignal *NFSignal, OptSignal *Noise) |
void | PropagateNoise (OptSignal *Noise) |
void | ShootingGeneticAlgorithmsVictor () |
void | GeneticAlgorithmsVictor (double *Vector) |
void | PrepareSignalStart () |
void | PrepareSignalLastRound () |
void | CallLastRound () |
void | ForwardLastRound (int StepI) |
double | OptimizeForwardIntegrationLastRound (int IntStepI, double *PreSig) |
void | SingalRayleighBScattteringBackward (int StepI) |
void | DoubleRayleighBScattteringForward (int StepI) |
void | SetPumpPower (double Value) |
void | ShootingGAVictor () |
void | ShootingGA () |
void | ShootingGAVaryCW () |
void | ShootingGeneticAlgorithms (double VectorEqSpace) |
void | ShootingGeneticAlgorithmsVaryCW (double VectorEqSpace) |
void | ShootingIntegration (int NExtItr) |
void | ShootingIntegrationExample (int NExtItr) |
void | GetPumpInitGuessFromIntg (double *TargetAlpha) |
void | UpdateIndividualWavelength (double VectorSpaceUpdate) |
void | UpdateIndividualWavelength (int Num, double *VectorUpdate, double Space, double CW) |
void | GeneticAlgorithmsVaryCW (double *Vector, double PumpSpace, double *CW) |
void | GeneticAlgorithms (double *Vector) |
void | CalculateFrel () |
void | InitRamanIteration () |
void | RelaxRamanIteration () |
void | ForwardStep (int StepI) |
void | BackwardStep (int StepI) |
double | OptimizeForwardIntegration (int IntStepI, double *PreSig) |
double | OptimizeBackwardIntegration (int IntStepI, double *PrePum) |
void | FirstGuessForwardShooting (int IntStepI, double *PreSig, double *PrePum) |
void | ShootingRamanIteration () |
void | PrePumpShooting (int PreShootingStepI) |
void | SignalOnlyPropagation (int PreShootingStepI) |
void | PreSignalShooting (int PreShootingStepI) |
void | PreSignalShootingWOA (int PreShootingStepI) |
void | ForwardShooting (int StepI) |
double | OptimizeForwardShootingIntegration (int IntStepI, double *PreSig, double *PrePum) |
double | OptimizeForwardPumpShootingIntegration (int IntStepI, double *PreSig, double *PrePum) |
double | OptimizeForwardSignalShootingIntegration (int IntStepI, double *PreSig, double *PrePum) |
void | InternalRelaxationInForwardShooting (int IntStepI, double *PreSig, double *PrePum) |
void | ParallelCorrection (double *ShootingValue, double *Target) |
void | ParallelCorrectionNewton (double *ShootingValue, double *Target) |
void | OneByOneCorrection (double *ShootingValue, double *Target) |
void | ParallelIntgCorrection (double *ShootingValue, double *Target) |
void | ParallelIntgCorrectionNewton (double *ShootingValue, double *Target) |
void | UEvolution (int StepI, double *MatrixU) |
void | GetMatrixW (int WStepI, double *MatrixW) |
void | GaussianElimination (double *MatrixU, double *CorrectP, double *EpxirP) |
void | MatrixCopy (double *M1, double *M2, int M, int N) |
void | MatrixMultiply (double *M1, double *M2, int N) |
void | MatrixPlus (double *M1, double *M2, int N) |
void | MatrixPlus (double *M1, double *M2, int M, int N) |
void | DisplayM (double *M1, int M, int N) |
void | MatrixDivid (double *M1, double M, int N) |
void | MatrixDivid (double *M1, double Num, int M, int N) |
void | MatrixMultiply (double *M1, double M2, int N) |
void | MatrixSubtract (double *M1, double *M2, int M, int N) |
void | MatrixReducedMultiply (double *M1, double *M2, int N, int P) |
double | GetTempDepFactor (double Wavelength1, double Wavelength2) |
double | GetRamanGainFreqGrid (double Wavelength1, double Wavelength2, int NumSteps) |
double | GetRamanGainFreqGrid (double Wavelength1, double Wavelength2) |
double | GetRamanGain (double Wavelength1, double Wavelength2, int NumSteps) |
double | GetRamanGain (double Wavelength1, double Wavelength2) |
double | GetRamanGainClose (double Wave1, double Wave2, int Index) |
double | GetAttenuationFiber (double Wavelength) |
double | GetAttenuationFiber (double Wavelength, int NumSteps) |
double | GetRamanPowerFreqIndex (double Z, int SignalFreqIndex) |
void | SetAmpLength (double Value) |
void | SetTypeRamanNoise (typeRamanNoise TypeRamanNoise2) |
void | DoubleRamanPumpPower () |
string | WriteTypeRamanNoise (void) |
void | WriteSignalWaveLthPower (string OutFileName, int Num) |
void | WriteSignalWaveLthPowerWith (string OutFileName, int Num) |
void | WritePumpWaveLthPower (string OutFileName, int Num) |
void | WritePumpPower (string OutFileName) |
void | WritePumpPowerdB (string OutFileName) |
void | WriteSignalOutputPower (string OutFileName) |
void | WriteSignalOutputPowerdB (string OutFileName) |
void | WriteSignalConvergence (string OutFileName) |
void | WriteSignalTrack (string OutFileName, int Num) |
void | WriteSignalTrack (string OutFileName) |
void | WriteAveragePowerdBm (int loop) |
void | WriteEqIntgData (string InFileName) |
void | WriteGainShapeData (string InFileName, string OutFileName1, string OutFileName2) |
void | WriteCentralWavelength (string InFileName, string OutFileName1) |
void | WriteSignalNoise (OptSignal *Signal1, OptSignal *NFSignal, OptSignal *N, string OutSignalNoiseFileName) |
void | RamanTransient () |
Private Member Functions | |
void | Calculatedsdt (double *oSigTemp, double *oPumTemp, double *dPsigdt, double *dPpumdt) |
void | Mac24BF (double *oSignalTemp, double *oPumpTemp, double *dPsdt, double *dPpdt) |
void | Mac24FB (double *oSignalTemp, double *oPumpTemp, double *dPsdt, double *dPpdt) |
void | CalculateForwarddsdt (double *oSigTemp, double *oPumTemp, double *dPsigdt, double *dPpumdt) |
void | CalculateBackwarddsdt (double *oSigTemp, double *oPumTemp, double *dPsigdt, double *dPpumdt) |
void | ReadPlainFileGain (double FiberLength, string InFileName) |
void | ReadPlainFileLoss (double FiberLength, string InFileName) |
double | DeltaZ (int NumSteps) |
Private Attributes | |
double | WaveLengthStart |
double | WavelengthStep |
typeRamanNoise | TypeRamanNoise |
double * | oSignalWaveLth |
double * | oSignalPower |
double * | oSignalPowerPre |
double * | oSignalSample |
double * | oSignalTrack |
double * | oIntgSigPower |
double * | SigFEnergy |
double * | oASEWaveLth |
double * | oSRBWaveLth |
double * | oDRBWaveLth |
double * | oASEPower |
double * | oSRBPower |
double * | oDRBPower |
double * | oPumpWaveLth |
double * | oPumpPower |
double * | oPumpTarget |
double * | oPumpTrack |
double * | oPumpTargetBackup |
double * | oPumpPowerPre |
double * | oPumpPower45Converted |
double * | oPumpWaveLthInput |
double * | oPumpPowerInput |
double * | oPumpIntgTarget |
double * | oRamanGain |
double * | oLoss |
double | PumpAttenuation |
double * | DeltaPsignal |
double | DeltaPsignalsign |
double * | DeltaPpump |
double | DeltaPpumpsign |
double * | PreCorrectP |
double | CompCoeff |
double * | DeltaPpumpTotal |
double * | DeltaPsignalTotal |
int | TypeIntergration |
int | TypeAlgorithm |
int | TypeCorrect |
double | WeightCorrect |
double | IterationAccurateTh |
double | ShootingAccurateTh |
double | RamanStartLength |
double | AmpLength |
double | DeltaZConst |
double * | DeltaZArray |
int | NumSigCh |
int | NumPumCh |
int | NumASECh |
int | NumSRBCh |
int | NumDRBCh |
int | NumFibersPumped |
int | NumFiberIndex |
int * | FiberLocation |
int | PumpWavelengthForGain |
double | WaveLengthStartGain |
double | WavelengthStepGain |
int | NumGainWidth |
double | WaveLengthStartLoss |
double | WavelengthStepLoss |
int | NumLossWidth |
double | FreqStartGain |
double | FreqStepGain |
double | GlobleRipple |
int | NumPumChTotal |
int | NumCh |
int | NumIteration |
int | NumIntItr |
int | TypeGeneticAlgorithms |
int | Population |
int | SelectionFixedNum |
double | CrossRate |
double | MutationRate |
int | StartNumSpace |
int | EndNumSpace |
int | AccurateSign |
int | BlowupSign |
int | FixSignalShootingSign |
int | FixPumpShootingSign |
double | RayleighBackscatterCoeff |
int | NumZSteps |
string | JobRaman |
int | NumTSteps |
double | DeltaT |
OptSignal * | oOptSignal |
RanNumGen * | RNG |
cfftw * | fft |
fftMatrices | sfftM |
int | qtPoints |
double | DeltaFreq |
double | FreqWindow |
double | DeltaTime |
double | TimeWindow |
int | ObjectInitialized |
int | TypeOptFilter |
int | OrderOptFilter |
double | FreqFWHM_OptFilter |
double | RelativeCenterFreqOptFilter |
double | PumpPowerFactor |
string | InFileNameSave |
int | NoFourierSignal |
int | ReadPlainFileGainLossFlag |
int | ReadRamanGainLossWavelengthGridFlag |
RamanAmp::RamanAmp | ( | ) |
References ObjectInitialized.
RamanAmp::~RamanAmp | ( | ) |
References ObjectInitialized, and ReleaseMemory().
RamanAmp::RamanAmp | ( | string | Job, | |
string | InFileName, | |||
RanNumGen * | RNG2, | |||
int | TNumFiber | |||
) |
References AccurateSign, AmpLength, BlowupSign, CrossRate, DeltaZArray, DeltaZConst, EndNumSpace, FiberLocation, FixPumpShootingSign, FixSignalShootingSign, InFileNameSave, IterationAccurateTh, JobRaman, LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, MutationRate, NoFourierSignal, NumASECh, NumCh, NumDRBCh, NumFiberIndex, NumFibersPumped, NumIntItr, NumIteration, NumPumCh, NumSigCh, NumSRBCh, ObjectInitialized, oLoss, oPumpPowerInput, oPumpWaveLthInput, oRamanGain, Population, ReadDouble(), ReadInt(), RNG, SelectionFixedNum, StartNumSpace, TypeAlgorithm, TypeCorrect, TypeGeneticAlgorithms, TypeIntergration, TypeRamanNoise, WeightCorrect, and WriteTypeRamanNoise().
RamanAmp::RamanAmp | ( | string | Job, | |
string | InFileName, | |||
RanNumGen * | RNG2, | |||
OptSignal * | oOptSignal1, | |||
int | TNumFiber | |||
) |
References AccurateSign, AmpLength, BlowupSign, CrossRate, cfftw::delta_f, DeltaFreq, DeltaTime, DeltaZArray, DeltaZConst, EndNumSpace, OptSignal::fft, fft, FiberLocation, FixPumpShootingSign, FixSignalShootingSign, FreqWindow, OptSignal::GetQtPoints(), OptSignal::GetTimeWindow(), OptSignal::GetTypeSimulation(), cfftw::give_N(), IterationAccurateTh, JobRaman, LogFile, LogFileSeparator(), LOWER_AND_UPPER, LOWER_ONLY, MANDATORY, MutationRate, NoFourierSignal, NumASECh, NumCh, NumDRBCh, NumFiberIndex, NumFibersPumped, NumIntItr, NumIteration, NumPumCh, NumSigCh, NumSRBCh, ObjectInitialized, oLoss, oOptSignal, oPumpPowerInput, oPumpWaveLthInput, oRamanGain, Population, PumpPowerFactor, qtPoints, ReadDouble(), ReadInt(), RNG, SelectionFixedNum, OptSignal::sfftM, sfftM, StartNumSpace, TimeWindow, TypeAlgorithm, TypeCorrect, TypeGeneticAlgorithms, TypeIntergration, TypeRamanNoise, WeightCorrect, and WriteTypeRamanNoise().
void RamanAmp::AddNoise | ( | ) |
References fft, fftMatrices::fOptSignalX, RanNumGen::GetGaussianDeviate(), RanNumGen::GetRanNum(), cfftw::IFFT(), cfftw::ifftshift(), jc, NumZSteps, oASEPower, oDRBPower, pi, qtPoints, RAMAN_NOISE_OFF, RAMAN_NOISE_ON_GAUSSIAN_WHITE, RAMAN_NOISE_ON_NO_RNG, RAMAN_NOISE_ON_RANDOM_PHASE, RNG, sfftM, sq(), sqrt(), fftMatrices::tOptSignalX, and TypeRamanNoise.
void RamanAmp::AllocateMemory | ( | void | ) |
References FiberLocation, LogFile, NumASECh, NumDRBCh, NumFiberIndex, NumFibersPumped, NumPumCh, NumSigCh, NumSRBCh, NumZSteps, oASEPower, oASEWaveLth, oDRBPower, oDRBWaveLth, oIntgSigPower, oPumpIntgTarget, oPumpPower, oPumpTarget, oPumpTargetBackup, oPumpWaveLth, oSignalPower, oSignalWaveLth, oSRBPower, oSRBWaveLth, PreCorrectP, and SigFEnergy.
void RamanAmp::BackwardStep | ( | int | StepI | ) |
References BlowupSign, DeltaZ(), GetAttenuationFiber(), GetRamanGain(), NumIntItr, NumPumCh, NumSigCh, NumZSteps, OptimizeBackwardIntegration(), oPumpPower, oPumpWaveLth, oSignalPower, and oSignalWaveLth.
Referenced by RelaxRamanIteration(), and ShootingRamanIteration().
void RamanAmp::CalculateBackwarddsdt | ( | double * | oSigTemp, | |
double * | oPumTemp, | |||
double * | dPsigdt, | |||
double * | dPpumdt | |||
) | [private] |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), LightSpeed, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, and oSignalWaveLth.
void RamanAmp::Calculatedsdt | ( | double * | oSigTemp, | |
double * | oPumTemp, | |||
double * | dPsigdt, | |||
double * | dPpumdt | |||
) | [private] |
void RamanAmp::CalculateForwarddsdt | ( | double * | oSigTemp, | |
double * | oPumTemp, | |||
double * | dPsigdt, | |||
double * | dPpumdt | |||
) | [private] |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), LightSpeed, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, and oSignalWaveLth.
void RamanAmp::CalculateFrel | ( | ) |
References AmpLength, DeltaZConst, GetAttenuationFiber(), GetRamanGain(), log(), LogFile, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
void RamanAmp::CallLastRound | ( | ) |
LogFile << "compare ASE and DRB in Z" << endl; double FLength=0; for(int i=1;i<NumZSteps;i++){ FLength += DeltaZ(i); LogFile << FLength / 1000 << " " << oASEPower[NumASECh/2*NumZSteps + i] << " " << oSRBPower[NumASECh/2*NumZSteps + i] << " " << oDRBPower[NumASECh/2*NumZSteps + i] << endl; ; } LogFile << " end of compare" << endl;
References DoubleRayleighBScattteringForward(), ForwardLastRound(), LogFile, NumASECh, NumZSteps, oASEPower, oASEWaveLth, oDRBPower, PrepareSignalLastRound(), and SingalRayleighBScattteringBackward().
Referenced by RamanIteration().
double RamanAmp::DeltaZ | ( | int | NumSteps | ) | [private] |
References DeltaZArray, FiberLocation, and NumZSteps.
Referenced by BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), RamanTransient(), SignalOnlyPropagation(), SingalRayleighBScattteringBackward(), UEvolution(), WriteAveragePowerdBm(), WritePumpPower(), WritePumpPowerdB(), WritePumpWaveLthPower(), WriteSignalTrack(), and WriteSignalWaveLthPower().
void RamanAmp::DisplayM | ( | double * | M1, | |
int | M, | |||
int | N | |||
) |
References LogFile.
void RamanAmp::DoubleRamanPumpPower | ( | ) |
References NumPumCh, and oPumpPowerInput.
void RamanAmp::DoubleRayleighBScattteringForward | ( | int | StepI | ) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), NumDRBCh, NumPumCh, NumZSteps, oDRBPower, oDRBWaveLth, oPumpPower, oPumpWaveLth, oSRBPower, RAMAN_NOISE_OFF, RayleighBackscatterCoeff, and TypeRamanNoise.
Referenced by CallLastRound().
void RamanAmp::FirstGuessForwardShooting | ( | int | IntStepI, | |
double * | PreSig, | |||
double * | PrePum | |||
) |
References DeltaZ(), FixPumpShootingSign, FixSignalShootingSign, GetAttenuationFiber(), GetRamanGain(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, and oSignalWaveLth.
Referenced by ForwardShooting(), and InternalRelaxationInForwardShooting().
void RamanAmp::ForwardLastRound | ( | int | StepI | ) |
References DeltaFreq, DeltaZ(), GetAttenuationFiber(), GetRamanGain(), GetTempDepFactor(), hPlanck, NumASECh, NumIntItr, NumPumCh, NumSigCh, NumZSteps, oASEPower, oASEWaveLth, OptimizeForwardIntegrationLastRound(), oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, RAMAN_NOISE_OFF, TypeRamanNoise, and Wavelength2Frequency().
Referenced by CallLastRound().
void RamanAmp::ForwardShooting | ( | int | StepI | ) |
References BlowupSign, FirstGuessForwardShooting(), InternalRelaxationInForwardShooting(), NumIntItr, NumPumCh, NumSigCh, OptimizeForwardShootingIntegration(), and TypeIntergration.
Referenced by RelaxRamanIteration(), ShootingIntegration(), ShootingIntegrationExample(), and ShootingRamanIteration().
void RamanAmp::ForwardStep | ( | int | StepI | ) |
void RamanAmp::GaussianElimination | ( | double * | MatrixU, | |
double * | CorrectP, | |||
double * | EpxirP | |||
) |
References NumPumCh.
Referenced by ParallelCorrection(), and ParallelIntgCorrection().
void RamanAmp::GeneticAlgorithms | ( | double * | Vector | ) |
References AmpLength, DeltaZConst, GetAttenuationFiber(), GetRamanGain(), RanNumGen::GetRanNum(), log(), MutationRate, NumPumCh, NumSigCh, NumZSteps, oPumpIntgTarget, oPumpWaveLth, oSignalPower, oSignalWaveLth, Population, RNG, SelectionFixedNum, sq(), and TypeIntergration.
Referenced by ShootingGeneticAlgorithms().
void RamanAmp::GeneticAlgorithmsVaryCW | ( | double * | Vector, | |
double | PumpSpace, | |||
double * | CW | |||
) |
References AmpLength, CrossRate, DeltaZConst, GetAttenuationFiber(), GetRamanGain(), RanNumGen::GetRanNum(), log(), MutationRate, NumPumCh, NumSigCh, NumZSteps, oIntgSigPower, oPumpIntgTarget, oPumpWaveLth, oSignalPower, oSignalWaveLth, Population, RNG, SelectionFixedNum, sq(), sqrt(), TypeIntergration, and UpdateIndividualWavelength().
Referenced by ShootingGeneticAlgorithmsVaryCW().
void RamanAmp::GeneticAlgorithmsVictor | ( | double * | Vector | ) |
References AmpLength, DeltaZConst, GetAttenuationFiber(), GetRamanGain(), RanNumGen::GetRanNum(), log(), LogFile, MutationRate, NumPumCh, NumSigCh, NumZSteps, oIntgSigPower, oPumpIntgTarget, oPumpWaveLth, oSignalPower, oSignalWaveLth, Population, RNG, SelectionFixedNum, sq(), sqrt(), and TypeIntergration.
Referenced by ShootingGeneticAlgorithmsVictor().
double RamanAmp::GetAttenuationFiber | ( | double | Wavelength | ) |
References oLoss.
Referenced by BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetMatrixW(), GetPumpInitGuessFromIntg(), OneByOneCorrection(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), SignalOnlyPropagation(), and SingalRayleighBScattteringBackward().
double RamanAmp::GetAttenuationFiber | ( | double | Wavelength, | |
int | NumSteps | |||
) |
void RamanAmp::GetMatrixW | ( | int | WStepI, | |
double * | MatrixW | |||
) |
References GetAttenuationFiber(), GetRamanGain(), log(), NumCh, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by UEvolution().
void RamanAmp::GetPumpInitGuessFromIntg | ( | double * | TargetAlpha | ) |
References AmpLength, GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oIntgSigPower, oPumpPower, oPumpWaveLth, and oSignalWaveLth.
double RamanAmp::GetRamanGain | ( | double | Wavelength1, | |
double | Wavelength2, | |||
int | NumSteps | |||
) |
References FiberLocation, GetRamanGainFreqGrid(), NumGainWidth, NumZSteps, oRamanGain, PumpWavelengthForGain, ReadPlainFileGainLossFlag, ReadRamanGainLossWavelengthGridFlag, Wavelength2Frequency(), WaveLengthStartGain, and WavelengthStepGain.
Referenced by BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetMatrixW(), GetPumpInitGuessFromIntg(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), SignalOnlyPropagation(), SingalRayleighBScattteringBackward(), and WriteGainShapeData().
double RamanAmp::GetRamanGain | ( | double | Wavelength1, | |
double | Wavelength2 | |||
) |
References NumGainWidth, oRamanGain, Wavelength2Frequency(), WaveLengthStartGain, and WavelengthStepGain.
double RamanAmp::GetRamanGainClose | ( | double | Wave1, | |
double | Wave2, | |||
int | Index | |||
) |
double RamanAmp::GetRamanGainFreqGrid | ( | double | Wavelength1, | |
double | Wavelength2, | |||
int | NumSteps | |||
) |
References FiberLocation, FreqStepGain, NumGainWidth, oRamanGain, and Wavelength2Frequency().
Referenced by GetRamanGain().
double RamanAmp::GetRamanGainFreqGrid | ( | double | Wavelength1, | |
double | Wavelength2 | |||
) |
References oRamanGain, and Wavelength2Frequency().
double RamanAmp::GetRamanPowerFreqIndex | ( | double | Z, | |
int | SignalFreqIndex | |||
) |
References AmpLength, DeltaZArray, FiberLocation, NumSigCh, NumZSteps, oSignalPower, oSignalWaveLth, and Wavelength2Frequency().
Referenced by OptFiberLocalError::ApplyFullRamanOperator().
double RamanAmp::GetTempDepFactor | ( | double | Wavelength1, | |
double | Wavelength2 | |||
) |
References hPlanck, and Wavelength2Frequency().
Referenced by ForwardLastRound(), and OptimizeForwardIntegrationLastRound().
void RamanAmp::InitRamanIteration | ( | ) |
void RamanAmp::InternalRelaxationInForwardShooting | ( | int | IntStepI, | |
double * | PreSig, | |||
double * | PrePum | |||
) |
References FirstGuessForwardShooting(), OptimizeForwardPumpShootingIntegration(), and OptimizeForwardSignalShootingIntegration().
Referenced by ForwardShooting().
void RamanAmp::Mac24BF | ( | double * | oSignalTemp, | |
double * | oPumpTemp, | |||
double * | dPsdt, | |||
double * | dPpdt | |||
) | [private] |
References CalculateBackwarddsdt(), CalculateForwarddsdt(), DeltaT, NumPumCh, NumSigCh, NumZSteps, oPumpPower, and oSignalPower.
void RamanAmp::Mac24FB | ( | double * | oSignalTemp, | |
double * | oPumpTemp, | |||
double * | dPsdt, | |||
double * | dPpdt | |||
) | [private] |
References CalculateBackwarddsdt(), CalculateForwarddsdt(), DeltaT, NumPumCh, NumSigCh, NumZSteps, oPumpPower, and oSignalPower.
Referenced by RamanTransient().
void RamanAmp::MatrixCopy | ( | double * | M1, | |
double * | M2, | |||
int | M, | |||
int | N | |||
) |
Referenced by ParallelIntgCorrection().
void RamanAmp::MatrixDivid | ( | double * | M1, | |
double | M, | |||
int | N | |||
) |
Referenced by ParallelCorrection(), ParallelIntgCorrection(), and UEvolution().
void RamanAmp::MatrixDivid | ( | double * | M1, | |
double | Num, | |||
int | M, | |||
int | N | |||
) |
void RamanAmp::MatrixMultiply | ( | double * | M1, | |
double | M2, | |||
int | N | |||
) |
void RamanAmp::MatrixMultiply | ( | double * | M1, | |
double * | M2, | |||
int | N | |||
) |
Referenced by UEvolution().
void RamanAmp::MatrixPlus | ( | double * | M1, | |
double * | M2, | |||
int | M, | |||
int | N | |||
) |
void RamanAmp::MatrixPlus | ( | double * | M1, | |
double * | M2, | |||
int | N | |||
) |
Referenced by ParallelIntgCorrection(), and UEvolution().
void RamanAmp::MatrixReducedMultiply | ( | double * | M1, | |
double * | M2, | |||
int | N, | |||
int | P | |||
) |
Referenced by UEvolution().
void RamanAmp::MatrixSubtract | ( | double * | M1, | |
double * | M2, | |||
int | M, | |||
int | N | |||
) |
Referenced by ParallelIntgCorrection().
void RamanAmp::OneByOneCorrection | ( | double * | ShootingValue, | |
double * | Target | |||
) |
References AmpLength, GetAttenuationFiber(), NumPumCh, NumZSteps, oPumpPower, oPumpWaveLth, and WeightCorrect.
Referenced by ShootingIntegration().
double RamanAmp::OptimizeBackwardIntegration | ( | int | IntStepI, | |
double * | PrePum | |||
) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by BackwardStep().
double RamanAmp::OptimizeForwardIntegration | ( | int | IntStepI, | |
double * | PreSig | |||
) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by ForwardStep().
double RamanAmp::OptimizeForwardIntegrationLastRound | ( | int | IntStepI, | |
double * | PreSig | |||
) |
References DeltaFreq, DeltaZ(), GetAttenuationFiber(), GetRamanGain(), GetTempDepFactor(), hPlanck, log(), NumASECh, NumPumCh, NumSigCh, NumZSteps, oASEPower, oASEWaveLth, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, RAMAN_NOISE_OFF, TypeIntergration, TypeRamanNoise, and Wavelength2Frequency().
Referenced by ForwardLastRound().
double RamanAmp::OptimizeForwardPumpShootingIntegration | ( | int | IntStepI, | |
double * | PreSig, | |||
double * | PrePum | |||
) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by InternalRelaxationInForwardShooting().
double RamanAmp::OptimizeForwardShootingIntegration | ( | int | IntStepI, | |
double * | PreSig, | |||
double * | PrePum | |||
) |
References DeltaZ(), FixPumpShootingSign, FixSignalShootingSign, GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by ForwardShooting().
double RamanAmp::OptimizeForwardSignalShootingIntegration | ( | int | IntStepI, | |
double * | PreSig, | |||
double * | PrePum | |||
) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), log(), NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSignalWaveLth, and TypeIntergration.
Referenced by InternalRelaxationInForwardShooting().
void RamanAmp::ParallelCorrection | ( | double * | ShootingValue, | |
double * | Target | |||
) |
References GaussianElimination(), MatrixDivid(), NumCh, NumPumCh, NumZSteps, oPumpPower, UEvolution(), and WeightCorrect.
Referenced by ShootingRamanIteration().
void RamanAmp::ParallelCorrectionNewton | ( | double * | ShootingValue, | |
double * | Target | |||
) |
void RamanAmp::ParallelIntgCorrection | ( | double * | ShootingValue, | |
double * | Target | |||
) |
References GaussianElimination(), MatrixCopy(), MatrixDivid(), MatrixPlus(), MatrixSubtract(), NumCh, NumPumCh, NumZSteps, oPumpPower, UEvolution(), and WeightCorrect.
Referenced by ShootingIntegrationExample().
void RamanAmp::ParallelIntgCorrectionNewton | ( | double * | ShootingValue, | |
double * | Target | |||
) |
void RamanAmp::PrepareNextStep | ( | ) |
References DeltaTime, fft, fftMatrices::fOptSignalX, cfftw::IFFT(), cfftw::ifftshift(), Linear2dBm(), NumSigCh, NumZSteps, oSignalPower, qtPoints, sfftM, sq(), sqrt(), TimeWindow, and fftMatrices::tOptSignalX.
void RamanAmp::PrepareSignal | ( | ) |
void RamanAmp::PrepareSignalCW | ( | ) |
References NumCh, NumPumCh, NumSigCh, and oSignalWaveLth.
Referenced by RamanIteration().
void RamanAmp::PrepareSignalLastRound | ( | ) |
References fft, cfftw::fftshift(), fftMatrices::fOptSignalX, Frequency2Wavelength(), OptSignal::GetCenterFreq(), OptSignal::GetDeltaFreq(), cfftw::ifftshift(), NumASECh, NumSigCh, NumZSteps, oASEPower, oASEWaveLth, oDRBPower, oDRBWaveLth, oOptSignal, oSignalPower, oSignalWaveLth, oSRBPower, oSRBWaveLth, qtPoints, RAMAN_NOISE_OFF, sfftM, sq(), and TypeRamanNoise.
Referenced by CallLastRound().
void RamanAmp::PrepareSignalNonFourier | ( | ) |
References InFileNameSave, LogFile, LOWER_ONLY, NumCh, NumPumCh, NumSigCh, NumZSteps, oPumpPowerInput, oPumpTarget, oPumpTargetBackup, oPumpWaveLth, oPumpWaveLthInput, oSignalPower, oSignalWaveLth, and ReadDouble().
Referenced by RamanIteration().
void RamanAmp::PrepareSignalStart | ( | ) |
References fft, cfftw::fftshift(), fftMatrices::fOptSignalX, Frequency2Wavelength(), OptSignal::GetCenterFreq(), OptSignal::GetChannSpacing(), OptSignal::GetDeltaFreq(), OptSignal::GetNumChannels(), cfftw::ifftshift(), LogFile, NumCh, NumPumCh, NumSigCh, NumZSteps, oOptSignal, oPumpPowerInput, oPumpTarget, oPumpTargetBackup, oPumpWaveLth, oPumpWaveLthInput, oSignalPower, oSignalWaveLth, qtPoints, sfftM, and sq().
Referenced by RamanIteration().
void RamanAmp::PrePumpShooting | ( | int | PreShootingStepI | ) |
void RamanAmp::PreSignalShooting | ( | int | PreShootingStepI | ) |
void RamanAmp::PreSignalShootingWOA | ( | int | PreShootingStepI | ) |
void RamanAmp::PropagateNoise | ( | OptSignal * | Noise | ) |
References fft, fftMatrices::fOptSignalX, RanNumGen::GetGaussianDeviate(), RanNumGen::GetRanNum(), cfftw::IFFT(), cfftw::ifftshift(), jc, LogFile, NumZSteps, oASEPower, oASEWaveLth, oDRBPower, oSignalPower, pi, qtPoints, RAMAN_NOISE_OFF, RAMAN_NOISE_ON_GAUSSIAN_WHITE, RAMAN_NOISE_ON_NO_RNG, RAMAN_NOISE_ON_RANDOM_PHASE, RNG, OptSignal::sfftM, sq(), sqrt(), fftMatrices::tOptSignalX, and TypeRamanNoise.
References fft, fftMatrices::fOptSignalX, RanNumGen::GetGaussianDeviate(), RanNumGen::GetRanNum(), cfftw::IFFT(), cfftw::ifftshift(), jc, LogFile, NumZSteps, oASEPower, oASEWaveLth, oDRBPower, oSignalPower, pi, qtPoints, RAMAN_NOISE_OFF, RAMAN_NOISE_ON_GAUSSIAN_WHITE, RAMAN_NOISE_ON_NO_RNG, RAMAN_NOISE_ON_RANDOM_PHASE, RNG, OptSignal::sfftM, sq(), sqrt(), fftMatrices::tOptSignalX, and TypeRamanNoise.
void RamanAmp::RamanIteration | ( | ) |
References CallLastRound(), DeltaZArray, DeltaZConst, NoFourierSignal, NumPumCh, NumSigCh, NumZSteps, oPumpPower, PrepareSignalCW(), PrepareSignalNonFourier(), PrepareSignalStart(), RelaxRamanIteration(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingIntegrationExample(), ShootingRamanIteration(), TypeAlgorithm, and TypeGeneticAlgorithms.
void RamanAmp::RamanTransient | ( | ) |
References BlowupSign, DeltaT, DeltaZ(), JobRaman, LogFile, Mac24FB(), NumPumCh, NumSigCh, NumTSteps, NumZSteps, oPumpPower, oPumpTargetBackup, oPumpWaveLth, oSignalPower, oSignalWaveLth, and SignalOnlyPropagation().
void RamanAmp::ReadPlainFileGain | ( | double | FiberLength, | |
string | InFileName | |||
) | [private] |
void RamanAmp::ReadPlainFileGainLoss | ( | double | FiberLength, | |
string | InFileName | |||
) |
References AmpLength, DeltaZArray, DeltaZConst, FiberLocation, FreqStartGain, FreqStepGain, LogFile, LogFileSeparator(), NumFiberIndex, NumFibersPumped, NumGainWidth, NumLossWidth, oLoss, oRamanGain, ReadPlainFileGainLossFlag, ReadRamanGainLossWavelengthGridFlag, WaveLengthStartLoss, and WavelengthStepLoss.
void RamanAmp::ReadPlainFileLoss | ( | double | FiberLength, | |
string | InFileName | |||
) | [private] |
void RamanAmp::ReadRamanGainLossWavelengthGrid | ( | double | FiberLength, | |
string | InFileName | |||
) |
References AmpLength, DeltaZArray, DeltaZConst, FiberLocation, LogFile, LogFileSeparator(), LOWER_ONLY, MANDATORY, NumFiberIndex, NumFibersPumped, NumGainWidth, NumLossWidth, oLoss, oRamanGain, PumpAttenuation, PumpWavelengthForGain, RayleighBackscatterCoeff, ReadDouble(), ReadPlainFileGainLossFlag, ReadRamanGainLossWavelengthGridFlag, WaveLengthStartGain, WaveLengthStartLoss, WavelengthStepGain, and WavelengthStepLoss.
void RamanAmp::RelaxRamanIteration | ( | ) |
References AccurateSign, BackwardStep(), FixPumpShootingSign, ForwardShooting(), IterationAccurateTh, LogFile, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpTargetBackup, oPumpTrack, oPumpWaveLth, oSignalPower, oSignalWaveLth, SignalOnlyPropagation(), sq(), and sqrt().
Referenced by RamanIteration().
void RamanAmp::ReleaseMemory | ( | void | ) |
References DeltaZArray, FiberLocation, oIntgSigPower, oLoss, oPumpIntgTarget, oPumpPower, oPumpTarget, oPumpTargetBackup, oPumpWaveLth, oRamanGain, oSignalPower, oSignalWaveLth, PreCorrectP, and SigFEnergy.
Referenced by ~RamanAmp().
void RamanAmp::SetAmpLength | ( | double | Value | ) |
References AmpLength.
void RamanAmp::SetGainProfile | ( | double | FiberLength, | |
string | InFileName | |||
) |
References AmpLength, DeltaZArray, DeltaZConst, FiberLocation, LogFile, LogFileSeparator(), NO_BOUNDS, NumFiberIndex, NumGainWidth, oRamanGain, ReadDouble(), ReadInt(), and WavelengthStepGain.
void RamanAmp::SetPumpPower | ( | double | Value | ) |
References NumPumCh, oPumpPowerInput, and PumpPowerFactor.
void RamanAmp::SetTypeRamanNoise | ( | typeRamanNoise | TypeRamanNoise2 | ) |
References TypeRamanNoise.
void RamanAmp::ShootingGA | ( | ) |
References EndNumSpace, GlobleRipple, JobRaman, LogFile, NumPumCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpWaveLth, ShootingGeneticAlgorithms(), and StartNumSpace.
Referenced by RamanIteration().
void RamanAmp::ShootingGAVaryCW | ( | ) |
References EndNumSpace, GlobleRipple, JobRaman, LogFile, NumPumCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpWaveLth, ShootingGeneticAlgorithmsVaryCW(), and StartNumSpace.
Referenced by RamanIteration().
void RamanAmp::ShootingGAVictor | ( | ) |
References GlobleRipple, JobRaman, LogFile, NumPumCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpWaveLth, and ShootingGeneticAlgorithmsVictor().
Referenced by RamanIteration().
void RamanAmp::ShootingGeneticAlgorithms | ( | double | VectorEqSpace | ) |
References GeneticAlgorithms(), RanNumGen::GetRanNum(), GlobleRipple, log(), NumPumCh, NumSigCh, NumZSteps, oSignalPower, Population, RNG, ShootingIntegration(), SignalOnlyPropagation(), and UpdateIndividualWavelength().
Referenced by ShootingGA().
void RamanAmp::ShootingGeneticAlgorithmsVaryCW | ( | double | VectorEqSpace | ) |
References AmpLength, GeneticAlgorithmsVaryCW(), GetAttenuationFiber(), RanNumGen::GetRanNum(), GlobleRipple, log(), NumPumCh, NumSigCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpWaveLth, oSignalPower, Population, RNG, ShootingIntegration(), SignalOnlyPropagation(), and UpdateIndividualWavelength().
Referenced by ShootingGAVaryCW().
void RamanAmp::ShootingGeneticAlgorithmsVictor | ( | ) |
References AmpLength, GeneticAlgorithmsVictor(), GetAttenuationFiber(), RanNumGen::GetRanNum(), GlobleRipple, log(), LogFile, NumPumCh, NumSigCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpWaveLth, oSignalPower, Population, RNG, ShootingIntegration(), and SignalOnlyPropagation().
Referenced by ShootingGAVictor().
void RamanAmp::ShootingIntegration | ( | int | NExtItr | ) |
References AccurateSign, AmpLength, BlowupSign, DeltaZConst, FixPumpShootingSign, FixSignalShootingSign, ForwardShooting(), GetAttenuationFiber(), IterationAccurateTh, log(), NumPumCh, NumZSteps, OneByOneCorrection(), oPumpIntgTarget, oPumpPower, oPumpTrack, oPumpWaveLth, sq(), sqrt(), and TypeIntergration.
Referenced by ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), and ShootingGeneticAlgorithmsVictor().
void RamanAmp::ShootingIntegrationExample | ( | int | NExtItr | ) |
References AccurateSign, AmpLength, BlowupSign, DeltaZConst, FixPumpShootingSign, FixSignalShootingSign, ForwardShooting(), GetAttenuationFiber(), IterationAccurateTh, JobRaman, log(), NumPumCh, NumSigCh, NumZSteps, oPumpIntgTarget, oPumpPower, oPumpTrack, oPumpWaveLth, oSignalPower, oSignalWaveLth, ParallelIntgCorrection(), SignalOnlyPropagation(), sq(), sqrt(), TypeIntergration, and UpdateIndividualWavelength().
Referenced by RamanIteration().
void RamanAmp::ShootingRamanIteration | ( | ) |
References AccurateSign, BackwardStep(), BlowupSign, ForwardShooting(), IterationAccurateTh, log(), LogFile, NumIteration, NumPumCh, NumSigCh, NumZSteps, oPumpPower, oPumpTarget, oPumpTargetBackup, oPumpTrack, oPumpWaveLth, oSignalPower, oSignalWaveLth, ParallelCorrection(), SignalOnlyPropagation(), sq(), sqrt(), and TypeCorrect.
Referenced by RamanIteration().
void RamanAmp::SignalOnlyPropagation | ( | int | PreShootingStepI | ) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), NumSigCh, NumZSteps, oSignalPower, and oSignalWaveLth.
Referenced by RamanTransient(), RelaxRamanIteration(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegrationExample(), and ShootingRamanIteration().
void RamanAmp::SingalRayleighBScattteringBackward | ( | int | StepI | ) |
References DeltaZ(), GetAttenuationFiber(), GetRamanGain(), NumPumCh, NumSRBCh, NumZSteps, oPumpPower, oPumpWaveLth, oSignalPower, oSRBPower, oSRBWaveLth, RAMAN_NOISE_OFF, RayleighBackscatterCoeff, and TypeRamanNoise.
Referenced by CallLastRound().
void RamanAmp::UEvolution | ( | int | StepI, | |
double * | MatrixU | |||
) |
References DeltaZ(), GetMatrixW(), MatrixDivid(), MatrixMultiply(), MatrixPlus(), MatrixReducedMultiply(), NumCh, and NumPumCh.
Referenced by ParallelCorrection(), and ParallelIntgCorrection().
void RamanAmp::UpdateIndividualWavelength | ( | int | Num, | |
double * | VectorUpdate, | |||
double | Space, | |||
double | CW | |||
) |
References NumPumCh.
void RamanAmp::UpdateIndividualWavelength | ( | double | VectorSpaceUpdate | ) |
References NumPumCh, and oPumpWaveLth.
Referenced by GeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), and ShootingIntegrationExample().
void RamanAmp::WriteAveragePowerdBm | ( | int | loop | ) |
References AmpLength, DeltaZ(), Linear2dBm(), LogFile, NumZSteps, and SigFEnergy.
void RamanAmp::WriteCentralWavelength | ( | string | InFileName, | |
string | OutFileName1 | |||
) |
References LogFile, LogFileSeparator(), and NumPumCh.
void RamanAmp::WriteEqIntgData | ( | string | InFileName | ) |
References LogFile, and LogFileSeparator().
void RamanAmp::WriteGainShapeData | ( | string | InFileName, | |
string | OutFileName1, | |||
string | OutFileName2 | |||
) |
References GetRamanGain(), LogFile, LogFileSeparator(), LOWER_ONLY, and ReadDouble().
void RamanAmp::WritePumpPower | ( | string | OutFileName | ) |
References DeltaZ(), NumPumCh, NumZSteps, and oPumpPower.
void RamanAmp::WritePumpPowerdB | ( | string | OutFileName | ) |
References DeltaZ(), log(), NumPumCh, NumZSteps, and oPumpPower.
void RamanAmp::WritePumpWaveLthPower | ( | string | OutFileName, | |
int | Num | |||
) |
References DeltaZ(), NumZSteps, and oPumpPower.
void RamanAmp::WriteSignalConvergence | ( | string | OutFileName | ) |
References NumIteration.
void RamanAmp::WriteSignalOutputPower | ( | string | OutFileName | ) |
References NumSigCh, NumZSteps, oSignalPower, and oSignalWaveLth.
void RamanAmp::WriteSignalOutputPowerdB | ( | string | OutFileName | ) |
References NumSigCh, NumZSteps, oSignalPower, and oSignalWaveLth.
void RamanAmp::WriteSignalTrack | ( | string | OutFileName, | |
int | Num | |||
) |
References DeltaZ(), NumZSteps, and oSignalPower.
void RamanAmp::WriteSignalTrack | ( | string | OutFileName | ) |
References DeltaZ(), NumSigCh, NumZSteps, and oSignalPower.
void RamanAmp::WriteSignalWaveLthPower | ( | string | OutFileName, | |
int | Num | |||
) |
References DeltaZ(), NumZSteps, and oSignalPower.
void RamanAmp::WriteSignalWaveLthPowerWith | ( | string | OutFileName, | |
int | Num | |||
) |
string RamanAmp::WriteTypeRamanNoise | ( | void | ) |
References RAMAN_NOISE_OFF, RAMAN_NOISE_ON_GAUSSIAN_WHITE, RAMAN_NOISE_ON_NO_RNG, RAMAN_NOISE_ON_RANDOM_PHASE, and TypeRamanNoise.
Referenced by RamanAmp().
int RamanAmp::AccurateSign [private] |
Referenced by RamanAmp(), RelaxRamanIteration(), ShootingIntegration(), ShootingIntegrationExample(), and ShootingRamanIteration().
double RamanAmp::AmpLength [private] |
Referenced by CalculateFrel(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetPumpInitGuessFromIntg(), GetRamanPowerFreqIndex(), OneByOneCorrection(), RamanAmp(), ReadPlainFileGainLoss(), ReadRamanGainLossWavelengthGrid(), SetAmpLength(), SetGainProfile(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), and WriteAveragePowerdBm().
int RamanAmp::BlowupSign [private] |
double RamanAmp::CompCoeff [private] |
double RamanAmp::CrossRate [private] |
Referenced by GeneticAlgorithmsVaryCW(), and RamanAmp().
double RamanAmp::DeltaFreq [private] |
Referenced by ForwardLastRound(), OptimizeForwardIntegrationLastRound(), and RamanAmp().
double* RamanAmp::DeltaPpump [private] |
double RamanAmp::DeltaPpumpsign [private] |
double* RamanAmp::DeltaPpumpTotal [private] |
double* RamanAmp::DeltaPsignal [private] |
double RamanAmp::DeltaPsignalsign [private] |
double* RamanAmp::DeltaPsignalTotal [private] |
double RamanAmp::DeltaT [private] |
Referenced by Mac24BF(), Mac24FB(), and RamanTransient().
double RamanAmp::DeltaTime [private] |
Referenced by PrepareNextStep(), and RamanAmp().
double* RamanAmp::DeltaZArray [private] |
double RamanAmp::DeltaZConst [private] |
int RamanAmp::EndNumSpace [private] |
Referenced by RamanAmp(), ShootingGA(), and ShootingGAVaryCW().
cfftw* RamanAmp::fft [private] |
Referenced by AddNoise(), PrepareNextStep(), PrepareSignalLastRound(), PrepareSignalStart(), PropagateNoise(), PropagateSignalandNoise(), and RamanAmp().
int* RamanAmp::FiberLocation [private] |
int RamanAmp::FixPumpShootingSign [private] |
int RamanAmp::FixSignalShootingSign [private] |
double RamanAmp::FreqFWHM_OptFilter [private] |
double RamanAmp::FreqStartGain [private] |
Referenced by ReadPlainFileGainLoss().
double RamanAmp::FreqStepGain [private] |
Referenced by GetRamanGainFreqGrid(), and ReadPlainFileGainLoss().
double RamanAmp::FreqWindow [private] |
Referenced by RamanAmp().
double RamanAmp::GlobleRipple [private] |
string RamanAmp::InFileNameSave [private] |
Referenced by PrepareSignalNonFourier(), and RamanAmp().
double RamanAmp::IterationAccurateTh [private] |
Referenced by RamanAmp(), RelaxRamanIteration(), ShootingIntegration(), ShootingIntegrationExample(), and ShootingRamanIteration().
string RamanAmp::JobRaman [private] |
Referenced by RamanAmp(), RamanTransient(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), and ShootingIntegrationExample().
double RamanAmp::MutationRate [private] |
Referenced by GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), and RamanAmp().
int RamanAmp::NoFourierSignal [private] |
Referenced by RamanAmp(), and RamanIteration().
int RamanAmp::NumASECh [private] |
int RamanAmp::NumCh [private] |
int RamanAmp::NumDRBCh [private] |
Referenced by AllocateMemory(), DoubleRayleighBScattteringForward(), and RamanAmp().
int RamanAmp::NumFiberIndex [private] |
Referenced by AllocateMemory(), RamanAmp(), ReadPlainFileGainLoss(), ReadRamanGainLossWavelengthGrid(), and SetGainProfile().
int RamanAmp::NumFibersPumped [private] |
Referenced by AllocateMemory(), RamanAmp(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
int RamanAmp::NumGainWidth [private] |
Referenced by GetRamanGain(), GetRamanGainFreqGrid(), ReadPlainFileGainLoss(), ReadRamanGainLossWavelengthGrid(), and SetGainProfile().
int RamanAmp::NumIntItr [private] |
Referenced by BackwardStep(), ForwardLastRound(), ForwardShooting(), ForwardStep(), and RamanAmp().
int RamanAmp::NumIteration [private] |
Referenced by RamanAmp(), ShootingRamanIteration(), and WriteSignalConvergence().
int RamanAmp::NumLossWidth [private] |
Referenced by GetAttenuationFiber(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
int RamanAmp::NumPumCh [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), DoubleRamanPumpPower(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardShooting(), ForwardStep(), GaussianElimination(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetAttenuationFiber(), GetMatrixW(), GetPumpInitGuessFromIntg(), Mac24BF(), Mac24FB(), OneByOneCorrection(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), ParallelCorrection(), ParallelIntgCorrection(), PrepareSignalCW(), PrepareSignalNonFourier(), PrepareSignalStart(), RamanAmp(), RamanIteration(), RamanTransient(), RelaxRamanIteration(), SetPumpPower(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), ShootingRamanIteration(), SingalRayleighBScattteringBackward(), UEvolution(), UpdateIndividualWavelength(), WriteCentralWavelength(), WritePumpPower(), and WritePumpPowerdB().
int RamanAmp::NumPumChTotal [private] |
int RamanAmp::NumSigCh [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardShooting(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetAttenuationFiber(), GetMatrixW(), GetPumpInitGuessFromIntg(), GetRamanPowerFreqIndex(), Mac24BF(), Mac24FB(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), PrepareNextStep(), PrepareSignalCW(), PrepareSignalLastRound(), PrepareSignalNonFourier(), PrepareSignalStart(), RamanAmp(), RamanIteration(), RamanTransient(), RelaxRamanIteration(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegrationExample(), ShootingRamanIteration(), SignalOnlyPropagation(), WriteSignalOutputPower(), WriteSignalOutputPowerdB(), and WriteSignalTrack().
int RamanAmp::NumSRBCh [private] |
Referenced by AllocateMemory(), RamanAmp(), and SingalRayleighBScattteringBackward().
int RamanAmp::NumTSteps [private] |
Referenced by RamanTransient().
int RamanAmp::NumZSteps [private] |
Referenced by AddNoise(), AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), CallLastRound(), DeltaZ(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetMatrixW(), GetPumpInitGuessFromIntg(), GetRamanGain(), GetRamanPowerFreqIndex(), Mac24BF(), Mac24FB(), OneByOneCorrection(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), ParallelCorrection(), ParallelIntgCorrection(), PrepareNextStep(), PrepareSignalLastRound(), PrepareSignalNonFourier(), PrepareSignalStart(), PropagateNoise(), PropagateSignalandNoise(), RamanIteration(), RamanTransient(), RelaxRamanIteration(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), ShootingRamanIteration(), SignalOnlyPropagation(), SingalRayleighBScattteringBackward(), WriteAveragePowerdBm(), WritePumpPower(), WritePumpPowerdB(), WritePumpWaveLthPower(), WriteSignalOutputPower(), WriteSignalOutputPowerdB(), WriteSignalTrack(), and WriteSignalWaveLthPower().
double* RamanAmp::oASEPower [private] |
double* RamanAmp::oASEWaveLth [private] |
int RamanAmp::ObjectInitialized [private] |
Referenced by RamanAmp(), and ~RamanAmp().
double* RamanAmp::oDRBPower [private] |
double* RamanAmp::oDRBWaveLth [private] |
Referenced by AllocateMemory(), DoubleRayleighBScattteringForward(), and PrepareSignalLastRound().
double* RamanAmp::oIntgSigPower [private] |
Referenced by AllocateMemory(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetPumpInitGuessFromIntg(), and ReleaseMemory().
double* RamanAmp::oLoss [private] |
Referenced by GetAttenuationFiber(), RamanAmp(), ReadPlainFileGainLoss(), ReadRamanGainLossWavelengthGrid(), and ReleaseMemory().
OptSignal* RamanAmp::oOptSignal [private] |
Referenced by PrepareSignalLastRound(), PrepareSignalStart(), and RamanAmp().
double* RamanAmp::oPumpIntgTarget [private] |
Referenced by AllocateMemory(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), ReleaseMemory(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), and ShootingIntegrationExample().
double* RamanAmp::oPumpPower [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GetMatrixW(), GetPumpInitGuessFromIntg(), Mac24BF(), Mac24FB(), OneByOneCorrection(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), ParallelCorrection(), ParallelIntgCorrection(), RamanIteration(), RamanTransient(), RelaxRamanIteration(), ReleaseMemory(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), ShootingRamanIteration(), SingalRayleighBScattteringBackward(), WritePumpPower(), WritePumpPowerdB(), and WritePumpWaveLthPower().
double* RamanAmp::oPumpPower45Converted [private] |
double* RamanAmp::oPumpPowerInput [private] |
Referenced by DoubleRamanPumpPower(), PrepareSignalNonFourier(), PrepareSignalStart(), RamanAmp(), and SetPumpPower().
double* RamanAmp::oPumpPowerPre [private] |
double* RamanAmp::oPumpTarget [private] |
Referenced by AllocateMemory(), PrepareSignalNonFourier(), PrepareSignalStart(), ReleaseMemory(), and ShootingRamanIteration().
double* RamanAmp::oPumpTargetBackup [private] |
double* RamanAmp::oPumpTrack [private] |
Referenced by RelaxRamanIteration(), ShootingIntegration(), ShootingIntegrationExample(), and ShootingRamanIteration().
double* RamanAmp::oPumpWaveLth [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), DoubleRayleighBScattteringForward(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetAttenuationFiber(), GetMatrixW(), GetPumpInitGuessFromIntg(), OneByOneCorrection(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), PrepareSignalNonFourier(), PrepareSignalStart(), RamanTransient(), RelaxRamanIteration(), ReleaseMemory(), ShootingGA(), ShootingGAVaryCW(), ShootingGAVictor(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegration(), ShootingIntegrationExample(), ShootingRamanIteration(), SingalRayleighBScattteringBackward(), and UpdateIndividualWavelength().
double* RamanAmp::oPumpWaveLthInput [private] |
Referenced by PrepareSignalNonFourier(), PrepareSignalStart(), and RamanAmp().
double* RamanAmp::oRamanGain [private] |
int RamanAmp::OrderOptFilter [private] |
double* RamanAmp::oSignalPower [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetMatrixW(), GetRamanPowerFreqIndex(), Mac24BF(), Mac24FB(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), PrepareNextStep(), PrepareSignalLastRound(), PrepareSignalNonFourier(), PrepareSignalStart(), PropagateNoise(), PropagateSignalandNoise(), RamanTransient(), RelaxRamanIteration(), ReleaseMemory(), ShootingGeneticAlgorithms(), ShootingGeneticAlgorithmsVaryCW(), ShootingGeneticAlgorithmsVictor(), ShootingIntegrationExample(), ShootingRamanIteration(), SignalOnlyPropagation(), SingalRayleighBScattteringBackward(), WriteSignalOutputPower(), WriteSignalOutputPowerdB(), WriteSignalTrack(), and WriteSignalWaveLthPower().
double* RamanAmp::oSignalPowerPre [private] |
double* RamanAmp::oSignalSample [private] |
double* RamanAmp::oSignalTrack [private] |
double* RamanAmp::oSignalWaveLth [private] |
Referenced by AllocateMemory(), BackwardStep(), CalculateBackwarddsdt(), CalculateForwarddsdt(), CalculateFrel(), FirstGuessForwardShooting(), ForwardLastRound(), ForwardStep(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetAttenuationFiber(), GetMatrixW(), GetPumpInitGuessFromIntg(), GetRamanPowerFreqIndex(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), PrepareSignalCW(), PrepareSignalLastRound(), PrepareSignalNonFourier(), PrepareSignalStart(), RamanTransient(), RelaxRamanIteration(), ReleaseMemory(), ShootingIntegrationExample(), ShootingRamanIteration(), SignalOnlyPropagation(), WriteSignalOutputPower(), and WriteSignalOutputPowerdB().
double* RamanAmp::oSRBPower [private] |
double* RamanAmp::oSRBWaveLth [private] |
Referenced by AllocateMemory(), PrepareSignalLastRound(), and SingalRayleighBScattteringBackward().
int RamanAmp::Population [private] |
double* RamanAmp::PreCorrectP [private] |
Referenced by AllocateMemory(), and ReleaseMemory().
double RamanAmp::PumpAttenuation [private] |
Referenced by GetAttenuationFiber(), and ReadRamanGainLossWavelengthGrid().
double RamanAmp::PumpPowerFactor [private] |
Referenced by RamanAmp(), and SetPumpPower().
int RamanAmp::PumpWavelengthForGain [private] |
Referenced by GetRamanGain(), and ReadRamanGainLossWavelengthGrid().
int RamanAmp::qtPoints [private] |
Referenced by AddNoise(), PrepareNextStep(), PrepareSignalLastRound(), PrepareSignalStart(), PropagateNoise(), PropagateSignalandNoise(), and RamanAmp().
double RamanAmp::RamanStartLength [private] |
double RamanAmp::RayleighBackscatterCoeff [private] |
int RamanAmp::ReadPlainFileGainLossFlag [private] |
Referenced by GetAttenuationFiber(), GetRamanGain(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
int RamanAmp::ReadRamanGainLossWavelengthGridFlag [private] |
Referenced by GetAttenuationFiber(), GetRamanGain(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
double RamanAmp::RelativeCenterFreqOptFilter [private] |
RanNumGen* RamanAmp::RNG [private] |
int RamanAmp::SelectionFixedNum [private] |
Referenced by GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), and RamanAmp().
fftMatrices RamanAmp::sfftM [private] |
Referenced by AddNoise(), PrepareNextStep(), PrepareSignalLastRound(), PrepareSignalStart(), and RamanAmp().
double RamanAmp::ShootingAccurateTh [private] |
double* RamanAmp::SigFEnergy [private] |
Referenced by AllocateMemory(), ReleaseMemory(), and WriteAveragePowerdBm().
int RamanAmp::StartNumSpace [private] |
Referenced by RamanAmp(), ShootingGA(), and ShootingGAVaryCW().
double RamanAmp::TimeWindow [private] |
Referenced by PrepareNextStep(), and RamanAmp().
int RamanAmp::TypeAlgorithm [private] |
Referenced by RamanAmp(), and RamanIteration().
int RamanAmp::TypeCorrect [private] |
Referenced by RamanAmp(), and ShootingRamanIteration().
int RamanAmp::TypeGeneticAlgorithms [private] |
Referenced by RamanAmp(), and RamanIteration().
int RamanAmp::TypeIntergration [private] |
Referenced by CalculateFrel(), ForwardShooting(), GeneticAlgorithms(), GeneticAlgorithmsVaryCW(), GeneticAlgorithmsVictor(), GetMatrixW(), OptimizeBackwardIntegration(), OptimizeForwardIntegration(), OptimizeForwardIntegrationLastRound(), OptimizeForwardPumpShootingIntegration(), OptimizeForwardShootingIntegration(), OptimizeForwardSignalShootingIntegration(), RamanAmp(), ShootingIntegration(), and ShootingIntegrationExample().
int RamanAmp::TypeOptFilter [private] |
typeRamanNoise RamanAmp::TypeRamanNoise [private] |
double RamanAmp::WaveLengthStart [private] |
double RamanAmp::WaveLengthStartGain [private] |
Referenced by GetRamanGain(), and ReadRamanGainLossWavelengthGrid().
double RamanAmp::WaveLengthStartLoss [private] |
Referenced by GetAttenuationFiber(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
double RamanAmp::WavelengthStep [private] |
double RamanAmp::WavelengthStepGain [private] |
Referenced by GetRamanGain(), ReadRamanGainLossWavelengthGrid(), and SetGainProfile().
double RamanAmp::WavelengthStepLoss [private] |
Referenced by GetAttenuationFiber(), ReadPlainFileGainLoss(), and ReadRamanGainLossWavelengthGrid().
double RamanAmp::WeightCorrect [private] |
Referenced by OneByOneCorrection(), ParallelCorrection(), ParallelIntgCorrection(), and RamanAmp().