60 lines
1000 B
C
60 lines
1000 B
C
|
#ifndef DIALOGPROFILER_H
|
||
|
#define DIALOGPROFILER_H
|
||
|
|
||
|
#include <QDialog>
|
||
|
#include <QVector>
|
||
|
#include <QList>
|
||
|
#include "hw.h"
|
||
|
#include "keithley_thr.h"
|
||
|
#include "histogram.h"
|
||
|
#include "helpers.h"
|
||
|
|
||
|
typedef struct
|
||
|
{
|
||
|
int nracqs;
|
||
|
QVector<double> mean;
|
||
|
QVector<double> std;
|
||
|
} ProfilerTestResult;
|
||
|
|
||
|
|
||
|
namespace Ui {
|
||
|
class DialogProfiler;
|
||
|
}
|
||
|
|
||
|
class DialogProfiler : public QDialog
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
explicit DialogProfiler(QWidget *parent = 0);
|
||
|
~DialogProfiler();
|
||
|
HW* theHW;
|
||
|
keithley_thr* theKeithley;
|
||
|
|
||
|
public slots:
|
||
|
void onHistogramCompleted();
|
||
|
protected:
|
||
|
int runState;
|
||
|
int histoReady;
|
||
|
int nrRunsDone;
|
||
|
QList<ProfilerTestResult> results;
|
||
|
|
||
|
void run(int nr_loops);
|
||
|
void runHelper(int nr_loops);
|
||
|
private slots:
|
||
|
void on_pushRun_pressed();
|
||
|
|
||
|
void on_pushSave_pressed();
|
||
|
|
||
|
void on_pushRunOnce_pressed();
|
||
|
|
||
|
void on_pushRunInfinite_pressed();
|
||
|
|
||
|
void on_pushClear_pressed();
|
||
|
|
||
|
private:
|
||
|
Ui::DialogProfiler *ui;
|
||
|
};
|
||
|
|
||
|
#endif // DIALOGLINEARITY_H
|