61 lines
1.9 KiB
C++
61 lines
1.9 KiB
C++
/*
|
|
$Id: Measurement.h 21271 2014-02-17 15:20:55Z ritt $
|
|
*/
|
|
|
|
class DOScreen;
|
|
class DOFrame;
|
|
|
|
class Measurement
|
|
{
|
|
protected:
|
|
DOFrame *m_frame;
|
|
wxString m_name;
|
|
int m_index;
|
|
double m_value;
|
|
double m_param[4];
|
|
double *m_statArray;
|
|
int m_statIndex;
|
|
int m_nMeasured;
|
|
int m_nStat;
|
|
double m_vsum;
|
|
double m_vvsum;
|
|
double m_min;
|
|
double m_max;
|
|
|
|
public:
|
|
/** Constructor & Desctructor */
|
|
Measurement(DOFrame *frame, int index);
|
|
~Measurement();
|
|
|
|
wxString GetName();
|
|
wxString GetUnit();
|
|
double Measure(double *x1, double *y1, double *x2, double *y2, int n, bool update, DOScreen *s);
|
|
void Measure(double *x1, double *y1, double *x2, double *y2, int n);
|
|
wxString GetString();
|
|
wxString GetStat();
|
|
void SetNStat(int n);
|
|
int GetNStat() { return m_nStat; }
|
|
int GetNMeasured() { return m_nMeasured; }
|
|
void ResetStat();
|
|
double *GetArray() { return m_statArray; }
|
|
void SetParam(int i, double p) { if (i<4) m_param[i] = p; }
|
|
double GetParam(int i) { return m_param[i]; }
|
|
|
|
static const int N_MEASUREMENTS = 13;
|
|
|
|
private:
|
|
double MLevel(double *x1, double *y1, int n, DOScreen *s);
|
|
double MPkPk(double *x1, double *y1, int n, DOScreen *s);
|
|
double MRMS(double *x1, double *y1, int n, DOScreen *s);
|
|
double MVSlice(double *x1, double *y1, int n, DOScreen *s);
|
|
double MCharge(double *x1, double *y1, int n, DOScreen *s);
|
|
double MFreq(double *x1, double *y1, int n, DOScreen *s);
|
|
double MPeriod(double *x1, double *y1, int n, DOScreen *s);
|
|
double MRise(double *x1, double *y1, int n, DOScreen *s);
|
|
double MFall(double *x1, double *y1, int n, DOScreen *s);
|
|
double MPosWidth(double *x1, double *y1, int n, DOScreen *s);
|
|
double MNegWidth(double *x1, double *y1, int n, DOScreen *s);
|
|
double MChnDelay(double *x1, double *y1, double *x2, double *y2, int n, DOScreen *s);
|
|
double MHSlice(double *x1, double *y1, int n, DOScreen *s);
|
|
};
|