14 #ifndef PULSEANALYZER_H_
15 #define PULSEANALYZER_H_
17 #include "networkanalyzer.h"
18 #include "pulserdriver.h"
20 #include "signalgenerator.h"
21 #include "secondarydriverinterface.h"
27 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas);
33 std::vector<std::complex<double> > m_ftsum, m_raw_open, m_raw_short, m_raw_term, m_raw_thru;
34 std::vector<int> m_ftsum_weight;
36 std::pair<double, double> m_marker_min, m_marker_max;
42 double m_lastCenterFreq;
54 virtual void getMarkerPos(
unsigned int num,
double &x,
double &y);
55 virtual void oneSweep();
56 virtual void startContSweep();
57 virtual void acquireTrace(shared_ptr<RawData> &,
unsigned int ch);
70 XDriver *emitter)
throw (XRecordError&);
82 const shared_ptr<XItemNode<XDriverList, XPulser> > m_pulser;
83 const shared_ptr<XItemNode<XDriverList, XDSO> > m_dso;
84 const shared_ptr<XItemNode<XDriverList, XSG> > m_sg;
87 shared_ptr<FFT> m_fft;
88 std::vector<std::complex<double> > m_fftin, m_fftout;
91 void restart(
Transaction &tr,
int calmode,
bool clear =
false);
92 bool restart(
int calmode,
bool clear =
false);
93 enum {CAL_NONE = 0, CAL_OPEN = 1, CAL_SHORT = 2, CAL_TERM = 3, CAL_THRU = 4};