|
DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
#include <LaserControl.h>
Inheritance diagram for DynExpModule::LaserControlData:Public Member Functions | |
| LaserControlData () | |
| virtual | ~LaserControlData ()=default |
| bool | IsUIInitialized () const noexcept |
| void | SetUIInitialized () noexcept |
| auto & | GetLaser () |
| double | FrequencyInHzToLaserUnit (double Value) const |
| double | FrequencyInLaserUnitToHz (double Value) const |
| double | IntensityInWToLaserUnit (double Value) const |
| double | IntensityInLaserUnitToW (double Value) const |
Public Member Functions inherited from DynExp::QModuleDataBase | |
| QModuleDataBase ()=default | |
| virtual | ~QModuleDataBase ()=default |
Public Member Functions inherited from DynExp::ModuleDataBase | |
| ModuleDataBase () | |
| virtual | ~ModuleDataBase () |
| bool | IsExceptionIndicated () const noexcept |
| Getter for HasException. Only performs atomic operations. Hence, this module data instance does not need to be locked for this function call. | |
| std::exception_ptr | GetException () const noexcept |
| Getter for ModuleDataBase::ModuleException. If ModuleDataBase::ModuleException is nullptr and ModuleDataBase::HasException is still true, returns a pointer to a Util::Exception instance. | |
| void | EnqueueEvent (EventPtrType &&Event) |
Enqueues Event at the module event queue's back. Takes ownership of the event. Notifies the module owning the respective ModuleDataBase's instance that a new event has been enqueued. | |
| EventPtrType | PopEvent () |
| Removes one event from the event queue's front and returns the event. Ownership of the event is transferred to the caller of this method. | |
| const auto & | GetEventFront () const noexcept |
| Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue. | |
| auto & | GetEventFront () noexcept |
| Returns a pointer to the event in the front of the module's event queue without transferring ownership and without removing the event from the queue. | |
| size_t | GetNumEnqueuedEvents () const noexcept |
| Getter for the module event queue's length. | |
| void | RunQueue () |
| Wakes up a module waiting for events and forces it to run its main loop once. | |
Public Member Functions inherited from Util::INonCopyable | |
| INonCopyable (const INonCopyable &)=delete | |
| INonCopyable & | operator= (const INonCopyable &)=delete |
Public Attributes | |
| DynExpInstr::LaserData::FrequencyUnitType | FrequencyUnit |
| DynExpInstr::LaserData::IntensityUnitType | IntensityUnit |
| double | HardwareMinFrequency |
| double | HardwareMaxFrequency |
| double | HardwareMinIntensity |
| double | HardwareMaxIntensity |
| double | HardwareMinScanRange |
| double | HardwareMaxScanRange |
| double | HardwareMinScanRate |
| double | HardwareMaxScanRate |
| double | HardwareModeHopFreeTuningRange |
| double | CurrentFrequency |
| double | CurrentIntensity |
| double | CurrentScanRange |
| double | CurrentScanRate |
| DynExpInstr::LaserData::LaserStateType | LaserState |
Public Attributes inherited from DynExp::ModuleDataBase | |
| ModuleBaseOnlyType | ModuleBaseOnly |
Allow exclusive access to some of ModuleDataBase's private methods to ModuleBase. | |
| ModuleThreadOnlyType | ModuleThreadOnly |
Allow exclusive access to some of ModuleDataBase's private methods to the module thread ModuleThreadMain(). | |
Private Member Functions | |
| void | ResetImpl (dispatch_tag< QModuleDataBase >) override final |
| virtual void | ResetImpl (dispatch_tag< LaserControlData >) |
| void | Init () |
Private Attributes | |
| bool | UIInitialized |
| DynExp::LinkedObjectWrapperContainer< DynExpInstr::Laser > | Laser |
Additional Inherited Members | |
Public Types inherited from DynExp::ModuleDataBase | |
| using | EventPtrType = std::unique_ptr< EventBase > |
| Pointer owning an event. | |
| using | EventQueueType = std::queue< EventPtrType > |
| A module's event queue is a FIFO queue owning the enqueued events. | |
Protected Member Functions inherited from Util::ISynchronizedPointerLockable | |
| ISynchronizedPointerLockable () | |
| ~ISynchronizedPointerLockable () | |
| Object should never be destroyed before completely unlocked. | |
Protected Member Functions inherited from Util::INonCopyable | |
| constexpr | INonCopyable ()=default |
| ~INonCopyable ()=default | |
Definition at line 45 of file LaserControl.h.
|
inline |
Definition at line 48 of file LaserControl.h.
|
virtualdefault |
| double DynExpModule::LaserControlData::FrequencyInHzToLaserUnit | ( | double | Value | ) | const |
Definition at line 117 of file LaserControl.cpp.
| double DynExpModule::LaserControlData::FrequencyInLaserUnitToHz | ( | double | Value | ) | const |
Definition at line 130 of file LaserControl.cpp.
|
inline |
Definition at line 53 of file LaserControl.h.
|
private |
Definition at line 170 of file LaserControl.cpp.
| double DynExpModule::LaserControlData::IntensityInLaserUnitToW | ( | double | Value | ) | const |
Definition at line 154 of file LaserControl.cpp.
| double DynExpModule::LaserControlData::IntensityInWToLaserUnit | ( | double | Value | ) | const |
Definition at line 143 of file LaserControl.cpp.
|
inlinenoexcept |
Definition at line 51 of file LaserControl.h.
|
inlineprivatevirtual |
Definition at line 79 of file LaserControl.h.
|
finaloverrideprivate |
Definition at line 165 of file LaserControl.cpp.
|
inlinenoexcept |
Definition at line 52 of file LaserControl.h.
| double DynExpModule::LaserControlData::CurrentFrequency |
Definition at line 71 of file LaserControl.h.
| double DynExpModule::LaserControlData::CurrentIntensity |
Definition at line 72 of file LaserControl.h.
| double DynExpModule::LaserControlData::CurrentScanRange |
Definition at line 73 of file LaserControl.h.
| double DynExpModule::LaserControlData::CurrentScanRate |
Definition at line 74 of file LaserControl.h.
| DynExpInstr::LaserData::FrequencyUnitType DynExpModule::LaserControlData::FrequencyUnit |
Definition at line 60 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMaxFrequency |
Definition at line 63 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMaxIntensity |
Definition at line 65 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMaxScanRange |
Definition at line 67 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMaxScanRate |
Definition at line 69 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMinFrequency |
Definition at line 62 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMinIntensity |
Definition at line 64 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMinScanRange |
Definition at line 66 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareMinScanRate |
Definition at line 68 of file LaserControl.h.
| double DynExpModule::LaserControlData::HardwareModeHopFreeTuningRange |
Definition at line 70 of file LaserControl.h.
| DynExpInstr::LaserData::IntensityUnitType DynExpModule::LaserControlData::IntensityUnit |
Definition at line 61 of file LaserControl.h.
|
private |
Definition at line 85 of file LaserControl.h.
| DynExpInstr::LaserData::LaserStateType DynExpModule::LaserControlData::LaserState |
Definition at line 75 of file LaserControl.h.
|
private |
Definition at line 83 of file LaserControl.h.