1 #ifndef FREQUENCY_DISPLAY_PLOT_HPP
2 #define FREQUENCY_DISPLAY_PLOT_HPP
5 #include <qwt_painter.h>
6 #include <qwt_plot_canvas.h>
7 #include <qwt_plot_curve.h>
8 #include <qwt_scale_engine.h>
9 #include <qwt_scale_widget.h>
10 #include <qwt_plot_zoomer.h>
11 #include <qwt_plot_panner.h>
12 #include <qwt_plot_marker.h>
13 #include <highResTimeFunctions.h>
14 #include <qwt_symbol.h>
16 class FrequencyDisplayPlot:public QwtPlot{
20 FrequencyDisplayPlot(QWidget*);
21 virtual ~FrequencyDisplayPlot();
23 void SetFrequencyRange(const double, const double, const double, const bool);
24 double GetStartFrequency()const;
25 double GetStopFrequency()const;
27 void PlotNewData(const double* dataPoints, const int64_t numDataPoints, const double noiseFloorAmplitude, const double peakFrequency, const double peakAmplitude);
32 void SetMaxFFTVisible(const bool);
33 void SetMinFFTVisible(const bool);
35 virtual void replot();
38 void SetLowerIntensityLevel(const double);
39 void SetUpperIntensityLevel(const double);
44 void _resetXAxisPoints();
46 double _startFrequency;
47 double _stopFrequency;
49 QwtPlotCurve* _fft_plot_curve;
50 QwtPlotCurve* _min_fft_plot_curve;
51 QwtPlotCurve* _max_fft_plot_curve;
53 QwtPlotMarker* _lower_intensity_marker;
54 QwtPlotMarker* _upper_intensity_marker;
56 QwtPlotPanner* _panner;
57 QwtPlotZoomer* _zoomer;
59 QwtPlotMarker *_markerPeakAmplitude;
60 QwtPlotMarker *_markerNoiseFloorAmplitude;
65 double* _minFFTPoints;
66 double* _maxFFTPoints;
69 double _peakFrequency;
70 double _peakAmplitude;
72 double _noiseFloorAmplitude;
76 bool _useCenterFrequencyFlag;
78 double _displayIntervalTime;
81 #endif /* FREQUENCY_DISPLAY_PLOT_HPP */