public bool AddObservation( string designation, double raHours, double deDeg, DateTime utcTime, TimeSpan timePrecision, double mag, MagnitudeBand band, bool isVideoNormalPosition, double?raUncertaintyArcSec, double?deUncertaintyArcSec) { lastObjectDesignation = designation; MPCObsLine obsLine = new MPCObsLine(Header.COD); obsLine.SetObject(designation); obsLine.SetPosition(raHours, deDeg, utcTime, isVideoNormalPosition); obsLine.SetMagnitude(mag, band); obsLine.SetUncertainty(raUncertaintyArcSec, deUncertaintyArcSec); if (Header.COD == MPCObsLine.ROVING_OBS_CODE) { string newLine1 = obsLine.BuildRovingObserverLine1(); if (ObsLines.Exists(l => newLine1.Equals(l.BuildObservationASCIILine(), StringComparison.Ordinal))) { return(false); } } else { string newLine = obsLine.BuildObservationASCIILine(); if (ObsLines.Exists(l => newLine.Equals(l.BuildObservationASCIILine(), StringComparison.Ordinal))) { return(false); } } ObsLines.Add(obsLine); return(true); }
public void SetMagnitude(double mag, MagnitudeBand magBand) { if (double.IsNaN(mag) || double.IsInfinity(mag)) { m_Magnitude_65_70 = " "; m_MagnitudeBand_71 = " "; return; } m_Magnitude_65_70 = (mag.ToString("0.0", CultureInfo.InvariantCulture).PadLeft(4) + " ").Substring(0, 5); switch (magBand) { case MagnitudeBand.Johnson_U: m_MagnitudeBand_71 = "U"; break; case MagnitudeBand.Johnson_B: m_MagnitudeBand_71 = "B"; break; case MagnitudeBand.Johnson_V: m_MagnitudeBand_71 = "V"; break; case MagnitudeBand.Cousins_R: m_MagnitudeBand_71 = "R"; break; case MagnitudeBand.Cousins_I: m_MagnitudeBand_71 = "I"; break; case MagnitudeBand.Sloan_g: m_MagnitudeBand_71 = "g"; break; case MagnitudeBand.Sloan_r: m_MagnitudeBand_71 = "r"; break; case MagnitudeBand.Sloan_i: m_MagnitudeBand_71 = "i"; break; case MagnitudeBand.Sloan_z: m_MagnitudeBand_71 = "z"; break; case MagnitudeBand.TwoMicron_J: m_MagnitudeBand_71 = "J"; break; case MagnitudeBand.W: m_MagnitudeBand_71 = "W"; break; } }
public void SetMagnitude(double mag, MagnitudeBand magBand) { if (double.IsNaN(mag) || double.IsInfinity(mag)) { m_Magnitude_65_70 = " "; m_MagnitudeBand_71 = " "; return; } m_Magnitude_65_70 = (mag.ToString("0.0", CultureInfo.InvariantCulture).PadLeft(4) + " ").Substring(0, 5); switch(magBand) { case MagnitudeBand.Johnson_U: m_MagnitudeBand_71 = "U"; break; case MagnitudeBand.Johnson_B: m_MagnitudeBand_71 = "B"; break; case MagnitudeBand.Johnson_V: m_MagnitudeBand_71 = "V"; break; case MagnitudeBand.Cousins_R: m_MagnitudeBand_71 = "R"; break; case MagnitudeBand.Cousins_I: m_MagnitudeBand_71 = "I"; break; case MagnitudeBand.Sloan_g: m_MagnitudeBand_71 = "g"; break; case MagnitudeBand.Sloan_r: m_MagnitudeBand_71 = "r"; break; case MagnitudeBand.Sloan_i: m_MagnitudeBand_71 = "i"; break; case MagnitudeBand.Sloan_z: m_MagnitudeBand_71 = "z"; break; case MagnitudeBand.TwoMicron_J: m_MagnitudeBand_71 = "J"; break; case MagnitudeBand.W: m_MagnitudeBand_71 = "W"; break; } }
public bool AddObservation( string designation, double raHours, double deDeg, DateTime utcTime, TimeSpan timePrecision, double mag, MagnitudeBand band, bool isVideoNormalPosition, double? raUncertaintyArcSec, double? deUncertaintyArcSec) { lastObjectDesignation = designation; MPCObsLine obsLine = new MPCObsLine(Header.COD); obsLine.SetObject(designation); obsLine.SetPosition(raHours, deDeg, utcTime, isVideoNormalPosition); obsLine.SetMagnitude(mag, band); obsLine.SetUncertainty(raUncertaintyArcSec, deUncertaintyArcSec); string newLine = obsLine.BuildObservationASCIILine(); if (ObsLines.Exists(l => newLine.Equals(l.BuildObservationASCIILine(), StringComparison.Ordinal))) return false; ObsLines.Add(obsLine); return true; }
private void DisplayMeaMag() { lblM.Visible = false; lblMeaMag.Visible = false; m_MPCMag = double.NaN; if (m_AllMeasurements.Count > 2) { List<double> allMags = m_AllMeasurements.Select(m => m.Value.Mag).Where(m => !double.IsNaN(m)).ToList(); allMags.Sort(); if (allMags.Count > 1) { m_MPCMag = allMags[allMags.Count/2]; m_MPCMagBand = MagnitudeBand.Cousins_R; if (m_MeasurementContext != null) { switch (m_MeasurementContext.PhotometryMagOutputBand) { case TangraConfig.MagOutputBand.CousinsR: m_MPCMagBand = MagnitudeBand.Cousins_R; break; case TangraConfig.MagOutputBand.JohnsonV: m_MPCMagBand = MagnitudeBand.Johnson_V; break; } } } if (!double.IsNaN(m_MPCMag)) { m_MPCMag = m_MeasurementContext.StarCatalogueFacade.ConvertMagnitude(m_MPCMag, m_MeasurementContext.AssumedTargetVRColour, m_MeasurementContext.PhotometryCatalogBandId, m_MeasurementContext.PhotometryMagOutputBand); string bandStr = ""; switch(m_MeasurementContext.PhotometryMagOutputBand) { case TangraConfig.MagOutputBand.CousinsR: bandStr = " (R)"; break; case TangraConfig.MagOutputBand.JohnsonV: bandStr = " (V)"; break; } lblMeaMag.Text = m_MPCMag.ToString("0.0") + bandStr; lblMeaMag.Visible = true; lblM.Visible = true; } } }