DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
DynExpModule::LaserControlData Class Reference

#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
 
INonCopyableoperator= (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::LaserLaser
 

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
 

Detailed Description

Definition at line 45 of file LaserControl.h.

Constructor & Destructor Documentation

◆ LaserControlData()

DynExpModule::LaserControlData::LaserControlData ( )
inline

Definition at line 48 of file LaserControl.h.

◆ ~LaserControlData()

virtual DynExpModule::LaserControlData::~LaserControlData ( )
virtualdefault

Member Function Documentation

◆ FrequencyInHzToLaserUnit()

double DynExpModule::LaserControlData::FrequencyInHzToLaserUnit ( double  Value) const

Definition at line 117 of file LaserControl.cpp.

◆ FrequencyInLaserUnitToHz()

double DynExpModule::LaserControlData::FrequencyInLaserUnitToHz ( double  Value) const

Definition at line 130 of file LaserControl.cpp.

◆ GetLaser()

auto & DynExpModule::LaserControlData::GetLaser ( )
inline

Definition at line 53 of file LaserControl.h.

◆ Init()

void DynExpModule::LaserControlData::Init ( )
private

Definition at line 170 of file LaserControl.cpp.

◆ IntensityInLaserUnitToW()

double DynExpModule::LaserControlData::IntensityInLaserUnitToW ( double  Value) const

Definition at line 154 of file LaserControl.cpp.

◆ IntensityInWToLaserUnit()

double DynExpModule::LaserControlData::IntensityInWToLaserUnit ( double  Value) const

Definition at line 143 of file LaserControl.cpp.

◆ IsUIInitialized()

bool DynExpModule::LaserControlData::IsUIInitialized ( ) const
inlinenoexcept

Definition at line 51 of file LaserControl.h.

◆ ResetImpl() [1/2]

virtual void DynExpModule::LaserControlData::ResetImpl ( dispatch_tag< LaserControlData )
inlineprivatevirtual

Definition at line 79 of file LaserControl.h.

◆ ResetImpl() [2/2]

void DynExpModule::LaserControlData::ResetImpl ( dispatch_tag< QModuleDataBase )
finaloverrideprivate

Definition at line 165 of file LaserControl.cpp.

◆ SetUIInitialized()

void DynExpModule::LaserControlData::SetUIInitialized ( )
inlinenoexcept

Definition at line 52 of file LaserControl.h.

Member Data Documentation

◆ CurrentFrequency

double DynExpModule::LaserControlData::CurrentFrequency

Definition at line 71 of file LaserControl.h.

◆ CurrentIntensity

double DynExpModule::LaserControlData::CurrentIntensity

Definition at line 72 of file LaserControl.h.

◆ CurrentScanRange

double DynExpModule::LaserControlData::CurrentScanRange

Definition at line 73 of file LaserControl.h.

◆ CurrentScanRate

double DynExpModule::LaserControlData::CurrentScanRate

Definition at line 74 of file LaserControl.h.

◆ FrequencyUnit

DynExpInstr::LaserData::FrequencyUnitType DynExpModule::LaserControlData::FrequencyUnit

Definition at line 60 of file LaserControl.h.

◆ HardwareMaxFrequency

double DynExpModule::LaserControlData::HardwareMaxFrequency

Definition at line 63 of file LaserControl.h.

◆ HardwareMaxIntensity

double DynExpModule::LaserControlData::HardwareMaxIntensity

Definition at line 65 of file LaserControl.h.

◆ HardwareMaxScanRange

double DynExpModule::LaserControlData::HardwareMaxScanRange

Definition at line 67 of file LaserControl.h.

◆ HardwareMaxScanRate

double DynExpModule::LaserControlData::HardwareMaxScanRate

Definition at line 69 of file LaserControl.h.

◆ HardwareMinFrequency

double DynExpModule::LaserControlData::HardwareMinFrequency

Definition at line 62 of file LaserControl.h.

◆ HardwareMinIntensity

double DynExpModule::LaserControlData::HardwareMinIntensity

Definition at line 64 of file LaserControl.h.

◆ HardwareMinScanRange

double DynExpModule::LaserControlData::HardwareMinScanRange

Definition at line 66 of file LaserControl.h.

◆ HardwareMinScanRate

double DynExpModule::LaserControlData::HardwareMinScanRate

Definition at line 68 of file LaserControl.h.

◆ HardwareModeHopFreeTuningRange

double DynExpModule::LaserControlData::HardwareModeHopFreeTuningRange

Definition at line 70 of file LaserControl.h.

◆ IntensityUnit

DynExpInstr::LaserData::IntensityUnitType DynExpModule::LaserControlData::IntensityUnit

Definition at line 61 of file LaserControl.h.

◆ Laser

DynExp::LinkedObjectWrapperContainer<DynExpInstr::Laser> DynExpModule::LaserControlData::Laser
private

Definition at line 85 of file LaserControl.h.

◆ LaserState

DynExpInstr::LaserData::LaserStateType DynExpModule::LaserControlData::LaserState

Definition at line 75 of file LaserControl.h.

◆ UIInitialized

bool DynExpModule::LaserControlData::UIInitialized
private

Definition at line 83 of file LaserControl.h.


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