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

Classes

struct  CoincidenceDataType
 
class  QutoolsTDCSynchronizer
 Only one instance of this class is allowed for synchronizing calls to connected qutools time taggers. This is required since TDC_addressDevice() selects a single device globally. More...
 

Public Types

using ParamsType = QutoolsTDCHardwareAdapterParams
 
using ConfigType = QutoolsTDCHardwareAdapterConfigurator
 
using ChannelType = QutoolsTDCSyms::Uint8
 
using ValueType = Util::picoseconds
 
using HBTResultsType = DynExpInstr::TimeTaggerData::HBTResultsType::ResultVectorType
 
- Public Types inherited from DynExp::HardwareAdapterBase
using ParamsType = HardwareAdapterParamsBase
 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 = HardwareAdapterConfiguratorBase
 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

 QutoolsTDCHardwareAdapter (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 
virtual ~QutoolsTDCHardwareAdapter ()
 
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...
 
bool IsOpened () const noexcept
 
void EnableChannels (bool EnableStartChannel, QutoolsTDCSyms::Int32 ChannelMask) const
 
void EnableChannel (ChannelType Channel) const
 
void DisableChannel (ChannelType Channel) const
 
void SetExposureTime (std::chrono::milliseconds ExposureTime) const
 
void SetCoincidenceWindow (ValueType CoincidenceWindow) const
 
void SetChannelDelay (ChannelType Channel, Util::picoseconds ChannelDelay) const
 
void SetTimestampBufferSize (QutoolsTDCSyms::Int32 Size) const
 
void ConfigureSignalConditioning (ChannelType Channel, QutoolsTDCSyms::TDC_SignalCond Conditioning=QutoolsTDCSyms::SCOND_MISC, bool UseRisingEdge=true, double ThresholdInVolts=1) const
 
void ConfigureFilter (ChannelType Channel, QutoolsTDCSyms::TDC_FilterType FilterType=QutoolsTDCSyms::TDC_FilterType::FILTER_NONE, QutoolsTDCSyms::Int32 ChannelMask=0) const
 
void EnableHBT (bool Enable) const
 
void ConfigureHBTChannels (ChannelType FirstChannel, ChannelType SecondChannel) const
 
void ConfigureHBTParams (Util::picoseconds BinWidth, QutoolsTDCSyms::Int32 BinCount) const
 
void ResetHBT () const
 
QutoolsTDCSyms::Int64 GetHBTEventCounts () const
 
std::chrono::microseconds GetHBTIntegrationTime () const
 
HBTResultsType GetHBTResult () const
 
ValueType GetTimebase () const
 
QutoolsTDCSyms::Int32 GetBufferSize () const
 
std::vector< ValueTypeGetTimestamps (ChannelType Channel) const
 
size_t GetCountsFromTimestamps (ChannelType Channel) const
 
const CoincidenceDataTypeGetCoincidenceCounts () const
 
std::pair< QutoolsTDCSyms::Int32, QutoolsTDCSyms::Int32 > GetCoincidenceCounts (ChannelType Channel) const
 
void ClearTimestamps (ChannelType Channel) const
 
- Public Member Functions inherited from DynExp::HardwareAdapterBase
 HardwareAdapterBase (const std::thread::id OwnerThreadID, ParamsBasePtrType &&Params)
 Constructs a hardware adapter instance. More...
 
virtual ~HardwareAdapterBase ()=0
 
void ResetException () const
 Sets LastException to nullptr in a thread-safe way. More...
 
bool IsConnected () const noexcept
 Determines the connection status of the hardware interface. 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 auto Enumerate ()
 
- Static Public Member Functions inherited from DynExp::HardwareAdapterBase
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

void Init ()
 
void ResetImpl (dispatch_tag< HardwareAdapterBase >) override final
 
virtual void ResetImpl (dispatch_tag< QutoolsTDCHardwareAdapter >)
 
void EnsureReadyStateChild () override final
 Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices. More...
 
bool IsReadyChild () const override final
 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...
 
bool IsConnectedChild () const noexcept override final
 Determines the connection status of the hardware interface. More...
 
void CheckError (const int Result, const std::source_location Location=std::source_location::current()) const
 
void OpenUnsafe ()
 
void CloseUnsafe ()
 
void AddressThisTDCDeviceUnsafe () const
 
void ReadTimestampsUnsafe () const
 
void EnableChannelsUnsafe (bool EnableStartChannel, QutoolsTDCSyms::Int32 ChannelMask) const
 
std::pair< bool, QutoolsTDCSyms::Int32 > GetEnabledChannelsUnsafe () const
 
void SetExposureTimeUnsafe (std::chrono::milliseconds ExposureTime) const
 
void SetCoincidenceWindowUnsafe (ValueType CoincidenceWindow) const
 
void SetChannelDelayUnsafe (ChannelType Channel, Util::picoseconds ChannelDelay) const
 
void SetTimestampBufferSizeUnsafe (QutoolsTDCSyms::Int32 Size) const
 
void ConfigureSignalConditioningUnsafe (ChannelType Channel, QutoolsTDCSyms::TDC_SignalCond Conditioning=QutoolsTDCSyms::SCOND_MISC, bool UseRisingEdge=true, double ThresholdInVolts=1) const
 
void ConfigureFilterUnsafe (ChannelType Channel, QutoolsTDCSyms::TDC_FilterType FilterType=QutoolsTDCSyms::TDC_FilterType::FILTER_NONE, QutoolsTDCSyms::Int32 ChannelMask=0) const
 
void EnableHBTUnsafe (bool Enable) const
 
void ConfigureHBTChannelsUnsafe (ChannelType FirstChannel, ChannelType SecondChannel) const
 
void ConfigureHBTParamsUnsafe (Util::picoseconds BinWidth, QutoolsTDCSyms::Int32 BinCount) const
 
void ResetHBTUnsafe () const
 
QutoolsTDCSyms::Int64 GetHBTEventCountsUnsafe () const
 
std::chrono::microseconds GetHBTIntegrationTimeUnsafe () const
 
HBTResultsType GetHBTResultUnsafe () const
 

Private Attributes

std::atomic< bool > DeviceConnected
 
unsigned int DeviceNumber
 
ValueType Timebase
 
QutoolsTDCSyms::Int32 BufferSize
 
QutoolsTDCSyms::Int32 ChannelCount
 
CoincidenceDataType CoincidenceData
 
std::unordered_map< ChannelType, std::vector< ValueType > > TimestampsPerChannel
 

Additional Inherited Members

- 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::HardwareAdapterBase
static constexpr auto ShortTimeoutDefault = std::chrono::milliseconds(10)
 Default timeout e.g. used as a default for calls to Object::GetException(). More...
 
static constexpr auto HardwareOperationTimeout = std::chrono::milliseconds(100)
 Default timeout used to lock the mutex provided by the base class Util::ILockable to synchronize access to the hardware interface in between multiple instrument threads. More...
 
- Static Public Attributes inherited from Util::ILockable
static constexpr std::chrono::milliseconds DefaultTimeout = std::chrono::milliseconds(10)
 Duration which is used as a default timeout within all methods of this class if no different duration is passed to them. 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 Types inherited from Util::ILockable
using MutexType = std::timed_mutex
 
using LockType = std::unique_lock< MutexType >
 
- Protected Member Functions inherited from DynExp::HardwareAdapterBase
void ThrowException (std::exception_ptr Exception) const
 Stores Exception in LastException, wraps it in a Util::ForwardedException and throws the wrapped excetion by calling Util::ForwardException(). More...
 
void ThrowExceptionUnsafe (std::exception_ptr Exception) const
 Stores Exception in LastException, wraps it in a Util::ForwardedException and throws the wrapped excetion by calling Util::ForwardException(). More...
 
void SetExceptionUnsafe (std::exception_ptr Exception) const
 Stores Exception in LastException. More...
 
auto GetExceptionUnsafe () const
 Getter for LastException. More...
 
- Protected Member Functions inherited from Util::ILockable
 ILockable ()=default
 
 ~ILockable ()=default
 
LockType AcquireLock (const std::chrono::milliseconds Timeout=DefaultTimeout) const
 Locks the internal mutex. Blocks until the mutex is locked or until the timeout duration is exceeded. 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...
 

Detailed Description

Definition at line 83 of file HardwareAdapterQutoolsTDC.h.

Member Typedef Documentation

◆ ChannelType

Definition at line 124 of file HardwareAdapterQutoolsTDC.h.

◆ ConfigType

◆ HBTResultsType

◆ ParamsType

◆ ValueType

Constructor & Destructor Documentation

◆ QutoolsTDCHardwareAdapter()

DynExpHardware::QutoolsTDCHardwareAdapter::QutoolsTDCHardwareAdapter ( const std::thread::id  OwnerThreadID,
DynExp::ParamsBasePtrType &&  Params 
)

Definition at line 76 of file HardwareAdapterQutoolsTDC.cpp.

◆ ~QutoolsTDCHardwareAdapter()

DynExpHardware::QutoolsTDCHardwareAdapter::~QutoolsTDCHardwareAdapter ( )
virtual

Definition at line 82 of file HardwareAdapterQutoolsTDC.cpp.

Member Function Documentation

◆ AddressThisTDCDeviceUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::AddressThisTDCDeviceUnsafe ( ) const
private

Definition at line 441 of file HardwareAdapterQutoolsTDC.cpp.

◆ Category()

constexpr static auto DynExpHardware::QutoolsTDCHardwareAdapter::Category ( )
inlinestaticconstexprnoexcept

Definition at line 129 of file HardwareAdapterQutoolsTDC.h.

◆ CheckError()

void DynExpHardware::QutoolsTDCHardwareAdapter::CheckError ( const int  Result,
const std::source_location  Location = std::source_location::current() 
) const
private

Definition at line 357 of file HardwareAdapterQutoolsTDC.cpp.

◆ ClearTimestamps()

void DynExpHardware::QutoolsTDCHardwareAdapter::ClearTimestamps ( ChannelType  Channel) const

Definition at line 306 of file HardwareAdapterQutoolsTDC.cpp.

◆ CloseUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::CloseUnsafe ( )
private

Definition at line 429 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureFilter()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureFilter ( ChannelType  Channel,
QutoolsTDCSyms::TDC_FilterType  FilterType = QutoolsTDCSyms::TDC_FilterType::FILTER_NONE,
QutoolsTDCSyms::Int32  ChannelMask = 0 
) const

Definition at line 163 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureFilterUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureFilterUnsafe ( ChannelType  Channel,
QutoolsTDCSyms::TDC_FilterType  FilterType = QutoolsTDCSyms::TDC_FilterType::FILTER_NONE,
QutoolsTDCSyms::Int32  ChannelMask = 0 
) const
private

Definition at line 522 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureHBTChannels()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureHBTChannels ( ChannelType  FirstChannel,
ChannelType  SecondChannel 
) const

Definition at line 180 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureHBTChannelsUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureHBTChannelsUnsafe ( ChannelType  FirstChannel,
ChannelType  SecondChannel 
) const
private

Definition at line 535 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureHBTParams()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureHBTParams ( Util::picoseconds  BinWidth,
QutoolsTDCSyms::Int32  BinCount 
) const

Definition at line 192 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureHBTParamsUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureHBTParamsUnsafe ( Util::picoseconds  BinWidth,
QutoolsTDCSyms::Int32  BinCount 
) const
private

Definition at line 541 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureSignalConditioning()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureSignalConditioning ( ChannelType  Channel,
QutoolsTDCSyms::TDC_SignalCond  Conditioning = QutoolsTDCSyms::SCOND_MISC,
bool  UseRisingEdge = true,
double  ThresholdInVolts = 1 
) const

Definition at line 154 of file HardwareAdapterQutoolsTDC.cpp.

◆ ConfigureSignalConditioningUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ConfigureSignalConditioningUnsafe ( ChannelType  Channel,
QutoolsTDCSyms::TDC_SignalCond  Conditioning = QutoolsTDCSyms::SCOND_MISC,
bool  UseRisingEdge = true,
double  ThresholdInVolts = 1 
) const
private

Definition at line 515 of file HardwareAdapterQutoolsTDC.cpp.

◆ DisableChannel()

void DynExpHardware::QutoolsTDCHardwareAdapter::DisableChannel ( ChannelType  Channel) const

Definition at line 109 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnableChannel()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnableChannel ( ChannelType  Channel) const

Definition at line 96 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnableChannels()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnableChannels ( bool  EnableStartChannel,
QutoolsTDCSyms::Int32  ChannelMask 
) const

Definition at line 88 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnableChannelsUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnableChannelsUnsafe ( bool  EnableStartChannel,
QutoolsTDCSyms::Int32  ChannelMask 
) const
private

Definition at line 470 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnableHBT()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnableHBT ( bool  Enable) const

Definition at line 172 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnableHBTUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnableHBTUnsafe ( bool  Enable) const
private

Definition at line 529 of file HardwareAdapterQutoolsTDC.cpp.

◆ EnsureReadyStateChild()

void DynExpHardware::QutoolsTDCHardwareAdapter::EnsureReadyStateChild ( )
finaloverrideprivatevirtual

Ensures that this Object instance is ready by possibly starting its worker thread or by opening connections to hardware devices.

Implements DynExp::HardwareAdapterBase.

Definition at line 335 of file HardwareAdapterQutoolsTDC.cpp.

◆ Enumerate()

auto DynExpHardware::QutoolsTDCHardwareAdapter::Enumerate ( )
static

Definition at line 10 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetBufferSize()

QutoolsTDCSyms::Int32 DynExpHardware::QutoolsTDCHardwareAdapter::GetBufferSize ( ) const

Definition at line 239 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetCategory()

virtual std::string DynExpHardware::QutoolsTDCHardwareAdapter::GetCategory ( ) const
inlineoverridevirtual

Returns the category of this Object type.

Reimplemented from DynExp::HardwareAdapterBase.

Definition at line 136 of file HardwareAdapterQutoolsTDC.h.

◆ GetCoincidenceCounts() [1/2]

const QutoolsTDCHardwareAdapter::CoincidenceDataType & DynExpHardware::QutoolsTDCHardwareAdapter::GetCoincidenceCounts ( ) const

Definition at line 267 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetCoincidenceCounts() [2/2]

std::pair< QutoolsTDCSyms::Int32, QutoolsTDCSyms::Int32 > DynExpHardware::QutoolsTDCHardwareAdapter::GetCoincidenceCounts ( ChannelType  Channel) const

Definition at line 287 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetCountsFromTimestamps()

size_t DynExpHardware::QutoolsTDCHardwareAdapter::GetCountsFromTimestamps ( ChannelType  Channel) const

Definition at line 258 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetEnabledChannelsUnsafe()

std::pair< bool, QutoolsTDCSyms::Int32 > DynExpHardware::QutoolsTDCHardwareAdapter::GetEnabledChannelsUnsafe ( ) const
private

Definition at line 478 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTEventCounts()

QutoolsTDCSyms::Int64 DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTEventCounts ( ) const

Definition at line 208 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTEventCountsUnsafe()

QutoolsTDCSyms::Int64 DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTEventCountsUnsafe ( ) const
private

Definition at line 553 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTIntegrationTime()

std::chrono::microseconds DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTIntegrationTime ( ) const

Definition at line 216 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTIntegrationTimeUnsafe()

std::chrono::microseconds DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTIntegrationTimeUnsafe ( ) const
private

Definition at line 564 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTResult()

QutoolsTDCHardwareAdapter::HBTResultsType DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTResult ( ) const

Definition at line 224 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetHBTResultUnsafe()

QutoolsTDCHardwareAdapter::HBTResultsType DynExpHardware::QutoolsTDCHardwareAdapter::GetHBTResultUnsafe ( ) const
private

Definition at line 574 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetName()

virtual std::string DynExpHardware::QutoolsTDCHardwareAdapter::GetName ( ) const
inlineoverridevirtual

Returns the name of this Object type.

Implements DynExp::Object.

Definition at line 135 of file HardwareAdapterQutoolsTDC.h.

◆ GetTimebase()

QutoolsTDCHardwareAdapter::ValueType DynExpHardware::QutoolsTDCHardwareAdapter::GetTimebase ( ) const

Definition at line 232 of file HardwareAdapterQutoolsTDC.cpp.

◆ GetTimestamps()

std::vector< QutoolsTDCHardwareAdapter::ValueType > DynExpHardware::QutoolsTDCHardwareAdapter::GetTimestamps ( ChannelType  Channel) const

Definition at line 247 of file HardwareAdapterQutoolsTDC.cpp.

◆ Init()

void DynExpHardware::QutoolsTDCHardwareAdapter::Init ( )
private

Definition at line 313 of file HardwareAdapterQutoolsTDC.cpp.

◆ IsConnectedChild()

bool DynExpHardware::QutoolsTDCHardwareAdapter::IsConnectedChild ( ) const
finaloverrideprivatevirtualnoexcept

Determines the connection status of the hardware interface.

Returns
Returns true when the hardware adapter is connected to the physical hardware device, false otherwise.

Implements DynExp::HardwareAdapterBase.

Definition at line 352 of file HardwareAdapterQutoolsTDC.cpp.

◆ IsOpened()

bool DynExpHardware::QutoolsTDCHardwareAdapter::IsOpened ( ) const
inlinenoexcept

Definition at line 138 of file HardwareAdapterQutoolsTDC.h.

◆ IsReadyChild()

bool DynExpHardware::QutoolsTDCHardwareAdapter::IsReadyChild ( ) const
finaloverrideprivatevirtual

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).

Returns
Returns true if this Object instance is ready, false otherwise.

Implements DynExp::Object.

Definition at line 342 of file HardwareAdapterQutoolsTDC.cpp.

◆ Name()

constexpr static auto DynExpHardware::QutoolsTDCHardwareAdapter::Name ( )
inlinestaticconstexprnoexcept

Definition at line 128 of file HardwareAdapterQutoolsTDC.h.

◆ OpenUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::OpenUnsafe ( )
private

Definition at line 368 of file HardwareAdapterQutoolsTDC.cpp.

◆ ReadTimestampsUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ReadTimestampsUnsafe ( ) const
private

Definition at line 447 of file HardwareAdapterQutoolsTDC.cpp.

◆ ResetHBT()

void DynExpHardware::QutoolsTDCHardwareAdapter::ResetHBT ( ) const

Definition at line 200 of file HardwareAdapterQutoolsTDC.cpp.

◆ ResetHBTUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::ResetHBTUnsafe ( ) const
private

Definition at line 547 of file HardwareAdapterQutoolsTDC.cpp.

◆ ResetImpl() [1/2]

void DynExpHardware::QutoolsTDCHardwareAdapter::ResetImpl ( dispatch_tag< HardwareAdapterBase )
finaloverrideprivate

Definition at line 324 of file HardwareAdapterQutoolsTDC.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpHardware::QutoolsTDCHardwareAdapter::ResetImpl ( dispatch_tag< QutoolsTDCHardwareAdapter )
inlineprivatevirtual

Definition at line 172 of file HardwareAdapterQutoolsTDC.h.

◆ SetChannelDelay()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetChannelDelay ( ChannelType  Channel,
Util::picoseconds  ChannelDelay 
) const

Definition at line 138 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetChannelDelayUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetChannelDelayUnsafe ( ChannelType  Channel,
Util::picoseconds  ChannelDelay 
) const
private

Definition at line 501 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetCoincidenceWindow()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetCoincidenceWindow ( ValueType  CoincidenceWindow) const

Definition at line 130 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetCoincidenceWindowUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetCoincidenceWindowUnsafe ( ValueType  CoincidenceWindow) const
private

Definition at line 495 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetExposureTime()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetExposureTime ( std::chrono::milliseconds  ExposureTime) const

Definition at line 122 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetExposureTimeUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetExposureTimeUnsafe ( std::chrono::milliseconds  ExposureTime) const
private

Definition at line 489 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetTimestampBufferSize()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetTimestampBufferSize ( QutoolsTDCSyms::Int32  Size) const

Definition at line 146 of file HardwareAdapterQutoolsTDC.cpp.

◆ SetTimestampBufferSizeUnsafe()

void DynExpHardware::QutoolsTDCHardwareAdapter::SetTimestampBufferSizeUnsafe ( QutoolsTDCSyms::Int32  Size) const
private

Definition at line 507 of file HardwareAdapterQutoolsTDC.cpp.

Member Data Documentation

◆ BufferSize

QutoolsTDCSyms::Int32 DynExpHardware::QutoolsTDCHardwareAdapter::BufferSize
mutableprivate

Definition at line 207 of file HardwareAdapterQutoolsTDC.h.

◆ ChannelCount

QutoolsTDCSyms::Int32 DynExpHardware::QutoolsTDCHardwareAdapter::ChannelCount
private

Definition at line 208 of file HardwareAdapterQutoolsTDC.h.

◆ CoincidenceData

CoincidenceDataType DynExpHardware::QutoolsTDCHardwareAdapter::CoincidenceData
mutableprivate

Definition at line 210 of file HardwareAdapterQutoolsTDC.h.

◆ DeviceConnected

std::atomic<bool> DynExpHardware::QutoolsTDCHardwareAdapter::DeviceConnected
private

Definition at line 204 of file HardwareAdapterQutoolsTDC.h.

◆ DeviceNumber

unsigned int DynExpHardware::QutoolsTDCHardwareAdapter::DeviceNumber
private

Definition at line 205 of file HardwareAdapterQutoolsTDC.h.

◆ Timebase

ValueType DynExpHardware::QutoolsTDCHardwareAdapter::Timebase
private

Definition at line 206 of file HardwareAdapterQutoolsTDC.h.

◆ TimestampsPerChannel

std::unordered_map<ChannelType, std::vector<ValueType> > DynExpHardware::QutoolsTDCHardwareAdapter::TimestampsPerChannel
mutableprivate

Definition at line 211 of file HardwareAdapterQutoolsTDC.h.


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