![]() |
Project
|
the main header struct More...
#include <DataHeader.h>
Inherits o2::header::BaseHeader.
Public Types | |
using | SubSpecificationType = uint32_t |
using | SplitPayloadIndexType = uint32_t |
using | SplitPayloadPartsType = uint32_t |
using | PayloadSizeType = uint64_t |
using | TForbitType = uint32_t |
using | TFCounterType = uint32_t |
using | RunNumberType = uint32_t |
Public Member Functions | |
constexpr | DataHeader () |
constexpr | DataHeader (DataDescription desc, DataOrigin origin, SubSpecificationType subspec, PayloadSizeType size=0) |
constexpr | DataHeader (DataDescription desc, DataOrigin origin, SubSpecificationType subspec, PayloadSizeType size, SplitPayloadIndexType partIndex, SplitPayloadPartsType parts) |
DataHeader (const DataHeader &)=default | |
DataHeader & | operator= (const DataHeader &)=default |
bool | operator== (const DataHeader &) const |
bool | operator== (const DataOrigin &) const |
bool | operator== (const DataDescription &) const |
bool | operator== (const SerializationMethod &) const |
![]() | |
BaseHeader ()=delete | |
dont construct directly | |
BaseHeader (const BaseHeader &)=default | |
constexpr | BaseHeader (uint32_t mySize, HeaderType desc, SerializationMethod ser, uint32_t version) |
Special ctor for initialization in derived types. | |
constexpr uint32_t | size () const noexcept |
const std::byte * | data () const noexcept |
const BaseHeader * | next () const noexcept |
get the next header if any (const version) | |
BaseHeader * | next () noexcept |
get the next header if any (non-const version) | |
bool | sanityCheck (uint32_t expectedVersion) const |
void | throwInconsistentStackError () const |
Static Public Member Functions | |
static const DataHeader * | Get (const BaseHeader *baseHeader) |
![]() | |
static const BaseHeader * | get (const std::byte *b, size_t=0) |
access header in buffer | |
static BaseHeader * | get (std::byte *b, size_t=0) |
access header in buffer | |
Static Public Attributes | |
static constexpr uint32_t | sVersion {3} |
static constexpr o2::header::HeaderType | sHeaderType {String2<uint64_t>("DataHead")} |
static constexpr o2::header::SerializationMethod | sSerializationMethod {gSerializationMethodNone} |
![]() | |
static constexpr uint32_t | sMagicString {String2<uint32_t>("O2O2")} |
static const uint32_t | sVersion = o2::header::gInvalidToken32 |
static const o2::header::HeaderType | sHeaderType = o2::header::gInvalidToken64 |
static const o2::header::SerializationMethod | sSerializationMethod = o2::header::gInvalidToken64 |
the main header struct
The main O2 data header struct. All messages should have it, preferably at the beginning of the header stack. It contains the fields that describe the buffer size, data type, origin and serialization method used to construct the buffer. The member subSpecification might be defined differently for each type/origin, interpretation of this field is up to the specific subsystem involved.
Definition at line 618 of file DataHeader.h.
using o2::header::DataHeader::PayloadSizeType = uint64_t |
Definition at line 623 of file DataHeader.h.
using o2::header::DataHeader::RunNumberType = uint32_t |
Definition at line 626 of file DataHeader.h.
using o2::header::DataHeader::SplitPayloadIndexType = uint32_t |
Definition at line 621 of file DataHeader.h.
using o2::header::DataHeader::SplitPayloadPartsType = uint32_t |
Definition at line 622 of file DataHeader.h.
using o2::header::DataHeader::SubSpecificationType = uint32_t |
Definition at line 620 of file DataHeader.h.
using o2::header::DataHeader::TFCounterType = uint32_t |
Definition at line 625 of file DataHeader.h.
using o2::header::DataHeader::TForbitType = uint32_t |
Definition at line 624 of file DataHeader.h.
|
inlineconstexpr |
Definition at line 688 of file DataHeader.h.
|
inlineexplicitconstexpr |
Definition at line 704 of file DataHeader.h.
|
inlineexplicitconstexpr |
Definition at line 720 of file DataHeader.h.
|
default |
|
inlinestatic |
Definition at line 743 of file DataHeader.h.
|
default |
bool o2::header::DataHeader::operator== | ( | const DataDescription & | that | ) | const |
Definition at line 63 of file DataHeader.cxx.
bool o2::header::DataHeader::operator== | ( | const DataHeader & | that | ) | const |
Definition at line 79 of file DataHeader.cxx.
bool o2::header::DataHeader::operator== | ( | const DataOrigin & | that | ) | const |
Definition at line 56 of file DataHeader.cxx.
bool o2::header::DataHeader::operator== | ( | const SerializationMethod & | that | ) | const |
Definition at line 72 of file DataHeader.cxx.
DataDescription o2::header::DataHeader::dataDescription |
data type descriptor
Definition at line 636 of file DataHeader.h.
DataOrigin o2::header::DataHeader::dataOrigin |
origin of the data (originating detector)
Definition at line 641 of file DataHeader.h.
TForbitType o2::header::DataHeader::firstTForbit |
first orbit of time frame, since v2
Definition at line 674 of file DataHeader.h.
SerializationMethod o2::header::DataHeader::payloadSerializationMethod = SerializationMethod(gInvalidToken64) |
serialization method
Definition at line 651 of file DataHeader.h.
PayloadSizeType o2::header::DataHeader::payloadSize |
size of the associated data buffer
Definition at line 666 of file DataHeader.h.
RunNumberType o2::header::DataHeader::runNumber |
run number TF belongs to, since v3
Definition at line 684 of file DataHeader.h.
|
staticconstexpr |
Definition at line 630 of file DataHeader.h.
SplitPayloadIndexType o2::header::DataHeader::splitPayloadIndex = 0 |
index of the split payload
Definition at line 661 of file DataHeader.h.
SplitPayloadPartsType o2::header::DataHeader::splitPayloadParts = 0 |
How many split payloads in total
Definition at line 646 of file DataHeader.h.
|
staticconstexpr |
Definition at line 631 of file DataHeader.h.
SubSpecificationType o2::header::DataHeader::subSpecification |
sub specification (e.g. link number)
Definition at line 656 of file DataHeader.h.
|
staticconstexpr |
Definition at line 629 of file DataHeader.h.
TFCounterType o2::header::DataHeader::tfCounter |
ever incrementing TF counter, allows to disentangle even TFs with same firstTForbit in case of replay, since v3
Definition at line 679 of file DataHeader.h.