Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
XMagnetPS Class Referenceabstract
Inheritance diagram for XMagnetPS:
Inheritance graph
[legend]

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.
 
- Public Member Functions inherited from XPrimaryDriverWithThread
 XPrimaryDriverWithThread (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
virtual void stop ()
 
- Public Member Functions inherited from XPrimaryDriver
 XPrimaryDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XDriver
 XDriver (const char *name, bool runtime, Transaction &tr_meas, const shared_ptr< XMeasure > &meas)
 
- Public Member Functions inherited from XNode
 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< XNodegetChild (const XString &var) const
 
shared_ptr< XNodegetParent () const
 
void setUIEnabled (bool v)
 Enables/disables controls over scripting/GUI.
 
void disable ()
 Disables all scripting/GUI operations on this node hereafter.
 
- Public Member Functions inherited from Transactional::Node< XNode >
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)
 
XNodeupperNode (Snapshot< XNode > &shot)
 Finds the parent node in shot.
 
Snapshot< XNodeiterate_commit (Closure)
 
Snapshot< XNodeiterate_commit_if (Closure)
 
void iterate_commit_while (Closure)
 
void print_ () const
 
 Node (const Node &)=delete
 
Nodeoperator= (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 ()
 
- Protected Member Functions inherited from XPrimaryDriverWithThread
virtual void start ()
 
virtual void closeInterface ()=0
 This function should not cause an exception.
 
- Protected Member Functions inherited from XPrimaryDriver
void finishWritingRaw (const shared_ptr< const RawData > &rawdata, const XTime &time_awared, const XTime &time_recorded)
 
- Protected Member Functions inherited from XDriver
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< XScalarEntrym_field
 
const shared_ptr< XScalarEntrym_current
 
const shared_ptr
< XScalarEntryList
m_entries
 
const shared_ptr< XDoubleNodem_targetField
 
const shared_ptr< XDoubleNodem_sweepRate
 
const shared_ptr< XBoolNodem_allowPersistent
 
const shared_ptr< XComboNodem_approach
 
const shared_ptr< XDoubleNodem_stabilized
 averaged err between magnet field and target one
 
const shared_ptr< XDoubleNodem_magnetField
 
const shared_ptr< XDoubleNodem_outputField
 
const shared_ptr< XDoubleNodem_outputCurrent
 
const shared_ptr< XDoubleNodem_outputVolt
 
const shared_ptr< XBoolNodem_pcsHeater
 
const shared_ptr< XBoolNodem_persistent
 
const shared_ptr< XBoolNodem_aborting
 
const shared_ptr< XTouchableNodem_configShow
 
const shared_ptr< XDoubleNodem_rateLimit1
 Rate limiting. [T/min] and [T].
 
const shared_ptr< XDoubleNodem_rateLimit1UBound
 
const shared_ptr< XDoubleNodem_rateLimit2
 
const shared_ptr< XDoubleNodem_rateLimit2UBound
 
const shared_ptr< XDoubleNodem_rateLimit3
 
const shared_ptr< XDoubleNodem_rateLimit3UBound
 
const shared_ptr< XDoubleNodem_rateLimit4
 
const shared_ptr< XDoubleNodem_rateLimit4UBound
 
const shared_ptr< XDoubleNodem_rateLimit5
 
const shared_ptr< XDoubleNodem_rateLimit5UBound
 
const shared_ptr< XDoubleNodem_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< XDoubleNodem_safeCond1Min
 
const shared_ptr< XDoubleNodem_safeCond1Max
 
const shared_ptr< XItemNode
< XScalarEntryList,
XScalarEntry > > 
m_safeCond2Entry
 
const shared_ptr< XDoubleNodem_safeCond2Min
 
const shared_ptr< XDoubleNodem_safeCond2Max
 
const shared_ptr< XItemNode
< XScalarEntryList,
XScalarEntry > > 
m_safeCond3Entry
 
const shared_ptr< XDoubleNodem_safeCond3Min
 
const shared_ptr< XDoubleNodem_safeCond3Max
 
const shared_ptr< XItemNode
< XScalarEntryList,
XScalarEntry > > 
m_persistentCondEntry
 
const shared_ptr< XDoubleNodem_persistentCondMax
 
const shared_ptr< XItemNode
< XScalarEntryList,
XScalarEntry > > 
m_nonPersistentCondEntry
 
const shared_ptr< XDoubleNodem_nonPersistentCondMin
 
const shared_ptr< XDoubleNodem_pcshWait
 [sec]
 
shared_ptr< XListenerm_lsnRate
 
shared_ptr< XListenerm_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< FrmMagnetPSm_form
 
const qshared_ptr
< FrmMagnetPSConfig
m_formConfig
 
const shared_ptr< XStatusPrinterm_statusPrinter
 

Additional Inherited Members

- Public Types inherited from Transactional::Node< XNode >
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
 
- Static Public Member Functions inherited from XNode
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)
 

Detailed Description

Definition at line 27 of file magnetps.h.

Member Function Documentation

void XMagnetPS::analyzeRaw ( RawDataReader reader,
Transaction tr 
) throw (XRecordError&)
protectedvirtual

This function will be called when raw data are written. Implement this function to convert the raw data to the record (Payload).

See Also
analyze()

Implements XPrimaryDriver.

Definition at line 187 of file magnetps.cpp.

void XMagnetPS::visualize ( const Snapshot shot)
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.


The documentation for this class was generated from the following files:

Generated for KAME4 by  doxygen 1.8.3