18 #include "primarydriverwiththread.h"
19 #include "xnodeconnector.h"
29 XQDPPMS(
const char *name,
bool runtime,
30 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas);
37 double temp()
const {
return m_sampleTemp;}
38 double user_temp()
const {
return m_sampleUserTemp;}
39 double magnetField()
const {
return m_magnetField;}
40 double position()
const {
return m_samplePosition;}
44 double m_samplePosition;
46 double m_sampleUserTemp;
58 const shared_ptr<XScalarEntry> &
field()
const {
return m_field;}
59 const shared_ptr<XScalarEntry> &position()
const {
return m_position;}
60 const shared_ptr<XScalarEntry> &temp()
const {
return m_temp;}
61 const shared_ptr<XScalarEntry> &user_temp()
const {
return m_user_temp;}
62 const shared_ptr<XDoubleNode> &heliumLevel()
const {
return m_heliumLevel;}
64 const shared_ptr<XDoubleNode> &targetField()
const {
return m_targetField;}
65 const shared_ptr<XDoubleNode> &fieldSweepRate()
const {
return m_fieldSweepRate;}
66 const shared_ptr<XComboNode> &fieldApproachMode()
const {
return m_fieldApproachMode;}
67 const shared_ptr<XComboNode> &fieldMagnetMode()
const {
return m_fieldMagnetMode;}
68 const shared_ptr<XStringNode> &fieldStatus()
const {
return m_fieldStatus;}
70 const shared_ptr<XDoubleNode> &targetPosition()
const {
return m_targetPosition;}
71 const shared_ptr<XComboNode> &positionApproachMode()
const {
return m_positionApproachMode;}
72 const shared_ptr<XIntNode> &positionSlowDownCode()
const {
return m_positionSlowDownCode;}
73 const shared_ptr<XStringNode> &positionStatus()
const {
return m_positionStatus;}
75 const shared_ptr<XDoubleNode> &targetTemp()
const {
return m_targetTemp;}
76 const shared_ptr<XDoubleNode> &tempSweepRate()
const {
return m_tempSweepRate;}
77 const shared_ptr<XComboNode> &tempApproachMode()
const {
return m_tempApproachMode;}
78 const shared_ptr<XStringNode> &tempStatus()
const {
return m_tempStatus;}
80 virtual void setField(
double field,
double rate,
int approach_mode,
int magnet_mode) = 0;
81 virtual void setPosition(
double position,
int mode,
int slow_down_code) = 0;
82 virtual void setTemp(
double temp,
double rate,
int approach_mode) = 0;
83 virtual double getField() = 0;
84 virtual double getPosition() = 0;
85 virtual double getTemp() = 0;
86 virtual double getUserTemp() = 0;
87 virtual double getHeliumLevel() = 0;
88 virtual int getStatus() = 0;
94 const shared_ptr<XScalarEntry> m_field, m_position, m_temp, m_user_temp;
96 const shared_ptr<XDoubleNode> m_heliumLevel;
98 const shared_ptr<XDoubleNode> m_targetField, m_fieldSweepRate;
99 const shared_ptr<XComboNode> m_fieldApproachMode, m_fieldMagnetMode;
100 const shared_ptr<XStringNode> m_fieldStatus;
102 const shared_ptr<XDoubleNode> m_targetPosition;
103 const shared_ptr<XComboNode> m_positionApproachMode;
104 const shared_ptr<XIntNode> m_positionSlowDownCode;
105 const shared_ptr<XStringNode> m_positionStatus;
107 const shared_ptr<XDoubleNode> m_targetTemp, m_tempSweepRate;
108 const shared_ptr<XComboNode> m_tempApproachMode;
109 const shared_ptr<XStringNode> m_tempStatus;
111 shared_ptr<XListener> m_lsnFieldSet, m_lsnTempSet, m_lsnPositionSet;
113 std::deque<xqcon_ptr> m_conUIs;