Classes | |
struct | Payload |
Public Member Functions | |
XMagnetPS (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
virtual | ~XMagnetPS () |
usually nothing to do | |
virtual void | showForms () |
Shows all forms belonging to driver. | |
![]() | |
XPrimaryDriverWithThread (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
virtual void | stop () |
![]() | |
XPrimaryDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
![]() | |
XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas) | |
![]() | |
XNode (const char *name, bool runtime=false) | |
template<class T > | |
shared_ptr< T > | create (const char *name) |
template<class T , typename... Args> | |
shared_ptr< T > | create (const char *name, bool runtime, Args &&...args) |
template<class T > | |
shared_ptr< T > | create (Transaction &tr, const char *name) |
template<class T , typename... Args> | |
shared_ptr< T > | create (Transaction &tr, const char *name, bool runtime, Args &&...args) |
XString | getName () const |
virtual XString | getLabel () const |
XString | getTypename () const |
shared_ptr< XNode > | getChild (const XString &var) const |
shared_ptr< XNode > | getParent () const |
void | setUIEnabled (bool v) |
Enables/disables controls over scripting/GUI. | |
void | disable () |
Disables all scripting/GUI operations on this node hereafter. | |
![]() | |
bool | insert (Transaction< XNode > &tr, const shared_ptr< XNode > &var, bool online_after_insertion=false) |
void | insert (const shared_ptr< XNode > &var) |
bool | release (Transaction< XNode > &tr, const shared_ptr< XNode > &var) |
void | release (const shared_ptr< XNode > &var) |
void | releaseAll () |
bool | swap (Transaction< XNode > &tr, const shared_ptr< XNode > &x, const shared_ptr< XNode > &y) |
void | swap (const shared_ptr< XNode > &x, const shared_ptr< XNode > &y) |
XNode * | upperNode (Snapshot< XNode > &shot) |
Finds the parent node in shot. | |
Snapshot< XNode > | iterate_commit (Closure) |
Snapshot< XNode > | iterate_commit_if (Closure) |
void | iterate_commit_while (Closure) |
void | print_ () const |
Node (const Node &)=delete | |
Node & | operator= (const Node &)=delete |
Protected Member Functions | |
virtual void | analyzeRaw (RawDataReader &reader, Transaction &tr) throw (XRecordError&) |
virtual void | visualize (const Snapshot &shot) |
const shared_ptr< XScalarEntry > & | field () const |
driver specific part below | |
const shared_ptr< XScalarEntry > & | current () const |
const shared_ptr< XDoubleNode > & | targetField () const |
const shared_ptr< XDoubleNode > & | sweepRate () const |
const shared_ptr< XBoolNode > & | allowPersistent () const |
const shared_ptr< XComboNode > & | approach () const |
const shared_ptr< XDoubleNode > & | stabilized () const |
averaged err between magnet field and target one | |
const shared_ptr< XDoubleNode > & | magnetField () const |
const shared_ptr< XDoubleNode > & | outputField () const |
const shared_ptr< XDoubleNode > & | outputCurrent () const |
const shared_ptr< XDoubleNode > & | outputVolt () const |
const shared_ptr< XBoolNode > & | pcsHeater () const |
const shared_ptr< XBoolNode > & | persistent () const |
virtual double | fieldResolution ()=0 |
virtual void | toNonPersistent ()=0 |
virtual void | toPersistent ()=0 |
virtual void | toZero ()=0 |
virtual void | toSetPoint ()=0 |
virtual void | setPoint (double field)=0 |
virtual void | setRate (double hpm)=0 |
virtual double | getPersistentField ()=0 |
virtual double | getOutputField ()=0 |
virtual double | getTargetField ()=0 |
virtual double | getSweepRate ()=0 |
virtual double | getOutputVolt ()=0 |
virtual double | getOutputCurrent ()=0 |
virtual bool | isPCSHeaterOn ()=0 |
Persistent Current Switch Heater. | |
virtual bool | isPCSFitted ()=0 |
please return false if no PCS fitted | |
virtual bool | canChangePolarityDuringSweep () |
![]() | |
virtual void | start () |
virtual void | closeInterface ()=0 |
This function should not cause an exception. | |
![]() | |
void | finishWritingRaw (const shared_ptr< const RawData > &rawdata, const XTime &time_awared, const XTime &time_recorded) |
![]() | |
void | record (Transaction &tr, const XTime &time_awared, const XTime &time_recorded) |
Private Types | |
enum | { APPROACH_LINEAR = 0, APPROACH_OSC = 1 } |
Private Member Functions | |
virtual void | onRateChanged (const Snapshot &shot, XValueNodeBase *) |
virtual void | onConfigShow (const Snapshot &shot, XTouchableNode *) |
void * | execute (const atomic< bool > &) |
bool | isSafeConditionSatisfied (const Snapshot &shot, const Snapshot &shot_entries) |
bool | isPersistentStabilized (const Snapshot &shot, const Snapshot &shot_entries, const XTime &pcsh_off_time) |
bool | isNonPersistentStabilized (const Snapshot &shot, const Snapshot &shot_entries, const XTime &pcsh_on_time) |
double | limitSweepRate (double field, double rate, const Snapshot &shot) |
double | limitTargetField (double field, const Snapshot &shot) |
Private Attributes | |
const shared_ptr< XScalarEntry > | m_field |
const shared_ptr< XScalarEntry > | m_current |
const shared_ptr < XScalarEntryList > | m_entries |
const shared_ptr< XDoubleNode > | m_targetField |
const shared_ptr< XDoubleNode > | m_sweepRate |
const shared_ptr< XBoolNode > | m_allowPersistent |
const shared_ptr< XComboNode > | m_approach |
const shared_ptr< XDoubleNode > | m_stabilized |
averaged err between magnet field and target one | |
const shared_ptr< XDoubleNode > | m_magnetField |
const shared_ptr< XDoubleNode > | m_outputField |
const shared_ptr< XDoubleNode > | m_outputCurrent |
const shared_ptr< XDoubleNode > | m_outputVolt |
const shared_ptr< XBoolNode > | m_pcsHeater |
const shared_ptr< XBoolNode > | m_persistent |
const shared_ptr< XBoolNode > | m_aborting |
const shared_ptr< XTouchableNode > | m_configShow |
const shared_ptr< XDoubleNode > | m_rateLimit1 |
Rate limiting. [T/min] and [T]. | |
const shared_ptr< XDoubleNode > | m_rateLimit1UBound |
const shared_ptr< XDoubleNode > | m_rateLimit2 |
const shared_ptr< XDoubleNode > | m_rateLimit2UBound |
const shared_ptr< XDoubleNode > | m_rateLimit3 |
const shared_ptr< XDoubleNode > | m_rateLimit3UBound |
const shared_ptr< XDoubleNode > | m_rateLimit4 |
const shared_ptr< XDoubleNode > | m_rateLimit4UBound |
const shared_ptr< XDoubleNode > | m_rateLimit5 |
const shared_ptr< XDoubleNode > | m_rateLimit5UBound |
const shared_ptr< XDoubleNode > | m_secondaryPSMultiplier |
For Shim coil. [T/T]. | |
const shared_ptr< XItemNode < XDriverList, XMagnetPS > > | m_secondaryPS |
For Shim coil. | |
const shared_ptr< XItemNode < XScalarEntryList, XScalarEntry > > | m_safeCond1Entry |
Configuration for safe conditions. | |
const shared_ptr< XDoubleNode > | m_safeCond1Min |
const shared_ptr< XDoubleNode > | m_safeCond1Max |
const shared_ptr< XItemNode < XScalarEntryList, XScalarEntry > > | m_safeCond2Entry |
const shared_ptr< XDoubleNode > | m_safeCond2Min |
const shared_ptr< XDoubleNode > | m_safeCond2Max |
const shared_ptr< XItemNode < XScalarEntryList, XScalarEntry > > | m_safeCond3Entry |
const shared_ptr< XDoubleNode > | m_safeCond3Min |
const shared_ptr< XDoubleNode > | m_safeCond3Max |
const shared_ptr< XItemNode < XScalarEntryList, XScalarEntry > > | m_persistentCondEntry |
const shared_ptr< XDoubleNode > | m_persistentCondMax |
const shared_ptr< XItemNode < XScalarEntryList, XScalarEntry > > | m_nonPersistentCondEntry |
const shared_ptr< XDoubleNode > | m_nonPersistentCondMin |
const shared_ptr< XDoubleNode > | m_pcshWait |
[sec] | |
shared_ptr< XListener > | m_lsnRate |
shared_ptr< XListener > | m_lsnConfigShow |
xqcon_ptr | m_conAllowPersistent |
xqcon_ptr | m_conTargetField |
xqcon_ptr | m_conSweepRate |
xqcon_ptr | m_conMagnetField |
xqcon_ptr | m_conOutputField |
xqcon_ptr | m_conOutputCurrent |
xqcon_ptr | m_conOutputVolt |
xqcon_ptr | m_conPCSH |
xqcon_ptr | m_conPersist |
xqcon_ptr | m_conAborting |
xqcon_ptr | m_conApproach |
xqcon_ptr | m_conConfigShow |
xqcon_ptr | m_conRateLimit1 |
xqcon_ptr | m_conRateLimit1UBound |
xqcon_ptr | m_conRateLimit2 |
xqcon_ptr | m_conRateLimit2UBound |
xqcon_ptr | m_conRateLimit3 |
xqcon_ptr | m_conRateLimit3UBound |
xqcon_ptr | m_conRateLimit4 |
xqcon_ptr | m_conRateLimit4UBound |
xqcon_ptr | m_conRateLimit5 |
xqcon_ptr | m_conRateLimit5UBound |
xqcon_ptr | m_conSecondaryPS |
xqcon_ptr | m_conSecondaryPSMultiplier |
xqcon_ptr | m_conSafeCond1Entry |
xqcon_ptr | m_conSafeCond1Min |
xqcon_ptr | m_conSafeCond1Max |
xqcon_ptr | m_conSafeCond2Entry |
xqcon_ptr | m_conSafeCond2Min |
xqcon_ptr | m_conSafeCond2Max |
xqcon_ptr | m_conSafeCond3Entry |
xqcon_ptr | m_conSafeCond3Min |
xqcon_ptr | m_conSafeCond3Max |
xqcon_ptr | m_conPersistentCondEntry |
xqcon_ptr | m_conPersistentCondMax |
xqcon_ptr | m_conNonPersistentCondEntry |
xqcon_ptr | m_conNonPersistentCondMin |
xqcon_ptr | m_conPCSHWait |
const qshared_ptr< FrmMagnetPS > | m_form |
const qshared_ptr < FrmMagnetPSConfig > | m_formConfig |
const shared_ptr< XStatusPrinter > | m_statusPrinter |
Additional Inherited Members | |
![]() | |
using | NodeNotFoundError = std::domain_error |
using | NodeList = fast_vector< shared_ptr< XNode >, 2 > |
using | iterator = typename NodeList::iterator |
using | const_iterator = typename NodeList::const_iterator |
![]() | |
template<class T__ > | |
static shared_ptr< T__ > | createOrphan (const char *name) |
template<class T__ , typename... Args_> | |
static shared_ptr< T__ > | createOrphan (const char *name, bool runtime, Args_ &&...args) |
Definition at line 27 of file magnetps.h.
|
protectedvirtual |
This function will be called when raw data are written. Implement this function to convert the raw data to the record (Payload).
Implements XPrimaryDriver.
Definition at line 187 of file magnetps.cpp.
|
protectedvirtual |
This function is called after committing XPrimaryDriver::analyzeRaw() or XSecondaryDriver::analyze(). This might be called even if the record is invalid (time() == false).
Implements XDriver.
Definition at line 194 of file magnetps.cpp.