Electric Tiger DAQ  1.0.0
Data Acquisition Software for the Electric Tiger Experiment
instrumentview.h
1 #ifndef INSTRUMENTVIEW_H
2 #define INSTRUMENTVIEW_H
3 
4 //C System-Headers
5 #include <cxxabi.h> //abi::__cxa_demangle
6 //C++ System headers
7 #include <typeinfo> //typeid(T).name()
8 //OpenCL Headers
9 //
10 //Boost Headers
11 //
12 //Qt Headers
13 #include <QtWidgets/QApplication>
14 #include <QtWidgets/QMainWindow>
15 #include <QtCharts/QChartView>
16 #include <QtCharts/QLineSeries>
17 #include <QtCore/QDateTime>
18 #include <QtCharts/QSplineSeries>
19 #include <QtCore/QFile>
20 #include <QtCore/QTextStream>
21 #include <QtCore/QDebug>
22 #include <QtCharts/QValueAxis>
23 #include <QTimer>
24 //Project specific headers
25 #include "../JASPL/jTypeTraits/jtypetraits.h"
26 #include "../JASPL/jAlgorithm/jalgorithm.h"
27 
28 QT_CHARTS_USE_NAMESPACE
29 
30 class InstrumentView : public QChartView {
31 
32  Q_OBJECT
33 
34  public:
35  explicit InstrumentView( QString title, QWidget *parent = 0 );
36  ~InstrumentView();
37 
38  template <class T, typename F>
39  void PlotAutoScale( const T& y_signal_elements , F x_frequency_range);
40 
41  template <class T>
42  void Plot( const T& y_signal_elements , double x_frequency_range);
43 
44 // template < typename T >
45 // void UpdateSignal(const std::vector<T>& data , double freq_span );
46 
47  private:
48 
49  void (InstrumentView::*unit_conversion)( float& ) = NULL;
50 
51  void volt_sqr_to_dbm( float& volt_sqr );
52  void identity( float& val );
53 
54  QLineSeries *data_series;
55  QValueAxis *x_axis;
56  QValueAxis *y_axis;
57 
58  QTimer *auto_timer;
59  QChart *chart;
60 
61  QString chart_title;
62 
63  public slots:
64  void SetFrequencyMin( double min_frequency );
65  void SetPowerMin( double min_power );
66  void SetFrequencyMax( double max_frequency );
67  void SetPowerMax( double max_power );
68 
69  void UpdateSignal( std::vector<double> data , double freq_span );
70 
71  signals:
72  void SignalChanged();
73 };
74 
75 #include "instrumentview.tpp"
76 
77 #endif // INSTRUMENTVIEW_H
Definition: instrumentview.h:30