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())); }
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."); } }