public void CalculateOpticalConstants_Drude() { // Arrange var optConst = ParameterHelper.ReadOpticalConstants("opt_const.txt"); var EpsInfinity = 3.9943; var OmegaP = 1.369e+16; var DEps0 = 8.45e-1; var Gamma0 = 7.292e+13; var funcPermitivitty = new Dictionary <double, Complex>(); foreach (var waveLength in optConst.WaveLengthList) { var omeg = SpectrumUnitConverter.Convert(waveLength / OpticalConstants.WaveLengthMultiplier, SpectrumUnitType.WaveLength, SpectrumUnitType.CycleFrequency); var compl = EpsInfinity - OmegaP * OmegaP / (omeg * omeg - Complex.ImaginaryOne * Gamma0 * omeg); funcPermitivitty.Add(waveLength, compl); } ParameterHelper.WriteOpticalConstants("opt_const_new.txt", funcPermitivitty); using (var gnuplot = new GnuPlot()) { gnuplot.HoldOn(); gnuplot.Plot(funcPermitivitty); var permitivittyList = getPermitivittyFunc(optConst); gnuplot.Plot(permitivittyList); } // Act // Assert }
/// <summary> /// Converts value to specified type. /// </summary> /// <param name="toType">To spectrum parameter type.</param> /// <returns>The value of spectrum parameter type.</returns> public double ToType(SpectrumUnitType toType) { return(SpectrumUnitConverter.Convert(this.value, this.type, toType)); }