{
	// Plot lambda-data power and amplitude spectra
		  
          double a, b ;
		  double high ;
		     int i, j, s ;
			HPEN oP ;

		 os = pSamp->OrderStep ;
		big = pSamp->max_order_index ;
	   high = ceil(100.0 * pSamp->ComMaxamp) / 100.0 ;

	for ( i = 0 ; i <= big ; i++ )
	{
			or = i * os + st.BBotOrd ;
			xp = (int)((double)wd * (or - lo_f) / fspan ) + xlmar ;

		if (PowerSpectrum)
		{
        oP = SelectObject(hdc, redPen) ; s = 0 ;
			 a = pow(pSamp->amp[i],2.0) ;
			yp = rcArc.bottom - ((int)(ymul * (a - lo_y)) + ylmar) ;
			PlotSeg(hWndArch, i, s, xp, yp) ;
			SelectObject(hdc, oP) ;
		}
		
		if (AmpliSpectrum)
		{
        oP = SelectObject(hdc, ltredPen) ; s = 1 ;
			 b = pSamp->amp[i] ;
			yp = rcArc.bottom - (int)((double)ht *  b / high + (double)ylmar) ;
			PlotSeg(hWndArch, i, s, xp, yp) ;
			SelectObject(hdc, oP) ;
			  SelectObject(hdc, oP) ;
		}

		if (mPowerSpectrum)
		{
		oP = SelectObject(hdc, bluePen) ; s = 2 ;
			 a = pow(pSamp->mamp[i],2.0) ;
			yp = rcArc.bottom - ((int)(ymul * (a - lo_y)) + ylmar) ;
			PlotSeg(hWndArch, i, s, xp, yp) ;
			SelectObject(hdc, oP) ;
		}

		if (mAmpliSpectrum)
		{
		oP = SelectObject(hdc, ltbluePen) ;  s = 3  ;
		     a =  pSamp->mamp[i] ;
			yp = rcArc.bottom - (int)((double)ht * a / high + (double)ylmar) ;
			PlotSeg(hWndArch, i, s, xp, yp) ;
			SelectObject(hdc, oP) ;
		}
	}

		// Peak markers

		 if (AmpliSpectrum)
		 {
			 oP = SelectObject(hdc, ltredPen) ;
			 for ( j = 0 ; j < pSamp->Peaks ; j++ )
			 {
		      xp = (int)((double)wd * (pSamp->ordPeak[j] - lo_f)/fspan) + xlmar ;
			  yp = rcArc.bottom - ((int)((double)ht * pSamp->spcPeak[j] / high) + ylmar) ;
			  //DrawMark(hWnd, xp, yp, 5, ltredPen) ;
			  Ellipse(hdc, xp - 2, yp - 2, xp + 2, yp + 2) ;
			//invisible rect. for detection of mouse presence
			  SetRect(&(pSamp->rcPeak[j]), xp - 3, yp - 3, xp + 3, yp + 3) ;
			 }
			 SelectObject(hdc, oP) ;
		 }

		 if (mAmpliSpectrum)
		 {
			 oP = SelectObject(hdc, ltbluePen) ;
			 for ( i = 0 ; i < pSamp->mPeaks ; i++ )
			 {
		      xp = (int)((double)wd * (pSamp->mordPeak[i] - lo_f)/fspan) + xlmar ;
			  yp = rcArc.bottom - ((int)((double)ht * pSamp->mspcPeak[i] / high) + ylmar) ;
			  //DrawMark(hWnd, xp, yp, 5, ltbluePen) ;
			  Ellipse(hdc, xp - 2, yp - 2, xp + 2, yp + 2) ;
			//invisible rect. for detection of mouse presence
			  SetRect(&(pSamp->rcmPeak[i]), xp - 3, yp - 3, xp + 3, yp + 3) ;
			 }
			SelectObject(hdc, oP) ;
		 }
}
