DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpModule::ODMR::ODMR Class Reference
+ Inheritance diagram for DynExpModule::ODMR::ODMR:

Public Types

using ParamsType = ODMRParams
 
using ConfigType = ODMRConfigurator
 
using ModuleDataType = ODMRData
 
- Public Types inherited from DynExp::QModuleBase
using ParamsType = QModuleParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. More...
 
using ConfigType = QModuleConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object. More...
 
using ModuleDataType = QModuleDataBase
 Type of the data class belonging to this ModuleBase type. Declare this alias in every derived class with the respective data class accompanying the derived ModuleBase. More...
 
- Public Types inherited from DynExp::ModuleBase
using ParamsType = ModuleParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. More...
 
using ConfigType = ModuleConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object. More...
 
using ModuleDataType = ModuleDataBase
 Type of the data class belonging to this ModuleBase type. Declare this alias in every derived class with the respective data class accompanying the derived ModuleBase. More...
 
using ModuleDataTypeSyncPtrType = Util::SynchronizedPointer< ModuleDataType >
 Alias for the return type of ModuleBase::GetModuleData(). Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
 
using ModuleDataTypeSyncPtrConstType = Util::SynchronizedPointer< const ModuleDataType >
 Alias for the return type of ModuleBase::GetModuleData() const. Data class instances wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
 
using ModuleDataGetterType = Util::CallableMemberWrapper< ModuleBase, ModuleDataTypeSyncPtrType(ModuleBase::*)(const std::chrono::milliseconds)>
 Invoking an instance of this alias is supposed to call ModuleBase::GetModuleData() of the instance the Util::CallableMemberWrapper has been constructed with. More...
 
- Public Types inherited from DynExp::RunnableObject
using ParamsType = RunnableObjectParams
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. More...
 
using ConfigType = RunnableObjectConfigurator
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object. More...
 
- Public Types inherited from DynExp::Object
using ParamsType = ParamsBase
 Type of the parameter class belonging to this Object type. Declare this alias in every derived class with the respective parameter class accompanying the derived Object. More...
 
using ParamsTypeSyncPtrType = Util::SynchronizedPointer< ParamsType >
 Alias for the return type of Object::GetParams(). Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
 
using ParamsConstTypeSyncPtrType = Util::SynchronizedPointer< const ParamsType >
 Alias for the return type of Object::GetParams() const. Parameters wrapped into Util::SynchronizedPointer can be accessed in a thread-safe way. More...
 
using ConfigType = ConfiguratorBase
 Type of the configurator class belonging to this Object type. Declare this alias in every derived class with the respective configurator class accompanying the derived Object. More...
 
using ParamsGetterType = Util::CallableMemberWrapper< Object, decltype(&Object::GetParams)>
 Invoking an instance of this alias is supposed to call Object::GetParams() of the instance the Util::CallableMemberWrapper has been constructed with. More...
 

Public Member Functions

 ODMR (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 
virtual ~ODMR ()=default
 
virtual std::string GetName () const override
 Returns the name of this Object type. More...
 
virtual std::string GetCategory () const override
 Returns the category of this Object type. More...
 
std::chrono::milliseconds GetMainLoopDelay () const override final
 Specifies in which time intervals the module's event queue runs to handle pending events. More...
 
bool TreatModuleExceptionsAsWarnings () const override final
 Determines whether this module should be terminated if an exception leaves the module's main loop or respective event handlers. More...
 
- Public Member Functions inherited from DynExp::QModuleBase
 QModuleBase (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 Constructs a QModuleBase instance. More...
 
virtual ~QModuleBase ()=0
 
bool HasUI () const noexcept override final
 Determines whether this module possesses a user interface (UI) which is shown in a window dedicated to the module. More...
 
QAction & InitUI (DynExpManager &DynExpMgr, QMdiArea *const MdiArea)
 Sets up the module's user interface widgets and window frames. Called by the main user interface thread in DynExpManager::RegisterModuleUI(). More...
 
void HideUI ()
 Removes MdiSubWindow, DockWidget, and ModuleWindowFocusAction setting them to nullptr. More...
 
void DisableUI ()
 Disables all user interface controls in Widget. Does nothing if Widget is nullptr. More...
 
void UpdateUI ()
 Enables the user interface controls in Widget. Does nothing if Widget is nullptr. Calls UpdateUIChild(). More...
 
void UpdateModuleWindowFocusAction ()
 Updates the icon assigned to ModuleWindowFocusAction depending on whether Widget is docked to or undocked from MdiArea. Called by the main user interface thread in DynExpManager::UpdateModuleWindowsActionIcons(). More...
 
void DockWindow () noexcept
 Docks Widget to MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void UndockWindow () noexcept
 Undocks Widget from MdiArea. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void DockUndockWindow () noexcept
 Toggles the docking state of Widget. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void SetFocus () noexcept
 Focuses/activates Widget and moves it on top of other windows if possible. Does nothing if any of Widget, MdiArea, MdiSubWindow, or DockWidget are nullptr. More...
 
void FocusMainWindow () noexcept
 Focuses/activates DynExp's main window calling DynExpManager::FocusMainWindow(). Does nothing if Widget is nullptr. More...
 
void SendKeyPressEventToMainWindow (QKeyEvent *Event) noexcept
 Sends a Qt key press event to DynExp's main window calling DynExpManager::PostKeyPressEvent(). Does nothing if Widget is nullptr. More...
 
bool IsWindowDocked () noexcept
 Checks whether Widget is docked. More...
 
bool IsActiveWindow ()
 Checks whether Widget is docked and active. More...
 
- Public Member Functions inherited from DynExp::ModuleBase
 ModuleBase (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs a ModuleBase instance. More...
 
virtual ~ModuleBase ()=0
 
void RestoreWindowStatesFromParams ()
 RestoreWindowStatesFromParams() only calls RestoreWindowStatesFromParamsChild(). Override RestoreWindowStatesFromParamsChild() to restore the styles of possibly owned windows according to the style saved in the module's parameters. More...
 
void UpdateParamsFromWindowStates ()
 UpdateParamsFromWindowStates() only calls UpdateParamsFromWindowStatesChild(). Override UpdateParamsFromWindowStatesChild() to store the styles of possibly owned windows in the module's parameters. More...
 
ModuleDataTypeSyncPtrType GetModuleData (const std::chrono::milliseconds Timeout=GetModuleDataTimeoutDefault)
 Locks the mutex of the module data class instance ModuleData assigned to this ModuleBase instance and returns a pointer to the locked ModuleData. Module data should not be locked by having called this function while subsequently calling a derived module's method which also makes use of the module's data by locking it. If this happens, the module data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice. More...
 
ModuleDataTypeSyncPtrConstType GetModuleData (const std::chrono::milliseconds Timeout=GetModuleDataTimeoutDefault) const
 Locks the mutex of the module data class instance ModuleData assigned to this ModuleBase instance and returns a pointer to the locked ModuleData. Module data should not be locked by having called this function while subsequently calling a derived module's method which also makes use of the module's data by locking it. If this happens, the module data's mutex is locked recursively. In principle, this does no harm since Util::ISynchronizedPointerLockable supports that. But, it is not considered good practice. More...
 
void EnqueueEvent (ModuleDataBase::EventPtrType &&Event) const
 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. More...
 
template<typename ReceiverType , typename EventType , typename... ArgsTs>
void MakeAndEnqueueEvent (ReceiverType *Receiver, EventType EventFuncPtr, ArgsTs &&...Args) const
 Calls MakeEvent() to construct a new event and subsequently enqueues the event into the module's event queue. Logical const-ness: this is a const member function to allow pointers to const ModuleBase inserting events into the module's event queue. These kind of pointers are e.g. returned by RunnableInstance::GetOwner() which can be called by events' EventBase::InvokeChild() functions. For const ModuleBase*, it is possible to insert events into the event queue, but not to change the ModuleBase object itself (e.g. calling Object::Reset()). More...
 
- Public Member Functions inherited from DynExp::RunnableObject
 RunnableObject (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs an Object instance. More...
 
virtual ~RunnableObject ()=0
 
void SetPaused (bool Pause, std::string Description="")
 Pauses or resumes a RunnableObject instance. Its thread stays running, but the instance does not perform any action while it is paused. More...
 
bool IsRunning () const noexcept
 Returns Running. More...
 
bool IsPaused () const noexcept
 Returns Paused. More...
 
bool IsExiting () const noexcept
 Returns ShouldExit. More...
 
auto GetStartupType () const noexcept
 Returns Startup. More...
 
auto GetReasonWhyPaused () const
 Returns ReasonWhyPaused. More...
 
bool Run (QWidget *ParentWidget=nullptr)
 Starts the RunnableObject instance's thread and ensures that all Object instances linked to this instance via ObjectLink parameters are in a ready state. Calls RunChild() which is to be overridden by derived classes to start a thread and to pass this thread back by calling StoreThread(). More...
 
bool RunIfRunAutomatic ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::Automatic. More...
 
bool RunIfRunOnCreation ()
 Calls Run() if RunnableObjectParams::Startup is set to RunnableObjectParams::OnCreation. More...
 
void Terminate (bool Force=false, const std::chrono::milliseconds Timeout=TerminateTimeoutDefault)
 Notifies the RunnableObject instance's thread to terminate and waits until it has ended. Calls TerminateImpl(). More...
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 
- Public Member Functions inherited from DynExp::Object
ItemIDType GetID () const noexcept
 Returns the ID of this Object instance. Thread-safe since ID is const. More...
 
std::string GetCategoryAndName () const
 Builds a string from an Object's category and name to allow the user to identify an Object's type. More...
 
void EnsureReadyState (bool IsAutomaticStartup)
 Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices. More...
 
void CheckLinkedObjectStates () const
 Checks whether Object instances this instance uses are in a ready state. Override CheckLinkedObjectStatesChild() to implement this behavior. More...
 
void Reset ()
 Resets this Object instance (including all its derived classes) by calling ResetImpl(). A reset implies that the derived classes reload all their parameters from Params and that all LinkedObjectWrapper instances owned by this Object instance become invalidated. More...
 
void BlockIfUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout)
 Blocks this Object instance setting Object::IsBlocked to true. Refer to Object::IsBlocked for the consequences. More...
 
ParamsConstTypeSyncPtrType GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params. More...
 
ParamsTypeSyncPtrType GetParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault)
 Locks the mutex of the parameter class instance Params assigned to this Object instance and returns a pointer to the locked Params. More...
 
auto GetObjectName (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns the name of this Object instance. More...
 
bool IsSharedUsageEnabled (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Returns whether shared usage has been enabled for this Object instance. Refer to ParamsBase::UsageType. More...
 
void SetWarning (std::string Description, int ErrorCode) const
 Setter for Object::Warning. Sets the warning by a description and an error code. More...
 
void SetWarning (const Util::Exception &e) const
 Setter for Object::Warning. Sets the warning by retrieving the warning data from an exception e. More...
 
void ClearWarning () const
 Resets Object::Warning. More...
 
auto GetWarning () const
 Returns Object::Warning in a thread-safe way by copying its internal data. More...
 
std::exception_ptr GetException (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns a pointer to the exception which has caused this Object instance to fail. More...
 
bool IsReady () const
 Returns wheter this Object instance is ready (e.g. it is running or connected to a hardware device) and not blocked (refer to Object::IsBlocked). More...
 
auto GetUseCount (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Counts the registered useres in a thread-safe way. More...
 
bool IsUnused (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns whether this Object instance is used by other instances. More...
 
auto GetUserIDs (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Returns a list of the IDs of the registered users in a thread-safe way. More...
 
auto GetUserNamesString (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout) const
 Builds a string describing which users are registered containing their object names, categories and type names in a thread-safe way. More...
 

Static Public Member Functions

constexpr static auto Name () noexcept
 
constexpr static auto Category () noexcept
 
- Static Public Member Functions inherited from DynExp::ModuleBase
constexpr static auto Category () noexcept
 Every derived class has to redefine this function. More...
 
- Static Public Member Functions inherited from DynExp::Object
static std::string CategoryAndNameToStr (const std::string &Category, const std::string &Name)
 Builds a string from an Object's category and name to allow the user to identify an Object's type. More...
 

Private Member Functions

Util::DynExpErrorCodes::DynExpErrorCodes ModuleMainLoop (DynExp::ModuleInstance &Instance) override final
 Module main loop. The function is executed periodically by the module thread. Also refer to GetMainLoopDelay(). More...
 
void ResetImpl (dispatch_tag< QModuleBase >) override final
 
std::unique_ptr< DynExp::QModuleWidgetMakeUIWidget () override final
 Used by InitUI() as a factory function for the module's user interface widget. Create the widget here using std::make_unique and then use Connect() to connect Qt signals to the module's event functions. More...
 
void UpdateUIChild (const ModuleBase::ModuleDataGetterType &ModuleDataGetter) override final
 
bool IsReadyState () const noexcept
 
void InitSweepValues (Util::SynchronizedPointer< ModuleDataType > &ModuleData)
 
void InitRFGenerator (double Frequency, bool EnableRF, Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void SetAuxAnalogOutValue (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void WaitUntilReadyAndTrigger (Util::SynchronizedPointer< ModuleDataType > &ModuleData) const
 
void ConnectChartWidgets (QLineSeries *ODMRLineSeries)
 
void OnInit (DynExp::ModuleInstance *Instance) const override final
 This event is triggered right before the module thread starts. Override it to lock instruments this module depends on (via RunnableInstance::LockObject()) and to register/subscribe for events (via InterModuleEvent::Register()). More...
 
void OnExit (DynExp::ModuleInstance *Instance) const override final
 This event is triggered right before the module thread terminates (not due to an exception, in this case refer to ModuleBase::OnError). Override it to unlock instruments this module depends on (via RunnableInstance::UnlockObject()) and to deregister/unsubscribe from events (via InterModuleEvent::Deregister()). More...
 
void OnRFPowerChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFAutoEnableClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnRFCenterFreqChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFFreqSpanChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFFreqSpacingChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFDwellTimeChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFModNoneClicked (DynExp::ModuleInstance *Instance, bool Checked) const
 
void OnRFModSineClicked (DynExp::ModuleInstance *Instance, bool Checked) const
 
void OnRFModPulseClicked (DynExp::ModuleInstance *Instance, bool Checked) const
 
void OnRFModFreqChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnRFModDepthChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnODMRSamplingRateChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSavePathChanged (DynExp::ModuleInstance *Instance, QString Path) const
 
void OnSaveIndexChanged (DynExp::ModuleInstance *Instance, int Index) const
 
void OnAutosaveClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnRecordSensitivityClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnRecordSensitivityOncePerSweepClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnRecordSensitivityOffResonanceClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnSensitivityResonanceFreqChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSensitivityOffResonanceFreqChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSensitivityResonanceSpanChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSensitivitySamplingRateChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSensitivityDurationChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnEnableSensitivityAnalysisClicked (DynExp::ModuleInstance *Instance, bool Checked) const
 
void OnGyromagneticRatioChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnEnableSweepSeriesClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnSweepSeriesParamChanged (DynExp::ModuleInstance *Instance, int Index) const
 
void OnSweepSeriesStartChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSweepSeriesStopChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSweepSeriesStepChanged (DynExp::ModuleInstance *Instance, double Value) const
 
void OnSweepSeriesRetraceClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnSweepSeriesAdvanceLastValueClicked (DynExp::ModuleInstance *Instance, int Checked) const
 
void OnStartClicked (DynExp::ModuleInstance *Instance, bool) const
 
void OnStartSensitivityClicked (DynExp::ModuleInstance *Instance, bool) const
 
void OnStopClicked (DynExp::ModuleInstance *Instance, bool) const
 
void OnRFOnClicked (DynExp::ModuleInstance *Instance, bool) const
 
void OnRFOffClicked (DynExp::ModuleInstance *Instance, bool) const
 
void OnODMRChartHovered (DynExp::ModuleInstance *Instance, QPointF Point, bool State) const
 
void OnODMRChartClicked (DynExp::ModuleInstance *Instance, QPointF Point) const
 
StateType InitializingStateFunc (DynExp::ModuleInstance &Instance)
 
StateType ReadyStateFunc (DynExp::ModuleInstance &Instance)
 
StateType MeasurementSeriesInitFunc (DynExp::ModuleInstance &Instance)
 
StateType MeasurementSeriesStepFunc (DynExp::ModuleInstance &Instance)
 
StateType ODMRTraceInitFunc (DynExp::ModuleInstance &Instance)
 
StateType ODMRTraceWaitFunc (DynExp::ModuleInstance &Instance)
 
StateType ODMRTraceFinishFunc (DynExp::ModuleInstance &Instance)
 
StateType SensitivityInitFunc (DynExp::ModuleInstance &Instance)
 
StateType SensitivityWaitFunc (DynExp::ModuleInstance &Instance)
 
StateType SensitivityFinishFunc (DynExp::ModuleInstance &Instance)
 

Private Attributes

const Util::StateMachineContext< StateMachineStateTypeSensitivityOffResonanceContext = { {}, "Acquiring off-resonance sensitivity series..." }
 
Util::StateMachine< StateMachineStateTypeStateMachine
 
double NextRFPower {}
 
double NextRFModulationDepth {}
 
double NextAuxAnalogOutValue {}
 
size_t NumFailedUpdateAttempts = 0
 

Static Private Attributes

static constexpr auto InitializingState
 
static constexpr auto ReadyState
 
static constexpr auto MeasurementSeriesInitState
 
static constexpr auto MeasurementSeriesStepState
 
static constexpr auto ODMRTraceInitState
 
static constexpr auto ODMRTraceWaitState
 
static constexpr auto ODMRTraceFinishState
 
static constexpr auto SensitivityInitState
 
static constexpr auto SensitivityWaitState
 
static constexpr auto SensitivityFinishState
 

Additional Inherited Members

- Public Attributes inherited from DynExp::ModuleBase
ModuleThreadOnlyType ModuleThreadOnly
 Allow exclusive access to some of ModuleBase's private methods to the module thread ModuleThreadMain(). More...
 
EventListenersOnlyType EventListenersOnly
 Allow exclusive access to some of ModuleBase's private methods to any TypedEventListeners class. More...
 
- Public Attributes inherited from DynExp::RunnableObject
RunnableInstanceOnlyType RunnableInstanceOnly
 Allow exclusive access to some of RunnableObject's private methods to class RunnableInstance. More...
 
- Public Attributes inherited from DynExp::Object
LinkedObjectWrapperOnlyType LinkedObjectWrapperOnly
 Allow exclusive access to some of Object's private methods to any LinkedObjectWrapper<T>. More...
 
- Static Public Attributes inherited from DynExp::ModuleBase
static constexpr auto GetModuleDataTimeoutDefault = std::chrono::milliseconds(1000)
 Determines the default timeout for GetModuleData() to lock the mutex synchronizing the module's data ModuleData. More...
 
- Static Public Attributes inherited from DynExp::RunnableObject
static constexpr auto ShortTimeoutDefault = std::chrono::milliseconds(50)
 Default timeout e.g. used as a default for calls to InstrumentBase::GetInstrumentData or ModuleBase::GetModuleData. More...
 
static constexpr auto TerminateTimeoutDefault = std::chrono::milliseconds(3000)
 Default timeout used as a default for calls to RunnableObject::Terminate. More...
 
- Static Public Attributes inherited from DynExp::Object
static constexpr std::chrono::milliseconds GetParamsTimeoutDefault = std::chrono::milliseconds(100)
 Default timeout used by Object::GetParams() to lock the mutex of the parameter instance assigned to this Object instance. More...
 
- Protected Member Functions inherited from DynExp::QModuleBase
template<typename SenderType , typename SignalType , typename ReceiverType , typename EventType >
void Connect (SenderType *Sender, SignalType Signal, ReceiverType *Receiver, EventType Event)
 Uses Qt's connect mechanism to connect a QObject's signal to a DynExp module's event. By directly connecting slots to signals via QObject::connect(), the slot function runs in the user interface thread. In contrast, this function connects a signal to a lambda function, which itself enqueues an event in the module's event queue. The event runs in the module thread. Arguments passed from the signal to the lambda function are forwarded to the event. More...
 
template<typename WidgetType >
WidgetType * GetWidget () const
 Getter for Widget. More...
 
- Protected Member Functions inherited from DynExp::RunnableObject
void Init ()
 Initializes member variables in case of a reset. More...
 
std::promise< void > MakeThreadExitedPromise ()
 Helper function to be used by overridden RunChild() functions in derived classes to (re)initialize the ThreadExitedSignal future and to provide the derived class a promise to signal the RunnableObject instance that its thread has terminated. More...
 
void StoreThread (std::thread &&Thread) noexcept
 Stores a thread constructed by a derived class overriding RunChild() in Thread taking ownership of the thread. Only call this function within RunChild()! More...
 
bool IsCallFromRunnableThread () const
 Checks whether Thread's id matches the id of the calling thread. This is thread-safe if the function is called by the RunnableObject instance's thread since Terminate() joins the threads before changing the Thread member. It is also thread-safe if the function is called by the thread owning the the RunnableObject instance since Run() and Terminate() can only be called by this thread. Only Run() and Terminate() (indirectly) modify Thread. More...
 
void EnsureCallFromRunnableThread () const
 Asserts that the call to this function is performed from the RunnableObject instance's thread by calling IsCallFromRunnableThread(). More...
 
void SetReasonWhyPaused (std::string Description)
 Sets the reason why this RunnableObject instance has been paused. More...
 
void SetReasonWhyPaused (const Util::Exception &e)
 Sets the reason why this RunnableObject instance has been paused. More...
 
void ClearReasonWhyPaused ()
 Removes the reason why this RunnableObject instance has been paused (since it is resumed). More...
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 
- Protected Member Functions inherited from DynExp::Object
 Object (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs an Object instance. More...
 
virtual ~Object ()=0
 
void EnsureCallFromOwningThread () const
 Asserts that the call to this function is performed from the thread which constructed this Object instance (the thread with the id stored in Object::OwnerThreadID). More...
 
ParamsTypeSyncPtrType GetNonConstParams (const std::chrono::milliseconds Timeout=GetParamsTimeoutDefault) const
 Allows derived Objects to edit their own parameters - even in const task functions (for instruments) or event functions (for modules). More...
 
auto LockUserList (const std::chrono::milliseconds Timeout=Util::ILockable::DefaultTimeout)
 Locks the user list for thread-safe manipulation. More...
 
void DeregisterAllUnsafe ()
 Deregisters all users and notifies them that they need to check the states of their used linked objects. More...
 
auto GetUseCountUnsafe ()
 
auto GetUserNamesStringUnsafe () const
 
bool IsUnusedUnsafe ()
 Returns whether this Object instance is used by other instances (not thread-safe). More...
 
- Static Protected Member Functions inherited from DynExp::ModuleBase
static auto GetExceptionUnsafe (const ModuleDataTypeSyncPtrConstType &ModuleDataPtr)
 Getter for ModuleDataBase::ModuleException assuming that the module data has already been locked. More...
 

Detailed Description

Definition at line 153 of file ODMR.h.

Member Typedef Documentation

◆ ConfigType

Definition at line 157 of file ODMR.h.

◆ ModuleDataType

Definition at line 158 of file ODMR.h.

◆ ParamsType

Definition at line 156 of file ODMR.h.

Constructor & Destructor Documentation

◆ ODMR()

DynExpModule::ODMR::ODMR::ODMR ( const std::thread::id  OwnerThreadID,
DynExp::ParamsBasePtrType &&  Params 
)

Definition at line 152 of file ODMR.cpp.

◆ ~ODMR()

virtual DynExpModule::ODMR::ODMR::~ODMR ( )
virtualdefault

Member Function Documentation

◆ Category()

constexpr static auto DynExpModule::ODMR::ODMR::Category ( )
inlinestaticconstexprnoexcept

Definition at line 161 of file ODMR.h.

◆ ConnectChartWidgets()

void DynExpModule::ODMR::ODMR::ConnectChartWidgets ( QLineSeries *  ODMRLineSeries)
private

Definition at line 368 of file ODMR.cpp.

◆ GetCategory()

virtual std::string DynExpModule::ODMR::ODMR::GetCategory ( ) const
inlineoverridevirtual

Returns the category of this Object type.

Reimplemented from DynExp::ModuleBase.

Definition at line 167 of file ODMR.h.

◆ GetMainLoopDelay()

std::chrono::milliseconds DynExpModule::ODMR::ODMR::GetMainLoopDelay ( ) const
finaloverridevirtual

Specifies in which time intervals the module's event queue runs to handle pending events.

Returns
Delay time in between event queue executions. Return std::chrono::milliseconds::max() to make the module thread only wake up to execute the module main loop (after handling enqueued events) when an event is enqueued. Return 0 to make the module main loop execute as fast as possible.

Reimplemented from DynExp::ModuleBase.

Definition at line 161 of file ODMR.cpp.

◆ GetName()

virtual std::string DynExpModule::ODMR::ODMR::GetName ( ) const
inlineoverridevirtual

Returns the name of this Object type.

Implements DynExp::Object.

Definition at line 166 of file ODMR.h.

◆ InitializingStateFunc()

StateType DynExpModule::ODMR::ODMR::InitializingStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 685 of file ODMR.cpp.

◆ InitRFGenerator()

void DynExpModule::ODMR::ODMR::InitRFGenerator ( double  Frequency,
bool  EnableRF,
Util::SynchronizedPointer< ModuleDataType > &  ModuleData 
) const
private

Definition at line 327 of file ODMR.cpp.

◆ InitSweepValues()

void DynExpModule::ODMR::ODMR::InitSweepValues ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData)
private

Definition at line 298 of file ODMR.cpp.

◆ IsReadyState()

bool DynExpModule::ODMR::ODMR::IsReadyState ( ) const
inlineprivatenoexcept

Definition at line 181 of file ODMR.h.

◆ MakeUIWidget()

std::unique_ptr< DynExp::QModuleWidget > DynExpModule::ODMR::ODMR::MakeUIWidget ( )
finaloverrideprivatevirtual

Used by InitUI() as a factory function for the module's user interface widget. Create the widget here using std::make_unique and then use Connect() to connect Qt signals to the module's event functions.

Returns
Return the created user interface widget.

Implements DynExp::QModuleBase.

Definition at line 209 of file ODMR.cpp.

◆ MeasurementSeriesInitFunc()

StateType DynExpModule::ODMR::ODMR::MeasurementSeriesInitFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 695 of file ODMR.cpp.

◆ MeasurementSeriesStepFunc()

StateType DynExpModule::ODMR::ODMR::MeasurementSeriesStepFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 713 of file ODMR.cpp.

◆ ModuleMainLoop()

Util::DynExpErrorCodes::DynExpErrorCodes DynExpModule::ODMR::ODMR::ModuleMainLoop ( DynExp::ModuleInstance Instance)
finaloverrideprivatevirtual

Module main loop. The function is executed periodically by the module thread. Also refer to GetMainLoopDelay().

Parameters
InstanceHandle to the module thread's data
Returns
Return Util::DynExpErrorCodes::NoError if module loop should continue, annother error code otherwise.

Implements DynExp::ModuleBase.

Definition at line 172 of file ODMR.cpp.

◆ Name()

constexpr static auto DynExpModule::ODMR::ODMR::Name ( )
inlinestaticconstexprnoexcept

Definition at line 160 of file ODMR.h.

◆ ODMRTraceFinishFunc()

StateType DynExpModule::ODMR::ODMR::ODMRTraceFinishFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 778 of file ODMR.cpp.

◆ ODMRTraceInitFunc()

StateType DynExpModule::ODMR::ODMR::ODMRTraceInitFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 740 of file ODMR.cpp.

◆ ODMRTraceWaitFunc()

StateType DynExpModule::ODMR::ODMR::ODMRTraceWaitFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 771 of file ODMR.cpp.

◆ OnAutosaveClicked()

void DynExpModule::ODMR::ODMR::OnAutosaveClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 507 of file ODMR.cpp.

◆ OnEnableSensitivityAnalysisClicked()

void DynExpModule::ODMR::ODMR::OnEnableSensitivityAnalysisClicked ( DynExp::ModuleInstance Instance,
bool  Checked 
) const
private

Definition at line 561 of file ODMR.cpp.

◆ OnEnableSweepSeriesClicked()

void DynExpModule::ODMR::ODMR::OnEnableSweepSeriesClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 573 of file ODMR.cpp.

◆ OnExit()

void DynExpModule::ODMR::ODMR::OnExit ( DynExp::ModuleInstance Instance) const
finaloverrideprivatevirtual

This event is triggered right before the module thread terminates (not due to an exception, in this case refer to ModuleBase::OnError). Override it to unlock instruments this module depends on (via RunnableInstance::UnlockObject()) and to deregister/unsubscribe from events (via InterModuleEvent::Deregister()).

Parameters
InstanceHandle to the module thread's data

Reimplemented from DynExp::ModuleBase.

Definition at line 407 of file ODMR.cpp.

◆ OnGyromagneticRatioChanged()

void DynExpModule::ODMR::ODMR::OnGyromagneticRatioChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 567 of file ODMR.cpp.

◆ OnInit()

void DynExpModule::ODMR::ODMR::OnInit ( DynExp::ModuleInstance Instance) const
finaloverrideprivatevirtual

This event is triggered right before the module thread starts. Override it to lock instruments this module depends on (via RunnableInstance::LockObject()) and to register/subscribe for events (via InterModuleEvent::Register()).

Parameters
InstanceHandle to the module thread's data

Reimplemented from DynExp::ModuleBase.

Definition at line 377 of file ODMR.cpp.

◆ OnODMRChartClicked()

void DynExpModule::ODMR::ODMR::OnODMRChartClicked ( DynExp::ModuleInstance Instance,
QPointF  Point 
) const
private

Definition at line 676 of file ODMR.cpp.

◆ OnODMRChartHovered()

void DynExpModule::ODMR::ODMR::OnODMRChartHovered ( DynExp::ModuleInstance Instance,
QPointF  Point,
bool  State 
) const
private

Definition at line 670 of file ODMR.cpp.

◆ OnODMRSamplingRateChanged()

void DynExpModule::ODMR::ODMR::OnODMRSamplingRateChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 489 of file ODMR.cpp.

◆ OnRecordSensitivityClicked()

void DynExpModule::ODMR::ODMR::OnRecordSensitivityClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 513 of file ODMR.cpp.

◆ OnRecordSensitivityOffResonanceClicked()

void DynExpModule::ODMR::ODMR::OnRecordSensitivityOffResonanceClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 525 of file ODMR.cpp.

◆ OnRecordSensitivityOncePerSweepClicked()

void DynExpModule::ODMR::ODMR::OnRecordSensitivityOncePerSweepClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 519 of file ODMR.cpp.

◆ OnRFAutoEnableClicked()

void DynExpModule::ODMR::ODMR::OnRFAutoEnableClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 423 of file ODMR.cpp.

◆ OnRFCenterFreqChanged()

void DynExpModule::ODMR::ODMR::OnRFCenterFreqChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 429 of file ODMR.cpp.

◆ OnRFDwellTimeChanged()

void DynExpModule::ODMR::ODMR::OnRFDwellTimeChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 447 of file ODMR.cpp.

◆ OnRFFreqSpacingChanged()

void DynExpModule::ODMR::ODMR::OnRFFreqSpacingChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 441 of file ODMR.cpp.

◆ OnRFFreqSpanChanged()

void DynExpModule::ODMR::ODMR::OnRFFreqSpanChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 435 of file ODMR.cpp.

◆ OnRFModDepthChanged()

void DynExpModule::ODMR::ODMR::OnRFModDepthChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 483 of file ODMR.cpp.

◆ OnRFModFreqChanged()

void DynExpModule::ODMR::ODMR::OnRFModFreqChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 477 of file ODMR.cpp.

◆ OnRFModNoneClicked()

void DynExpModule::ODMR::ODMR::OnRFModNoneClicked ( DynExp::ModuleInstance Instance,
bool  Checked 
) const
private

Definition at line 453 of file ODMR.cpp.

◆ OnRFModPulseClicked()

void DynExpModule::ODMR::ODMR::OnRFModPulseClicked ( DynExp::ModuleInstance Instance,
bool  Checked 
) const
private

Definition at line 469 of file ODMR.cpp.

◆ OnRFModSineClicked()

void DynExpModule::ODMR::ODMR::OnRFModSineClicked ( DynExp::ModuleInstance Instance,
bool  Checked 
) const
private

Definition at line 461 of file ODMR.cpp.

◆ OnRFOffClicked()

void DynExpModule::ODMR::ODMR::OnRFOffClicked ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 664 of file ODMR.cpp.

◆ OnRFOnClicked()

void DynExpModule::ODMR::ODMR::OnRFOnClicked ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 658 of file ODMR.cpp.

◆ OnRFPowerChanged()

void DynExpModule::ODMR::ODMR::OnRFPowerChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 417 of file ODMR.cpp.

◆ OnSaveIndexChanged()

void DynExpModule::ODMR::ODMR::OnSaveIndexChanged ( DynExp::ModuleInstance Instance,
int  Index 
) const
private

Definition at line 501 of file ODMR.cpp.

◆ OnSavePathChanged()

void DynExpModule::ODMR::ODMR::OnSavePathChanged ( DynExp::ModuleInstance Instance,
QString  Path 
) const
private

Definition at line 495 of file ODMR.cpp.

◆ OnSensitivityDurationChanged()

void DynExpModule::ODMR::ODMR::OnSensitivityDurationChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 555 of file ODMR.cpp.

◆ OnSensitivityOffResonanceFreqChanged()

void DynExpModule::ODMR::ODMR::OnSensitivityOffResonanceFreqChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 537 of file ODMR.cpp.

◆ OnSensitivityResonanceFreqChanged()

void DynExpModule::ODMR::ODMR::OnSensitivityResonanceFreqChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 531 of file ODMR.cpp.

◆ OnSensitivityResonanceSpanChanged()

void DynExpModule::ODMR::ODMR::OnSensitivityResonanceSpanChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 543 of file ODMR.cpp.

◆ OnSensitivitySamplingRateChanged()

void DynExpModule::ODMR::ODMR::OnSensitivitySamplingRateChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 549 of file ODMR.cpp.

◆ OnStartClicked()

void DynExpModule::ODMR::ODMR::OnStartClicked ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 624 of file ODMR.cpp.

◆ OnStartSensitivityClicked()

void DynExpModule::ODMR::ODMR::OnStartSensitivityClicked ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 635 of file ODMR.cpp.

◆ OnStopClicked()

void DynExpModule::ODMR::ODMR::OnStopClicked ( DynExp::ModuleInstance Instance,
bool   
) const
private

Definition at line 646 of file ODMR.cpp.

◆ OnSweepSeriesAdvanceLastValueClicked()

void DynExpModule::ODMR::ODMR::OnSweepSeriesAdvanceLastValueClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 618 of file ODMR.cpp.

◆ OnSweepSeriesParamChanged()

void DynExpModule::ODMR::ODMR::OnSweepSeriesParamChanged ( DynExp::ModuleInstance Instance,
int  Index 
) const
private

Definition at line 579 of file ODMR.cpp.

◆ OnSweepSeriesRetraceClicked()

void DynExpModule::ODMR::ODMR::OnSweepSeriesRetraceClicked ( DynExp::ModuleInstance Instance,
int  Checked 
) const
private

Definition at line 612 of file ODMR.cpp.

◆ OnSweepSeriesStartChanged()

void DynExpModule::ODMR::ODMR::OnSweepSeriesStartChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 594 of file ODMR.cpp.

◆ OnSweepSeriesStepChanged()

void DynExpModule::ODMR::ODMR::OnSweepSeriesStepChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 606 of file ODMR.cpp.

◆ OnSweepSeriesStopChanged()

void DynExpModule::ODMR::ODMR::OnSweepSeriesStopChanged ( DynExp::ModuleInstance Instance,
double  Value 
) const
private

Definition at line 600 of file ODMR.cpp.

◆ ReadyStateFunc()

StateType DynExpModule::ODMR::ODMR::ReadyStateFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 690 of file ODMR.cpp.

◆ ResetImpl()

void DynExpModule::ODMR::ODMR::ResetImpl ( dispatch_tag< QModuleBase )
finaloverrideprivate

Definition at line 198 of file ODMR.cpp.

◆ SensitivityFinishFunc()

StateType DynExpModule::ODMR::ODMR::SensitivityFinishFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 924 of file ODMR.cpp.

◆ SensitivityInitFunc()

StateType DynExpModule::ODMR::ODMR::SensitivityInitFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 890 of file ODMR.cpp.

◆ SensitivityWaitFunc()

StateType DynExpModule::ODMR::ODMR::SensitivityWaitFunc ( DynExp::ModuleInstance Instance)
private

Definition at line 917 of file ODMR.cpp.

◆ SetAuxAnalogOutValue()

void DynExpModule::ODMR::ODMR::SetAuxAnalogOutValue ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 342 of file ODMR.cpp.

◆ TreatModuleExceptionsAsWarnings()

bool DynExpModule::ODMR::ODMR::TreatModuleExceptionsAsWarnings ( ) const
inlinefinaloverridevirtual

Determines whether this module should be terminated if an exception leaves the module's main loop or respective event handlers.

Returns
Return false if the module should be terminated in case of an uncaught exception, true to only record the exception as the module's warning.

Reimplemented from DynExp::ModuleBase.

Definition at line 170 of file ODMR.h.

◆ UpdateUIChild()

void DynExpModule::ODMR::ODMR::UpdateUIChild ( const ModuleBase::ModuleDataGetterType &  ModuleDataGetter)
finaloverrideprivate

Definition at line 261 of file ODMR.cpp.

◆ WaitUntilReadyAndTrigger()

void DynExpModule::ODMR::ODMR::WaitUntilReadyAndTrigger ( Util::SynchronizedPointer< ModuleDataType > &  ModuleData) const
private

Definition at line 348 of file ODMR.cpp.

Member Data Documentation

◆ InitializingState

constexpr auto DynExpModule::ODMR::ODMR::InitializingState
staticconstexprprivate
Initial value:
&ODMR::InitializingStateFunc, "Initializing module...")
StateType InitializingStateFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:685
State machine state as used by class StateMachine. A state mainly wraps a state function of the membe...
Definition: Util.h:1305

Definition at line 253 of file ODMR.h.

◆ MeasurementSeriesInitState

constexpr auto DynExpModule::ODMR::ODMR::MeasurementSeriesInitState
staticconstexprprivate
Initial value:

Definition at line 257 of file ODMR.h.

◆ MeasurementSeriesStepState

constexpr auto DynExpModule::ODMR::ODMR::MeasurementSeriesStepState
staticconstexprprivate
Initial value:

Definition at line 259 of file ODMR.h.

◆ NextAuxAnalogOutValue

double DynExpModule::ODMR::ODMR::NextAuxAnalogOutValue {}
private

Definition at line 282 of file ODMR.h.

◆ NextRFModulationDepth

double DynExpModule::ODMR::ODMR::NextRFModulationDepth {}
private

Definition at line 281 of file ODMR.h.

◆ NextRFPower

double DynExpModule::ODMR::ODMR::NextRFPower {}
private

Definition at line 280 of file ODMR.h.

◆ NumFailedUpdateAttempts

size_t DynExpModule::ODMR::ODMR::NumFailedUpdateAttempts = 0
private

Definition at line 284 of file ODMR.h.

◆ ODMRTraceFinishState

constexpr auto DynExpModule::ODMR::ODMR::ODMRTraceFinishState
staticconstexprprivate
Initial value:
&ODMR::ODMRTraceFinishFunc, "Processing and saving ODMR trace...")
StateType ODMRTraceFinishFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:778

Definition at line 265 of file ODMR.h.

◆ ODMRTraceInitState

constexpr auto DynExpModule::ODMR::ODMR::ODMRTraceInitState
staticconstexprprivate
Initial value:
&ODMR::ODMRTraceInitFunc, "Acquiring ODMR trace...")
StateType ODMRTraceInitFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:740

Definition at line 261 of file ODMR.h.

◆ ODMRTraceWaitState

constexpr auto DynExpModule::ODMR::ODMR::ODMRTraceWaitState
staticconstexprprivate
Initial value:
&ODMR::ODMRTraceWaitFunc, "Acquiring ODMR trace...")
StateType ODMRTraceWaitFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:771

Definition at line 263 of file ODMR.h.

◆ ReadyState

constexpr auto DynExpModule::ODMR::ODMR::ReadyState
staticconstexprprivate
Initial value:

Definition at line 255 of file ODMR.h.

◆ SensitivityFinishState

constexpr auto DynExpModule::ODMR::ODMR::SensitivityFinishState
staticconstexprprivate
Initial value:
&ODMR::SensitivityFinishFunc, "Processing and saving sensitivity series...")
StateType SensitivityFinishFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:924

Definition at line 271 of file ODMR.h.

◆ SensitivityInitState

constexpr auto DynExpModule::ODMR::ODMR::SensitivityInitState
staticconstexprprivate
Initial value:
&ODMR::SensitivityInitFunc, "Acquiring sensitivity series...")
StateType SensitivityInitFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:890

Definition at line 267 of file ODMR.h.

◆ SensitivityOffResonanceContext

const Util::StateMachineContext<StateMachineStateType> DynExpModule::ODMR::ODMR::SensitivityOffResonanceContext = { {}, "Acquiring off-resonance sensitivity series..." }
private

Definition at line 275 of file ODMR.h.

◆ SensitivityWaitState

constexpr auto DynExpModule::ODMR::ODMR::SensitivityWaitState
staticconstexprprivate
Initial value:
&ODMR::SensitivityWaitFunc, "Acquiring sensitivity series...")
StateType SensitivityWaitFunc(DynExp::ModuleInstance &Instance)
Definition: ODMR.cpp:917

Definition at line 269 of file ODMR.h.

◆ StateMachine

Util::StateMachine<StateMachineStateType> DynExpModule::ODMR::ODMR::StateMachine
mutableprivate

Definition at line 278 of file ODMR.h.


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