DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Data class for PositionerStage
.
More...
Public Types | |
using | PositionType = signed long long |
Numeric type to store the stage positions. More... | |
Public Types inherited from DynExp::InstrumentDataBase | |
using | TaskQueueType = std::list< std::unique_ptr< TaskBase > > |
Type of an instrument task queue owning the tasks within. More... | |
using | TaskQueueIteratorType = TaskQueueType::const_iterator |
Const iterator type to elements of TaskQueueType . More... | |
Public Member Functions | |
PositionerStageData ()=default | |
virtual | ~PositionerStageData ()=default |
auto | GetCurrentPosition () const noexcept |
Returns Position. More... | |
auto | GetVelocity () const noexcept |
Returns Velocity. More... | |
void | SetCurrentPosition (PositionType Position) noexcept |
Sets Position to Position . More... | |
void | SetVelocity (PositionType Velocity) noexcept |
Sets Velocity to Velocity . More... | |
bool | IsMoving () const noexcept |
Returns whether the stage is currently moving (result of IsMovingChild() ) More... | |
bool | HasArrived () const noexcept |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild() ) More... | |
bool | HasFailed () const noexcept |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild() ) More... | |
bool | IsReferenced () const noexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild() ) More... | |
Public Member Functions inherited from DynExp::InstrumentDataBase | |
InstrumentDataBase () | |
virtual | ~InstrumentDataBase () |
auto | GetLastUpdateTime () const |
Getter for LastUpdate. More... | |
auto | GetException () const noexcept |
Getter for InstrumentDataBase::InstrumentException. More... | |
void | EnqueueTask (std::unique_ptr< TaskBase > &&Task) |
Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task. More... | |
void | EnqueuePriorityTask (std::unique_ptr< TaskBase > &&Task) |
Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task. More... | |
std::unique_ptr< TaskBase > | PopTaskFront () |
Removes a task from the front of an instrument's task queue. More... | |
std::unique_ptr< TaskBase > | PopTaskBack () |
Removes a task from the back of an instrument's task queue. More... | |
auto | GetTaskFront () noexcept |
Getter for first enqueued task. More... | |
auto | GetTaskBack () noexcept |
Getter for last enqueued task. More... | |
size_t | GetNumEnqueuedTasks () const noexcept |
Getter for the instrument task queue's length. More... | |
std::unique_ptr< TaskBase > | PopFinishedTask () |
Removes a task from the front of an instrument's list of finished tasks. More... | |
size_t | GetNumFinishedTasks () const noexcept |
Getter for the length of the instrument's list of finished tasks. More... | |
bool | IsQueueClosed () const noexcept |
Determines whether the instrument task queue is closed. More... | |
Public Member Functions inherited from Util::INonCopyable | |
INonCopyable (const INonCopyable &)=delete | |
INonCopyable & | operator= (const INonCopyable &)=delete |
Private Member Functions | |
void | ResetImpl (dispatch_tag< InstrumentDataBase >) override final |
virtual void | ResetImpl (dispatch_tag< PositionerStageData >) |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase , descending the inheritance hierarchy. Override in order to reset derived classes. More... | |
Override | |
Override by derived classes. | |
virtual bool | IsMovingChild () const noexcept=0 |
Returns whether the stage is currently moving (result of IsMovingChild() ) More... | |
virtual bool | HasArrivedChild () const noexcept=0 |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild() ) More... | |
virtual bool | HasFailedChild () const noexcept=0 |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild() ) More... | |
virtual bool | IsReferencedChild () const noexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild() ) More... | |
Private Attributes | |
PositionType | Position = 0 |
Position in nm if the respective stage supports SI units. Otherwise, in units of steps performed. More... | |
PositionType | Velocity = 0 |
Velocity in nm/s if the respective stage supports SI units. Otherwise, in units of steps/s. More... | |
Additional Inherited Members | |
Public Attributes inherited from DynExp::InstrumentDataBase | |
InstrumentBaseOnlyType | InstrumentBaseOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase . More... | |
InstrumenThreadOnlyType | InstrumentThreadOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain() . More... | |
Protected Member Functions inherited from Util::ISynchronizedPointerLockable | |
ISynchronizedPointerLockable () | |
~ISynchronizedPointerLockable () | |
Object should never be destroyed before completely unlocked. More... | |
Protected Member Functions inherited from Util::INonCopyable | |
constexpr | INonCopyable ()=default |
~INonCopyable ()=default | |
Data class for PositionerStage
.
using DynExpInstr::PositionerStageData::PositionType = signed long long |
|
default |
|
virtualdefault |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()
)
|
privatepure virtualnoexcept |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()
)
Implemented in DynExpInstr::SmarActData, DynExpInstr::PI_C_862StageData, and DynExpInstr::NenionLeakvalveF3Data.
|
inlinenoexcept |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()
)
|
privatepure virtualnoexcept |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()
)
Implemented in DynExpInstr::SmarActData, DynExpInstr::PI_C_862StageData, and DynExpInstr::NenionLeakvalveF3Data.
|
inlinenoexcept |
Returns whether the stage is currently moving (result of IsMovingChild()
)
|
privatepure virtualnoexcept |
Returns whether the stage is currently moving (result of IsMovingChild()
)
Implemented in DynExpInstr::SmarActData, DynExpInstr::PI_C_862StageData, and DynExpInstr::NenionLeakvalveF3Data.
|
inlinenoexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()
)
|
inlineprivatevirtualnoexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()
)
Reimplemented in DynExpInstr::SmarActData, and DynExpInstr::NenionLeakvalveF3Data.
|
finaloverrideprivate |
|
inlineprivatevirtual |
Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl()
of every derived class gets called - starting from InstrumentDataBase
, descending the inheritance hierarchy. Override in order to reset derived classes.
Reimplemented in DynExpInstr::SmarActData, DynExpInstr::PI_C_862StageData, and DynExpInstr::NenionLeakvalveF3Data.
|
inlinenoexcept |
|
inlinenoexcept |
|
private |
|
private |