DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs > Class Template Reference
+ Inheritance diagram for DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >:

Public Types

using ParamsType = NetworkTimeTaggerParams< BaseInstr, 0, gRPCStubs... >
 
using ConfigType = NetworkTimeTaggerConfigurator< BaseInstr, 0, gRPCStubs... >
 
using InstrumentDataType = NetworkTimeTaggerData< BaseInstr, 0, gRPCStubs... >
 
using StubType = DynExpProto::NetworkTimeTagger::NetworkTimeTagger
 
- Public Types inherited from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >
using ParamsType = NetworkDataStreamInstrumentParams< BaseInstr, 0, gRPCStubs... >
 
using ConfigType = NetworkDataStreamInstrumentConfigurator< BaseInstr, 0, gRPCStubs... >
 
using InstrumentDataType = NetworkDataStreamInstrumentData< BaseInstr, 0, gRPCStubs... >
 
- Public Types inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >
using ParamsType = gRPCInstrumentParams< BaseInstr, 0, gRPCStubs... >
 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 = gRPCInstrumentConfigurator< BaseInstr, 0, gRPCStubs... >
 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 InstrumentDataType = gRPCInstrumentData< BaseInstr, 0, gRPCStubs... >
 Type of the data class belonging to this InstrumentBase type. Declare this alias in every derived class with the respective data class accompanying the derived InstrumentBase. More...
 

Public Member Functions

 NetworkTimeTaggerT (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 
virtual ~NetworkTimeTaggerT ()
 
virtual std::string GetName () const override
 Returns the name of this Object type. More...
 
virtual double GetMinThresholdInVolts () const noexcept override
 
virtual double GetMaxThresholdInVolts () const noexcept override
 
virtual Util::picoseconds GetResolution () const override
 
virtual size_t GetBufferSize () const override
 
virtual void ReadData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void Clear (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void ConfigureInput (bool UseRisingEdge, double ThresholdInVolts, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void SetExposureTime (Util::picoseconds ExposureTime, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void SetCoincidenceWindow (Util::picoseconds CoincidenceWindow, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void SetDelay (Util::picoseconds Delay, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void SetHBTActive (bool Enable, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void ConfigureHBT (Util::picoseconds BinWidth, size_t BinCount, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void ResetHBT (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
- Public Member Functions inherited from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >
 NetworkDataStreamInstrumentT (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 
virtual ~NetworkDataStreamInstrumentT ()
 
virtual std::chrono::milliseconds GetTaskQueueDelay () const
 Read remote instrument's state periodically. More...
 
virtual Util::OptionalBool HasFinished () const override
 
virtual Util::OptionalBool IsRunning () const override
 
virtual void WriteData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void ClearData (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void Start (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void Stop (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void Restart (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void SetStreamSize (size_t BufferSizeInSamples, DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
virtual void ResetStreamSize (DynExp::TaskBase::CallbackType CallbackFunc=nullptr) const override
 
- Public Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >
virtual ~gRPCInstrument ()
 
virtual std::string GetCategory () const override
 Returns the category of this Object type. More...
 

Static Public Member Functions

constexpr static auto Name () noexcept
 
- Static Public Member Functions inherited from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >
constexpr static auto Name () noexcept
 
- Static Public Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >
constexpr static auto Name () noexcept
 Every derived class has to redefine this function. More...
 
constexpr static auto Category () noexcept
 Every derived class has to redefine this function. More...
 

Private Member Functions

void ResetImpl (DynExp::Object::dispatch_tag< NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >>) override final
 
virtual void ResetImpl (DynExp::Object::dispatch_tag< NetworkTimeTaggerT >)
 
virtual std::unique_ptr< DynExp::InitTaskBaseMakeInitTask () const override
 Factory function for an init task (InitTaskBase). Override to define the desired initialization task in derived classes only if the respective task really does something and if it has no pure virtual function. More...
 
virtual std::unique_ptr< DynExp::ExitTaskBaseMakeExitTask () const override
 Factory function for an exit task (ExitTaskBase). Override to define the desired deinitialization task in derived classes only if the respective task really does something and if it has no pure virtual function. More...
 
virtual std::unique_ptr< DynExp::UpdateTaskBaseMakeUpdateTask () const override
 Factory function for an update task (UpdateTaskBase). Override to define the desired update task in derived classes only if the respective task really does something and if it has no pure virtual function. More...
 

Additional Inherited Members

- Protected Member Functions inherited from DynExpInstr::gRPCInstrument< BaseInstr, 0, gRPCStubs... >
 gRPCInstrument (const std::thread::id OwnerThreadID, DynExp::ParamsBasePtrType &&Params)
 Constructs an instrument instance. More...
 

Detailed Description

template<typename BaseInstr, typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int >, typename... gRPCStubs>
class DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >

Definition at line 428 of file NetworkTimeTagger.h.

Member Typedef Documentation

◆ ConfigType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ConfigType = NetworkTimeTaggerConfigurator<BaseInstr, 0, gRPCStubs...>

Definition at line 432 of file NetworkTimeTagger.h.

◆ InstrumentDataType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::InstrumentDataType = NetworkTimeTaggerData<BaseInstr, 0, gRPCStubs...>

Definition at line 433 of file NetworkTimeTagger.h.

◆ ParamsType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ParamsType = NetworkTimeTaggerParams<BaseInstr, 0, gRPCStubs...>

Definition at line 431 of file NetworkTimeTagger.h.

◆ StubType

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
using DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::StubType = DynExpProto::NetworkTimeTagger::NetworkTimeTagger

Definition at line 434 of file NetworkTimeTagger.h.

Constructor & Destructor Documentation

◆ NetworkTimeTaggerT()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::NetworkTimeTaggerT ( const std::thread::id  OwnerThreadID,
DynExp::ParamsBasePtrType &&  Params 
)
inline

Definition at line 438 of file NetworkTimeTagger.h.

◆ ~NetworkTimeTaggerT()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::~NetworkTimeTaggerT ( )
inlinevirtual

Definition at line 440 of file NetworkTimeTagger.h.

Member Function Documentation

◆ Clear()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::Clear ( DynExp::TaskBase::CallbackType  CallbackFunc = nullptr) const
inlineoverridevirtual

Definition at line 476 of file NetworkTimeTagger.h.

◆ ConfigureHBT()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ConfigureHBT ( Util::picoseconds  BinWidth,
size_t  BinCount,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 482 of file NetworkTimeTagger.h.

◆ ConfigureInput()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ConfigureInput ( bool  UseRisingEdge,
double  ThresholdInVolts,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 477 of file NetworkTimeTagger.h.

◆ GetBufferSize()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual size_t DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::GetBufferSize ( ) const
inlineoverridevirtual

Definition at line 462 of file NetworkTimeTagger.h.

◆ GetMaxThresholdInVolts()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual double DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::GetMaxThresholdInVolts ( ) const
inlineoverridevirtualnoexcept

Definition at line 450 of file NetworkTimeTagger.h.

◆ GetMinThresholdInVolts()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual double DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::GetMinThresholdInVolts ( ) const
inlineoverridevirtualnoexcept

Definition at line 444 of file NetworkTimeTagger.h.

◆ GetName()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual std::string DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::GetName ( ) const
inlineoverridevirtual

Returns the name of this Object type.

Reimplemented from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >.

Definition at line 442 of file NetworkTimeTagger.h.

◆ GetResolution()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual Util::picoseconds DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::GetResolution ( ) const
inlineoverridevirtual

Definition at line 456 of file NetworkTimeTagger.h.

◆ MakeExitTask()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual std::unique_ptr<DynExp::ExitTaskBase> DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::MakeExitTask ( ) const
inlineoverrideprivatevirtual

Factory function for an exit task (ExitTaskBase). Override to define the desired deinitialization task in derived classes only if the respective task really does something and if it has no pure virtual function.

Returns
Pointer to the task (transferring ownership) or nullptr if no exit task is required. A task can be created with MakeTask().

Reimplemented from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >.

Definition at line 494 of file NetworkTimeTagger.h.

◆ MakeInitTask()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual std::unique_ptr<DynExp::InitTaskBase> DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::MakeInitTask ( ) const
inlineoverrideprivatevirtual

Factory function for an init task (InitTaskBase). Override to define the desired initialization task in derived classes only if the respective task really does something and if it has no pure virtual function.

Returns
Pointer to the task (transferring ownership) or nullptr if no init task is required. A task can be created with MakeTask().

Reimplemented from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >.

Definition at line 493 of file NetworkTimeTagger.h.

◆ MakeUpdateTask()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual std::unique_ptr<DynExp::UpdateTaskBase> DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::MakeUpdateTask ( ) const
inlineoverrideprivatevirtual

Factory function for an update task (UpdateTaskBase). Override to define the desired update task in derived classes only if the respective task really does something and if it has no pure virtual function.

Returns
Pointer to the task (transferring ownership) or nullptr if no update task is required. A task can be created with MakeTask().

Reimplemented from DynExpInstr::NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >.

Definition at line 495 of file NetworkTimeTagger.h.

◆ Name()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
constexpr static auto DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::Name ( )
inlinestaticconstexprnoexcept

Definition at line 436 of file NetworkTimeTagger.h.

◆ ReadData()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ReadData ( DynExp::TaskBase::CallbackType  CallbackFunc = nullptr) const
inlineoverridevirtual

◆ ResetHBT()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ResetHBT ( DynExp::TaskBase::CallbackType  CallbackFunc = nullptr) const
inlineoverridevirtual

Definition at line 483 of file NetworkTimeTagger.h.

◆ ResetImpl() [1/2]

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ResetImpl ( DynExp::Object::dispatch_tag< NetworkDataStreamInstrumentT< BaseInstr, 0, gRPCStubs... >>  )
inlinefinaloverrideprivate

Definition at line 486 of file NetworkTimeTagger.h.

◆ ResetImpl() [2/2]

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::ResetImpl ( DynExp::Object::dispatch_tag< NetworkTimeTaggerT< BaseInstr,, gRPCStubs > >  )
inlineprivatevirtual

Definition at line 491 of file NetworkTimeTagger.h.

◆ SetCoincidenceWindow()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::SetCoincidenceWindow ( Util::picoseconds  CoincidenceWindow,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 479 of file NetworkTimeTagger.h.

◆ SetDelay()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::SetDelay ( Util::picoseconds  Delay,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 480 of file NetworkTimeTagger.h.

◆ SetExposureTime()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::SetExposureTime ( Util::picoseconds  ExposureTime,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 478 of file NetworkTimeTagger.h.

◆ SetHBTActive()

template<typename BaseInstr , typename std::enable_if_t< std::is_base_of_v< TimeTagger, BaseInstr >, int > , typename... gRPCStubs>
virtual void DynExpInstr::NetworkTimeTaggerT< BaseInstr,, gRPCStubs >::SetHBTActive ( bool  Enable,
DynExp::TaskBase::CallbackType  CallbackFunc = nullptr 
) const
inlineoverridevirtual

Definition at line 481 of file NetworkTimeTagger.h.


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