Esempio n. 1
0
 private double IntervalInMsec(double interval)
 {
     if (CurrentCalibration.UnitsAreMsecs)
     {
         return(interval);
     }
     else
     {
         return(EPCalculator.SecToMsec(interval));
     }
 }
Esempio n. 2
0
 public double IntervalInSecs(double interval)
 {
     if (CurrentCalibration.UnitsAreSeconds)
     {
         return(interval);
     }
     else
     {
         return(EPCalculator.MsecToSec(interval));
     }
 }
Esempio n. 3
0
 private double RateResult(double interval)
 {
     if (interval != 0.0)
     {
         if (CurrentCalibration.UnitsAreMsecs)
         {
             interval = EPCalculator.MsecToBpm(interval);
         }
         else if (CurrentCalibration.UnitsAreSeconds)
         {
             interval = EPCalculator.SecToBpm(interval);
         }
     }
     return(interval);
 }
Esempio n. 4
0
        public string Calculate(double qtInSec, double rrInSec,
                                bool convertToMsec, string units)
        {
            string errorResult = "Invalid Result";

            if (rrInSec <= 0)
            {
                return(errorResult);
            }
            QtcFormula[] qtcFormulas;
            double       qtc;

            switch (formula)
            {
            case QtcFormula.qtcBzt:
                qtcFormulas = new QtcFormula[] { QtcFormula.qtcBzt };
                break;

            case QtcFormula.qtcFrd:
                qtcFormulas = new QtcFormula[] { QtcFormula.qtcFrd };
                break;

            case QtcFormula.qtcFrm:
                qtcFormulas = new QtcFormula[] { QtcFormula.qtcFrm };
                break;

            case QtcFormula.qtcHdg:
                qtcFormulas = new QtcFormula[] { QtcFormula.qtcHdg };
                break;

            case QtcFormula.qtcAll:
                qtcFormulas = new QtcFormula[] { QtcFormula.qtcBzt, QtcFormula.qtcFrm, QtcFormula.qtcFrd, QtcFormula.qtcHdg };
                break;

            default:
                return(errorResult);
            }
            double meanRR = rrInSec;
            double qt     = qtInSec;

            if (convertToMsec)
            {
                qt     *= 1000.0;
                meanRR *= 1000.0;
            }
            string result = string.Format("Mean RR = {0} {2}\nQT = {1} {2}", meanRR.ToString("G4"),
                                          qt.ToString("G4"), units);

            foreach (QtcFormula qtcFormula in qtcFormulas)
            {
                qtc = EPCalculator.Calculate(qtcFormula, qtInSec, rrInSec);
                if (double.IsInfinity(qtc) || double.IsNaN(qtc))
                {
                    return(errorResult);
                }
                // TODO: is this needed?
//                qtc = (Math.Round(qtc * 100000.0) / 100000.0);
                if (convertToMsec)
                {
                    qtc *= 1000.0;
                }
                result += string.Format("\nQTc = {0} {1} ({2} formula)", qtc.ToString("G4"), units, formulaNames[qtcFormula]);
            }
            return(result);
        }