Project
Loading...
Searching...
No Matches
o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION > Class Template Reference

(Default) implementation of Encoder More...

#include <PayloadEncoderImpl.h>

Inherits o2::mch::raw::PayloadEncoder.

Public Types

using ElementaryEncoder = GBTEncoder< FORMAT, CHARGESUM, VERSION >
 

Public Member Functions

 PayloadEncoderImpl (Solar2FeeLinkMapper solar2feelink)
 
void addChannelData (DsElecId dsId, DualSampaChannelId dsChId, const std::vector< SampaCluster > &data) override
 
void startHeartbeatFrame (uint32_t orbit, uint16_t bunchCrossing) override
 
size_t moveToBuffer (std::vector< std::byte > &buffer) override
 
void addHeartbeatHeaders (const std::set< DsElecId > &dsids) override
 
- Public Member Functions inherited from o2::mch::raw::PayloadEncoder
virtual ~PayloadEncoder ()=default
 

Detailed Description

template<typename FORMAT, typename CHARGESUM, int VERSION>
class o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >

(Default) implementation of Encoder

Definition at line 47 of file PayloadEncoderImpl.h.

Member Typedef Documentation

◆ ElementaryEncoder

template<typename FORMAT , typename CHARGESUM , int VERSION>
using o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::ElementaryEncoder = GBTEncoder<FORMAT, CHARGESUM, VERSION>

Definition at line 61 of file PayloadEncoderImpl.h.

Constructor & Destructor Documentation

◆ PayloadEncoderImpl()

template<typename FORMAT , typename CHARGESUM , int VERSION>
o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::PayloadEncoderImpl ( Solar2FeeLinkMapper  solar2feelink)

Definition at line 78 of file PayloadEncoderImpl.h.

Member Function Documentation

◆ addChannelData()

template<typename FORMAT , typename CHARGESUM , int VERSION>
void o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::addChannelData ( DsElecId  dsId,
DualSampaChannelId  chId,
const std::vector< SampaCluster > &  data 
)
overridevirtual

add data for one channel.

Parameters
dsIdis the (electronic) identifier of a dual sampa
chIddual sampa channel id 0..63
datathe actual data to be added

Implements o2::mch::raw::PayloadEncoder.

Definition at line 105 of file PayloadEncoderImpl.h.

◆ addHeartbeatHeaders()

template<typename FORMAT , typename CHARGESUM , int VERSION>
void o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::addHeartbeatHeaders ( const std::set< DsElecId > &  dsids)
overridevirtual

addHeartbeatHeaders generate one hearbeat header for each dual sampa present in the mDsElecIds set. Might be called e.g. at the beginning of each time frame

Implements o2::mch::raw::PayloadEncoder.

Definition at line 168 of file PayloadEncoderImpl.h.

◆ moveToBuffer()

template<typename FORMAT , typename CHARGESUM , int VERSION>
size_t o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::moveToBuffer ( std::vector< std::byte > &  buffer)
overridevirtual

Export our encoded data.

The internal words that have been accumulated so far are moved (i.e. deleted from this object) to the external buffer of bytes Returns the number of bytes added to buffer.

Implements o2::mch::raw::PayloadEncoder.

Definition at line 134 of file PayloadEncoderImpl.h.

◆ startHeartbeatFrame()

template<typename FORMAT , typename CHARGESUM , int VERSION>
void o2::mch::raw::PayloadEncoderImpl< FORMAT, CHARGESUM, VERSION >::startHeartbeatFrame ( uint32_t  orbit,
uint16_t  bunchCrossing 
)
overridevirtual

Implements o2::mch::raw::PayloadEncoder.

Definition at line 150 of file PayloadEncoderImpl.h.


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