196 lines
7.3 KiB
C#
196 lines
7.3 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace Adaptation.FileHandlers.pcl;
|
|
|
|
#nullable enable
|
|
|
|
internal class Row
|
|
{
|
|
|
|
public Row(Run run, int i)
|
|
{
|
|
Index = i;
|
|
//
|
|
Operator = run.Header.Operator;
|
|
StartVoltage = run.Header.StartVoltage;
|
|
Wafer = run.Header.Wafer;
|
|
StopVoltage = run.Header.StopVoltage;
|
|
Lot = run.Header.Lot;
|
|
RampRate = run.Header.RampRate;
|
|
Plan = run.Header.Plan;
|
|
GLimit = run.Header.GLimit;
|
|
Date = run.Header.Date;
|
|
Time = run.Header.Time;
|
|
SetupFile = run.Header.SetupFile;
|
|
WaferSize = run.Header.WaferSize;
|
|
Folder = run.Header.Folder;
|
|
Ccomp = run.Header.Ccomp;
|
|
Pattern = run.Header.Pattern;
|
|
Area = run.Header.Area;
|
|
CondType = run.Header.CondType;
|
|
RhoMethod = run.Header.RhoMethod;
|
|
Model = run.Header.Model;
|
|
if (run.Summary.Mean is null)
|
|
{
|
|
MeanNAvg = string.Empty;
|
|
MeanNsl = string.Empty;
|
|
MeanVd = string.Empty;
|
|
MeanFlatZ = string.Empty;
|
|
MeanRhoAvg = string.Empty;
|
|
MeanRhosl = string.Empty;
|
|
MeanPhase = string.Empty;
|
|
MeanGrade = string.Empty;
|
|
MeanRs = string.Empty;
|
|
}
|
|
else
|
|
{
|
|
MeanNAvg = run.Summary.Mean.NAvg;
|
|
MeanNsl = run.Summary.Mean.Nsl;
|
|
MeanVd = run.Summary.Mean.Vd;
|
|
MeanFlatZ = run.Summary.Mean.FlatZ;
|
|
MeanRhoAvg = run.Summary.Mean.RhoAvg;
|
|
MeanRhosl = run.Summary.Mean.Rhosl;
|
|
MeanPhase = run.Summary.Mean.Phase;
|
|
MeanGrade = run.Summary.Mean.Grade;
|
|
MeanRs = run.Summary.Mean.Rs;
|
|
}
|
|
if (run.Summary.StandardDeviationPercentage is null)
|
|
{
|
|
StandardDeviationPercentageNAvg = string.Empty;
|
|
StandardDeviationPercentageNsl = string.Empty;
|
|
StandardDeviationPercentageVd = string.Empty;
|
|
StandardDeviationPercentageFlatZ = string.Empty;
|
|
StandardDeviationPercentageRhoAvg = string.Empty;
|
|
StandardDeviationPercentageRhosl = string.Empty;
|
|
StandardDeviationPercentagePhase = string.Empty;
|
|
StandardDeviationPercentageGrade = string.Empty;
|
|
StandardDeviationPercentageRs = string.Empty;
|
|
}
|
|
else
|
|
{
|
|
StandardDeviationPercentageNAvg = run.Summary.StandardDeviationPercentage.NAvg;
|
|
StandardDeviationPercentageNsl = run.Summary.StandardDeviationPercentage.Nsl;
|
|
StandardDeviationPercentageVd = run.Summary.StandardDeviationPercentage.Vd;
|
|
StandardDeviationPercentageFlatZ = run.Summary.StandardDeviationPercentage.FlatZ;
|
|
StandardDeviationPercentageRhoAvg = run.Summary.StandardDeviationPercentage.RhoAvg;
|
|
StandardDeviationPercentageRhosl = run.Summary.StandardDeviationPercentage.Rhosl;
|
|
StandardDeviationPercentagePhase = run.Summary.StandardDeviationPercentage.Phase;
|
|
StandardDeviationPercentageGrade = run.Summary.StandardDeviationPercentage.Grade;
|
|
StandardDeviationPercentageRs = run.Summary.StandardDeviationPercentage.Rs;
|
|
}
|
|
if (run.Summary.RadialGradient is null)
|
|
{
|
|
RadialGradientNAvg = string.Empty;
|
|
RadialGradientNsl = string.Empty;
|
|
RadialGradientVd = string.Empty;
|
|
RadialGradientFlatZ = string.Empty;
|
|
RadialGradientRhoAvg = string.Empty;
|
|
RadialGradientRhosl = string.Empty;
|
|
RadialGradientPhase = string.Empty;
|
|
RadialGradientGrade = string.Empty;
|
|
RadialGradientRs = string.Empty;
|
|
}
|
|
else
|
|
{
|
|
RadialGradientNAvg = run.Summary.RadialGradient.NAvg;
|
|
RadialGradientNsl = run.Summary.RadialGradient.Nsl;
|
|
RadialGradientVd = run.Summary.RadialGradient.Vd;
|
|
RadialGradientFlatZ = run.Summary.RadialGradient.FlatZ;
|
|
RadialGradientRhoAvg = run.Summary.RadialGradient.RhoAvg;
|
|
RadialGradientRhosl = run.Summary.RadialGradient.Rhosl;
|
|
RadialGradientPhase = run.Summary.RadialGradient.Phase;
|
|
RadialGradientGrade = run.Summary.RadialGradient.Grade;
|
|
RadialGradientRs = run.Summary.RadialGradient.Rs;
|
|
}
|
|
Site = run.Points[i].Site;
|
|
X = run.Points[i].X;
|
|
Y = run.Points[i].Y;
|
|
NAvg = run.Points[i].NAvg;
|
|
RhoAvg = run.Points[i].RhoAvg;
|
|
Nsl = run.Points[i].Nsl;
|
|
Rhosl = run.Points[i].Rhosl;
|
|
Vd = run.Points[i].Vd;
|
|
Phase = run.Points[i].Phase;
|
|
FlatZ = run.Points[i].FlatZ;
|
|
Grade = run.Points[i].Grade;
|
|
XLeft = run.Points[i].XLeft;
|
|
XRight = run.Points[i].XRight;
|
|
BottomY = run.Points[i].BottomY;
|
|
TopY = run.Points[i].TopY;
|
|
}
|
|
|
|
public int Index { get; }
|
|
//
|
|
public string Operator { get; }
|
|
public string StartVoltage { get; }
|
|
public string Wafer { get; }
|
|
public string StopVoltage { get; }
|
|
public string Lot { get; }
|
|
public string RampRate { get; }
|
|
public string Plan { get; }
|
|
public string GLimit { get; }
|
|
public string Date { get; }
|
|
public string Time { get; }
|
|
public string SetupFile { get; }
|
|
public string WaferSize { get; }
|
|
public string Folder { get; }
|
|
public string Ccomp { get; }
|
|
public string Pattern { get; }
|
|
public string Area { get; }
|
|
public string CondType { get; }
|
|
public string RhoMethod { get; }
|
|
public string Model { get; }
|
|
//
|
|
public string MeanNAvg { get; }
|
|
public string MeanNsl { get; }
|
|
public string MeanVd { get; }
|
|
public string MeanFlatZ { get; }
|
|
public string MeanRhoAvg { get; }
|
|
public string MeanRhosl { get; }
|
|
public string MeanPhase { get; }
|
|
public string MeanGrade { get; }
|
|
public string MeanRs { get; }
|
|
//
|
|
public string StandardDeviationPercentageNAvg { get; }
|
|
public string StandardDeviationPercentageNsl { get; }
|
|
public string StandardDeviationPercentageVd { get; }
|
|
public string StandardDeviationPercentageFlatZ { get; }
|
|
public string StandardDeviationPercentageRhoAvg { get; }
|
|
public string StandardDeviationPercentageRhosl { get; }
|
|
public string StandardDeviationPercentagePhase { get; }
|
|
public string StandardDeviationPercentageGrade { get; }
|
|
public string StandardDeviationPercentageRs { get; }
|
|
//
|
|
public string RadialGradientNAvg { get; }
|
|
public string RadialGradientNsl { get; }
|
|
public string RadialGradientVd { get; }
|
|
public string RadialGradientFlatZ { get; }
|
|
public string RadialGradientRhoAvg { get; }
|
|
public string RadialGradientRhosl { get; }
|
|
public string RadialGradientPhase { get; }
|
|
public string RadialGradientGrade { get; }
|
|
public string RadialGradientRs { get; }
|
|
//
|
|
public string Site { get; }
|
|
public string X { get; }
|
|
public string Y { get; }
|
|
public string NAvg { get; }
|
|
public string RhoAvg { get; }
|
|
public string Nsl { get; }
|
|
public string Rhosl { get; }
|
|
public string Vd { get; }
|
|
public string Phase { get; }
|
|
public string FlatZ { get; }
|
|
public string Grade { get; }
|
|
public string XLeft { get; }
|
|
public string XRight { get; }
|
|
public string BottomY { get; }
|
|
public string TopY { get; }
|
|
|
|
}
|
|
|
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
|
[JsonSerializable(typeof(Row))]
|
|
internal partial class RowSourceGenerationContext : JsonSerializerContext
|
|
{
|
|
} |