207 lines
6.4 KiB
C#

using System.Text.Json.Serialization;
namespace Adaptation.FileHandlers.RsM;
#nullable enable
internal class Row
{
public Row(Run run, int i)
{
Title = run.Line1.Title;
//
FileName = run.Line2.FileName;
Project = run.Line2.Project;
RecipeName = run.Line2.RecipeName;
LotID = run.Line2.LotID;
WfrID = run.Line2.WfrID;
Is_TF_DataFile = run.Line2.Is_TF_DataFile;
//
Directory = run.Line3.Directory;
//
Time = run.Line4.Time;
Date = run.Line4.Date;
Temp = run.Line4.Temp;
TCRPercent = run.Line4.TCRPercent;
NOrP = run.Line4.NOrP;
//
Avg = run.Line4B.Avg;
Dev = run.Line4B.Dev;
Min = run.Line4B.Min;
Max = run.Line4B.Max;
//
Operator = run.Line5.Operator;
Equipment = run.Line5.Equipment;
//
Engineer = run.Line6.Engineer;
//
AreaOrDiamScan = run.Line7.AreaOrDiamScan;
WaferShape = run.Line7.WaferShape;
BNBand = run.Line7.BNBand;
TemplateFile = run.Line7.TemplateFile;
XSize = run.Line7.XSize;
YSize = run.Line7.YSize;
CalibrationFactor = run.Line7.CalibrationFactor;
MsmtMode = run.Line7.MsmtMode;
DataType = run.Line7.DataType;
DataUnit = run.Line7.DataUnit;
//
NumProbePoints = run.Line8.NumProbePoints;
SingleOrDualProbeConfig = run.Line8.SingleOrDualProbeConfig;
NumberActPrbPts = run.Line8.NumberActPrbPts;
Rsens = run.Line8.Rsens;
IdrvMx = run.Line8.IdrvMx;
VinGain = run.Line8.VinGain;
DataRejectSigma = run.Line8.DataRejectSigma;
MeritThreshold = run.Line8.MeritThreshold;
PrbChgNumber = run.Line8.PrbChgNumber;
PrbName = run.Line8.PrbName;
//
WaferSize = run.Line9.WaferSize;
EdgeEx = run.Line9.EdgeEx;
Xll = run.Line9.Xll;
Yll = run.Line9.Yll;
Xur = run.Line9.Xur;
Yur = run.Line9.Yur;
X = run.Line9.X;
Y = run.Line9.Y;
CutCorners = run.Line9.CutCorners;
//
DiamThScan = run.Line10.DiamThScan;
DiamStart = run.Line10.DiamStart;
DiamEnd = run.Line10.DiamEnd;
DiamStep = run.Line10.DiamStep;
//
FlatOrNotch = run.Line11.FlatOrNotch;
FollowMajorFlat = run.Line11.FollowMajorFlat;
AutoOrManualLoad = run.Line11.AutoOrManualLoad;
RangeOrIndividual = run.Line11.RangeOrIndividual;
PauseAfterEveryRun = run.Line11.PauseAfterEveryRun;
AutoPrint = run.Line11.AutoPrint;
Plot = run.Line11.Plot;
BulkSampleThk = run.Line11.BulkSampleThk;
Unit = run.Line11.Unit;
//
RangeFrom = run.Line12.RangeFrom;
RangeTo = run.Line12.RangeTo;
//
CassetteSlotSelected = run.Line13.CassetteSlotSelected;
//
R = run.Points[i].R;
Th = run.Points[i].Th;
Data = run.Points[i].Data;
Rs = run.Points[i].Rs;
RsA = run.Points[i].RsA;
RsB = run.Points[i].RsB;
NumberSample = run.Points[i].NumberSample;
PointX = run.Points[i].X;
PointY = run.Points[i].Y;
Irng = run.Points[i].Irng;
Vrng = run.Points[i].Vrng;
ChiSq = run.Points[i].ChiSq;
MeritGOF = run.Points[i].MeritGOF;
DataIntegrity = run.Points[i].DataIntegrity;
}
public string Title { get; }
//
public string FileName { get; }
public string Project { get; }
public string RecipeName { get; }
public string LotID { get; }
public string WfrID { get; }
public string Is_TF_DataFile { get; }
//
public string Directory { get; }
//
public string Time { get; }
public string Date { get; }
public string Temp { get; }
public string TCRPercent { get; }
public string NOrP { get; }
//
public string Avg { get; }
public string Dev { get; }
public string Min { get; }
public string Max { get; }
//
public string Operator { get; }
public string Equipment { get; }
//
public string Engineer { get; }
//
public string AreaOrDiamScan { get; }
public string WaferShape { get; }
public string BNBand { get; }
public string TemplateFile { get; }
public string XSize { get; }
public string YSize { get; }
public string CalibrationFactor { get; }
public string MsmtMode { get; }
public string DataType { get; }
public string DataUnit { get; }
//
public string NumProbePoints { get; }
public string SingleOrDualProbeConfig { get; }
public string NumberActPrbPts { get; }
public string Rsens { get; }
public string IdrvMx { get; }
public string VinGain { get; }
public string DataRejectSigma { get; }
public string MeritThreshold { get; }
public string PrbChgNumber { get; }
public string PrbName { get; }
//
public string WaferSize { get; }
public string EdgeEx { get; }
public string Xll { get; }
public string Yll { get; }
public string Xur { get; }
public string Yur { get; }
public string X { get; }
public string Y { get; }
public string CutCorners { get; }
//
public string DiamThScan { get; }
public string DiamStart { get; }
public string DiamEnd { get; }
public string DiamStep { get; }
//
public string FlatOrNotch { get; }
public string FollowMajorFlat { get; }
public string AutoOrManualLoad { get; }
public string RangeOrIndividual { get; }
public string PauseAfterEveryRun { get; }
public string AutoPrint { get; }
public string Plot { get; }
public string BulkSampleThk { get; }
public string Unit { get; }
//
public string RangeFrom { get; }
public string RangeTo { get; }
//
public string CassetteSlotSelected { get; }
//
public string R { get; }
public string Th { get; }
public string Data { get; }
public string Rs { get; }
public string RsA { get; }
public string RsB { get; }
public string NumberSample { get; }
public string PointX { get; }
public string PointY { get; }
public string Irng { get; }
public string Vrng { get; }
public string ChiSq { get; }
public string MeritGOF { get; }
public string DataIntegrity { get; }
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Row))]
internal partial class RowSourceGenerationContext : JsonSerializerContext
{
}