EKG_Project.Modules.Waves.Waves.FindP C# (CSharp) Method

FindP() public method

public FindP ( ) : void
return void
        public void FindP()
        {
            double pmax_val;
            int window,break_window,pmax_loc,ponset,pend;

            window = Convert.ToInt32(InputData.Frequency*0.25);
            break_window = Convert.ToInt32(InputData.Frequency * 0.3);

            foreach (int onset_loc in _currentQRSonsetsPart)
            {
                if ((onset_loc - (window)) >= 1 && onset_loc != -1)
                {
                    FindMaxValue(onset_loc - window, onset_loc, out pmax_loc, out pmax_val);
                }
                else
                {
                    continue;
                }

                ponset = pmax_loc;
                while(InputData.Signals[_currentChannelIndex].Item2[ponset] > InputData.Signals[_currentChannelIndex].Item2[ponset-1] || (pmax_val- InputData.Signals[_currentChannelIndex].Item2[ponset] < 70))
                {
                    ponset--;
                    if (ponset < onset_loc - break_window)
                    {
                        ponset = -1;
                        break;
                    }
                }
                _currentPonsetsPart.Add(ponset);

                pend = pmax_loc;
                while (InputData.Signals[_currentChannelIndex].Item2[pend] > InputData.Signals[_currentChannelIndex].Item2[pend+1] || (pmax_val - InputData.Signals[_currentChannelIndex].Item2[pend] < 110))
                {
                    pend++;
                    if (pend > onset_loc)
                    {
                        pend = -1;
                        break;
                    }
                }
                _currentPendsPart.Add(pend);
            }
        }