59 lines
2.1 KiB
C#
59 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Adaptation.FileHandlers.json;
|
|
|
|
public class Calibration
|
|
{
|
|
|
|
public int NumberOfCalibrationSets { get; }
|
|
public List<DataSet> DataSets { get; }
|
|
|
|
internal Calibration(csv.Calibration calibration)
|
|
{
|
|
DataSet dataSet;
|
|
Position position;
|
|
List<Position> positions;
|
|
List<DataSet> dataSets = new();
|
|
NumberOfCalibrationSets = int.Parse(calibration.NumberOfCalibrationSets);
|
|
DataSets = dataSets;
|
|
foreach (csv.DataSet csvDataSet in calibration.DataSets)
|
|
{
|
|
positions = new();
|
|
foreach (csv.Position csvPosition in csvDataSet.Positions)
|
|
{
|
|
position = new
|
|
(
|
|
resistivity: double.Parse(csvPosition.Resistivity),
|
|
resistance: double.Parse(csvPosition.Resistance),
|
|
percentStandardDeviation: double.Parse(csvPosition.PercentStandardDeviation),
|
|
number: int.Parse(csvPosition.Number),
|
|
name: csvPosition.Name
|
|
);
|
|
positions.Add(position);
|
|
}
|
|
dataSet = new
|
|
(
|
|
@operator: csvDataSet.Operator,
|
|
dateTime: DateTime.Parse(csvDataSet.DateTime),
|
|
finish: csvDataSet.Finish,
|
|
orientation: csvDataSet.Orientation,
|
|
northProbeID: csvDataSet.NorthProbeID,
|
|
southProbeID: csvDataSet.SouthProbeID,
|
|
polarity: csvDataSet.Polarity,
|
|
contactRadius: double.Parse(csvDataSet.ContactRadius),
|
|
probeSpacing: double.Parse(csvDataSet.ProbeSpacing),
|
|
load: double.Parse(csvDataSet.Load),
|
|
xStep: double.Parse(csvDataSet.XStep),
|
|
name: csvDataSet.Name,
|
|
plateId: csvDataSet.PlateId,
|
|
type: csvDataSet.Type,
|
|
pointsPerSample: int.Parse(csvDataSet.PointsPerSample),
|
|
numberOfPairs: int.Parse(csvDataSet.NumberOfPairs),
|
|
positions: positions
|
|
);
|
|
dataSets.Add(dataSet);
|
|
}
|
|
}
|
|
|
|
} |