gr-baz Package
spectrumUpdateEvents.h
Go to the documentation of this file.
1 #ifndef SPECTRUM_UPDATE_EVENTS_H
2 #define SPECTRUM_UPDATE_EVENTS_H
3 
4 #include <stdint.h>
5 #include <QEvent>
6 #include <QString>
7 #include <complex>
8 #include <vector>
9 #include <gruel/high_res_timer.h>
10 
11 class SpectrumUpdateEvent:public QEvent{
12 
13 public:
14  SpectrumUpdateEvent(const std::complex<float>* fftPoints,
15  const uint64_t numFFTDataPoints,
16  const double* realTimeDomainPoints,
17  const double* imagTimeDomainPoints,
18  const uint64_t numTimeDomainDataPoints,
19  const gruel::high_res_timer_type dataTimestamp,
20  const bool repeatDataFlag,
21  const bool lastOfMultipleUpdateFlag,
22  const gruel::high_res_timer_type generatedTimestamp,
23  const int droppedFFTFrames);
24 
26 
27  const std::complex<float>* getFFTPoints() const;
28  const double* getRealTimeDomainPoints() const;
29  const double* getImagTimeDomainPoints() const;
33  bool getRepeatDataFlag() const;
34  bool getLastOfMultipleUpdateFlag() const;
36  int getDroppedFFTFrames() const;
37 
38 protected:
39 
40 private:
41  std::complex<float>* _fftPoints;
42  double* _realDataTimeDomainPoints;
43  double* _imagDataTimeDomainPoints;
44  uint64_t _numFFTDataPoints;
45  uint64_t _numTimeDomainDataPoints;
46  gruel::high_res_timer_type _dataTimestamp;
47  bool _repeatDataFlag;
48  bool _lastOfMultipleUpdateFlag;
49  gruel::high_res_timer_type _eventGeneratedTimestamp;
50  int _droppedFFTFrames;
51 };
52 
53 class SpectrumWindowCaptionEvent:public QEvent{
54 public:
55  SpectrumWindowCaptionEvent(const QString&);
57  QString getLabel();
58 
59 protected:
60 
61 private:
62  QString _labelString;
63 };
64 
65 class SpectrumWindowResetEvent:public QEvent{
66 public:
69 
70 protected:
71 
72 private:
73 
74 };
75 
76 class SpectrumFrequencyRangeEvent:public QEvent{
77 public:
78  SpectrumFrequencyRangeEvent(const double, const double, const double);
80  double GetCenterFrequency()const;
81  double GetStartFrequency()const;
82  double GetStopFrequency()const;
83 
84 protected:
85 
86 private:
87  double _centerFrequency;
88  double _startFrequency;
89  double _stopFrequency;
90 };
91 
92 
93 class TimeUpdateEvent: public QEvent
94 {
95 public:
96  TimeUpdateEvent(const std::vector<double*> timeDomainPoints,
97  const uint64_t numTimeDomainDataPoints);
98 
100 
101  int which() const;
102  const std::vector<double*> getTimeDomainPoints() const;
104  bool getRepeatDataFlag() const;
105 
106 protected:
107 
108 private:
109  size_t _nplots;
110  std::vector<double*> _dataTimeDomainPoints;
111  uint64_t _numTimeDomainDataPoints;
112 };
113 
114 
115 #endif /* SPECTRUM_UPDATE_EVENTS_H */