public void Load(string FileName) { this.FileName = FileName; using (StreamReader sr = new StreamReader(FileName)) { sr.ReadLine(); int noofsamples = int.Parse(sr.ReadLine().Trim()); int noofpars = int.Parse(sr.ReadLine().Trim()); sr.ReadLine(); List <double[]> data = new List <double[]>(); for (int i = 0; i < noofpars; i++) { data.Add(new double[noofsamples]); } for (int i = 0; i < noofsamples; i++) { var splits = sr.ReadLine().Split(new string[] { "\t" }, StringSplitOptions.None); for (int j = 0; j < noofpars; j++) { data[j][i] = double.Parse(splits[j]); } } int k = 0; while (!sr.EndOfStream && sr.ReadLine().ToLower() != "Default Truncations:".ToLower()) { ; } if (!sr.EndOfStream) { sr.ReadLine(); sr.ReadLine(); sr.ReadLine(); for (int i = 0; i < noofpars; i++) { sr.ReadLine(); CalibrationParameter par = new CalibrationParameter(); par.ShortName = sr.ReadLine().Trim(); Samples.Add(par, data[i]); sr.ReadLine(); sr.ReadLine(); sr.ReadLine(); } } } }
private void Load() { int noOfParameters; using (StreamReader sr = new StreamReader(FileName)) { Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); Upper.AppendLine(sr.ReadLine()); string s = sr.ReadLine(); Upper.AppendLine(s); noOfParameters = int.Parse(s.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)[0]); while ((s = sr.ReadLine()) != "* parameter data") { Upper.AppendLine(s); } Upper.AppendLine(s); for (int i = 0; i < noOfParameters; i++) { string[] splitted = sr.ReadLine().Split(new string[] { "\t" }, StringSplitOptions.None); CalibrationParameter cp = new CalibrationParameter(); cp.ShortName = splitted[0]; ParameterType p; if (Enum.TryParse <ParameterType>(splitted[1], true, out p)) { cp.ParType = p; } cp.ParChgLim = splitted[2]; cp.CurrentValue = double.Parse(splitted[3]); cp.MinValue = double.Parse(splitted[4]); cp.MaxValue = double.Parse(splitted[5]); var g = Groups.FirstOrDefault(var => var.Name.ToLower() == splitted[6].ToLower()); if (g == null) { g = new ParameterGroup(); g.Name = splitted[6]; Groups.Add(g); } cp.Group = g; cp.Scale = double.Parse(splitted[7]); cp.Offset = double.Parse(splitted[8]); cp.Dercom = double.Parse(splitted[9]); Parameters.Add(cp); } for (int i = 0; i < Parameters.Count(var => var.ParType == ParameterType.tied); i++) { string[] splitted = sr.ReadLine().Split(new string[] { " ", "\t" }, StringSplitOptions.None); var cp = Parameters.Single(var => var.ShortName == splitted[0]); cp.TiedTo = Parameters.Single(var => var.ShortName == splitted[1]); } Lower.Append(sr.ReadToEnd()); } }