openDAQ
Open data acquisition platform
ReferenceDomainInfoBuilderPtr Class Reference

Builder component of Reference Domain Info objects. Contains setter methods that allow for Reference Domain Info parameter configuration, and a build method that builds the Reference Domain Info. More...

Inherits ObjectPtr< IReferenceDomainInfoBuilder >.

Detailed Description

Builder component of Reference Domain Info objects. Contains setter methods that allow for Reference Domain Info parameter configuration, and a build method that builds the Reference Domain Info.

Public Member Functions

daq::ReferenceDomainInfoPtr build () const
 Builds and returns a Reference Domain Info object using the currently set values of the Builder. More...
 
ReferenceDomainInfoBuilderPtr setReferenceDomainId (const daq::StringPtr &referenceDomainId) const
 Sets the Reference Domain ID. More...
 
daq::StringPtr getReferenceDomainId () const
 Gets the Reference Domain ID. More...
 
ReferenceDomainInfoBuilderPtr setReferenceDomainOffset (const daq::IntegerPtr &referenceDomainOffset) const
 Sets the Reference Domain Offset. More...
 
daq::IntegerPtr getReferenceDomainOffset () const
 Gets the Reference Domain Offset. More...
 
ReferenceDomainInfoBuilderPtr setReferenceTimeSource (daq::TimeSource referenceTimeSource) const
 Sets the value that indicates the Reference Time Source. More...
 
daq::TimeSource getReferenceTimeSource () const
 Gets the value that indicates the Reference Time Source. More...
 
ReferenceDomainInfoBuilderPtr setUsesOffset (daq::UsesOffset usesOffset) const
 Sets the value that indicates if offset is used. More...
 
daq::UsesOffset getUsesOffset () const
 Gets the value that indicates if offset is used. More...
 

Member Function Documentation

◆ build()

daq::ReferenceDomainInfoPtr build ( ) const
inline

Builds and returns a Reference Domain Info object using the currently set values of the Builder.

Returns
The built Reference Domain Info.

◆ getReferenceDomainId()

daq::StringPtr getReferenceDomainId ( ) const
inline

Gets the Reference Domain ID.

Returns
The Reference Domain ID.

If set, gives the common identifier of one domain group. Signals with the same Reference Domain ID share a common synchronization source (all the signals in a group either come from the same device or are synchronized using a protocol, such as PTP, NTP, IRIG, etc.). Those signals can always be read together, implying that a Multi Reader can be used to read the signals if their sampling rates are compatible.

◆ getReferenceDomainOffset()

daq::IntegerPtr getReferenceDomainOffset ( ) const
inline

Gets the Reference Domain Offset.

Returns
The Reference Domain Offset.

If set, denotes the offset in ticks that must be added to the domain values of the signal for them to be equal to that of the sync source. The sync source will always have an offset of 0. This offset is changed only if the sync source changes and should be kept at 0 otherwise, allowing clients to differentiate between data loss and resync events. Any device can choose to always keep the offset at 0, representing changes in the offset in the domain packet values instead. This implementation prevents clients from differentiating between errors (data loss) and resync events. Additionally, if the offset is not configured, clients have no way of detecting a resync event in the case of asynchronous signals.

◆ getReferenceTimeSource()

daq::TimeSource getReferenceTimeSource ( ) const
inline

Gets the value that indicates the Reference Time Source.

Returns
The value that indicates the Reference Time Source.

If not set to Unknown, the domain quantity is “time”, and the timestamps are absolute according to the chosen time standard. The possible values are Gps, Tai, and Utc. This field is used to determine if two signals with different Domain IDs can be read together. Signals that have configured a Reference Time Source are trusted to have absolute time stamps that correlate to the chosen time standard (eg. two separate PTP networks, both driven through GPS can be read together, as their absolute time is the same).

◆ getUsesOffset()

daq::UsesOffset getUsesOffset ( ) const
inline

Gets the value that indicates if offset is used.

Returns
The value that indicates if offset is used.

If False, a device will contain time jumps due to resync in the domain signal data.

◆ setReferenceDomainId()

ReferenceDomainInfoBuilderPtr setReferenceDomainId ( const daq::StringPtr &  referenceDomainId) const
inline

Sets the Reference Domain ID.

Parameters
referenceDomainIdThe Reference Domain ID.

If set, gives the common identifier of one domain group. Signals with the same Reference Domain ID share a common synchronization source (all the signals in a group either come from the same device or are synchronized using a protocol, such as PTP, NTP, IRIG, etc.). Those signals can always be read together, implying that a Multi Reader can be used to read the signals if their sampling rates are compatible.

◆ setReferenceDomainOffset()

ReferenceDomainInfoBuilderPtr setReferenceDomainOffset ( const daq::IntegerPtr &  referenceDomainOffset) const
inline

Sets the Reference Domain Offset.

Parameters
referenceDomainOffsetThe Reference Domain Offset.

If set, denotes the offset in ticks that must be added to the domain values of the signal for them to be equal to that of the sync source. The sync source will always have an offset of 0. This offset is changed only if the sync source changes and should be kept at 0 otherwise, allowing clients to differentiate between data loss and resync events. Any device can choose to always keep the offset at 0, representing changes in the offset in the domain packet values instead. This implementation prevents clients from differentiating between errors (data loss) and resync events. Additionally, if the offset is not configured, clients have no way of detecting a resync event in the case of asynchronous signals.

◆ setReferenceTimeSource()

ReferenceDomainInfoBuilderPtr setReferenceTimeSource ( daq::TimeSource  referenceTimeSource) const
inline

Sets the value that indicates the Reference Time Source.

Parameters
referenceTimeSourceThe value that indicates the Reference Time Source.

If not set to Unknown, the domain quantity is “time”, and the timestamps are absolute according to the chosen time standard. The possible values are Gps, Tai, and Utc. This field is used to determine if two signals with different Domain IDs can be read together. Signals that have configured a Reference Time Source are trusted to have absolute time stamps that correlate to the chosen time standard (eg. two separate PTP networks, both driven through GPS can be read together, as their absolute time is the same).

◆ setUsesOffset()

ReferenceDomainInfoBuilderPtr setUsesOffset ( daq::UsesOffset  usesOffset) const
inline

Sets the value that indicates if offset is used.

Parameters
[out]usesOffsetThe value that indicates if offset is used.

If False, a device will contain time jumps due to resync in the domain signal data.