Ejemplo n.º 1
0
        private LinearInterpolation1D CreateLinearInterpolationByTemperature(
            List <QQDataSet> dataSets,
            QQDataColumn dataColumn
            )
        {
            List <double> temperature = new List <double>(dataSets.Capacity);
            List <double> observable  = new List <double>(dataSets.Capacity);

            if (dataSets.Count > 0)
            {
                IOrderedEnumerable <QQDataSet> orderedDataSets
                    = dataSets.OrderBy(dataSet => dataSet.Temperature);

                foreach (QQDataSet dataSet in orderedDataSets)
                {
                    temperature.Add(dataSet.Temperature);
                    observable.Add(dataSet.GetData(dataColumn));
                }
            }
            else
            {
                temperature.Add(0);
                observable.Add(0);
            }

            return(new LinearInterpolation1D(temperature.ToArray(), observable.ToArray()));
        }
Ejemplo n.º 2
0
        public double GetData(
            QQDataColumn dataColumn
            )
        {
            switch (dataColumn)
            {
            case QQDataColumn.N:
                return(N);

            case QQDataColumn.L:
                return(L);

            case QQDataColumn.ColorState:
                return((int)ColorState);

            case QQDataColumn.PotentialType:
                return((int)PotentialType);

            case QQDataColumn.Temperature:
                return(Temperature);

            case QQDataColumn.DebyeMass:
                return(DebyeMass);

            case QQDataColumn.DisplacementRMS:
                return(DisplacementRMS);

            case QQDataColumn.SoftScale:
                return(SoftScale);

            case QQDataColumn.UltraSoftScale:
                return(UltraSoftScale);

            case QQDataColumn.BoundMass:
                return(BoundMass);

            case QQDataColumn.Energy:
                return(Energy);

            case QQDataColumn.GammaDamp:
                return(GammaDamp);

            case QQDataColumn.GammaDiss:
                return(GammaDiss);

            case QQDataColumn.GammaTot:
                return(GammaTot);

            case QQDataColumn.None:
                return(0);

            default:
                throw new Exception("Invalid QQDataColumn.");
            }
        }