17 #include "nmrspectrumbase.h"
23 class Ui_FrmNMRFSpectrum;
29 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas);
39 virtual void getValues(
const Snapshot &shot_this, std::vector<double> &values)
const override;
41 virtual bool checkDependencyImpl(
const Snapshot &shot_this,
43 XDriver *emitter)
const override;
45 virtual void rearrangeInstrum(
const Snapshot &shot)
override;
48 const shared_ptr<XItemNode<XDriverList, XSG> > &
sg1()
const {
return m_sg1;}
49 const shared_ptr<XItemNode<XDriverList, XAutoLCTuner> > &autoTuner()
const {
return m_autoTuner;}
50 const shared_ptr<XItemNode<XDriverList, XPulser> > &pulser()
const {
return m_pulser;}
52 const shared_ptr<XDoubleNode> &
sg1FreqOffset()
const {
return m_sg1FreqOffset;}
54 const shared_ptr<XDoubleNode> &
centerFreq()
const {
return m_centerFreq;}
56 const shared_ptr<XDoubleNode> &
freqSpan()
const {
return m_freqSpan;}
58 const shared_ptr<XDoubleNode> &
freqStep()
const {
return m_freqStep;}
59 const shared_ptr<XBoolNode> &active()
const {
return m_active;}
61 const shared_ptr<XDoubleNode> &
tuneCycleStep()
const {
return m_tuneCycleStep;}
62 const shared_ptr<XComboNode> &tuneCycleStrategy()
const {
return m_tuneCycleStrategy;}
63 enum TuneCycleStrategy {STRATEGY_ASIS = 0, STRATEGY_TUNE_AWAIT = 1, STRATEGY_AUTOTUNE = 2,
64 STRATEGY_CYCLE_DBL = 3, STRATEGY_CYCLE_QUAD = 4, STRATEGY_CYCLE_OCT = 5};
66 const shared_ptr<XItemNode<XDriverList, XSG> > m_sg1;
67 const shared_ptr<XItemNode<XDriverList, XAutoLCTuner> > m_autoTuner;
68 const shared_ptr<XItemNode<XDriverList, XPulser> > m_pulser;
69 const shared_ptr<XDoubleNode> m_sg1FreqOffset;
71 const shared_ptr<XDoubleNode> m_centerFreq;
72 const shared_ptr<XDoubleNode> m_freqSpan;
73 const shared_ptr<XDoubleNode> m_freqStep;
74 const shared_ptr<XBoolNode> m_active;
75 const shared_ptr<XDoubleNode> m_tuneCycleStep;
76 const shared_ptr<XComboNode> m_tuneCycleStrategy;
78 shared_ptr<XListener> m_lsnOnActiveChanged, m_lsnOnTuningChanged;
80 std::deque<xqcon_ptr> m_conUIs;
84 void performTuning(
const Snapshot &shot_this,
double newf);