private static void ReportIsomersInfo(IEnumerable<IdentifiedIsomerInfo> allIsomers)
{
int isomerIndex = 1;
var isomers = allIsomers.ToArray();
bool onlyOneIsomer = isomers.Count() <= 1;
foreach (IdentifiedIsomerInfo isomer in isomers)
{
if (!onlyOneIsomer)
{
Trace.WriteLine(string.Format(" Isomer #[{0}]", isomerIndex));
}
Trace.WriteLine(string.Format(" M/Z: {0:F4} Dalton({1:F4} ppm)", isomer.MzInDalton, isomer.MzInPpm));
Trace.WriteLine(string.Format(" Intensity Score: {0:F4}", isomer.PeakScores.IntensityScore));
Trace.WriteLine(string.Format(" Peak Shape Score: {0:F4})", isomer.PeakScores.PeakShapeScore));
Trace.WriteLine(string.Format(" Isotopic Score: {0:F4}", isomer.PeakScores.IsotopicScore));
Trace.WriteLine(string.Format(" R2: {0:F4}", isomer.RSquared));
Trace.WriteLine(string.Format(" Mobility: {0:F4} cm^2/(s*V)", isomer.Mobility));
Trace.WriteLine(string.Format(" T0: {0:F4} ms", isomer.T0));
Trace.WriteLine(string.Format(" Cross Sectional Area: {0:F4} Å^2", isomer.CrossSectionalArea));
ArrivalTimeSnapShot lastDriftTime = isomer.ArrivalTimeSnapShots.Last();
Trace.WriteLine(string.Format(" Last VoltageGroup Drift Time: {0:F4} ms [V: {1:F2}V, T: {2:F2}K, P: {3:F2}Torr]", lastDriftTime.MeasuredArrivalTimeInMs, lastDriftTime.DriftTubeVoltageInVolt, lastDriftTime.TemperatureInKelvin, lastDriftTime.PressureInTorr));
isomerIndex++;
if (!onlyOneIsomer)
{
Trace.WriteLine(string.Empty);
}
}
}