12#ifndef O2_FRAMEWORK_O2DATAMODELHELPERS_H_
13#define O2_FRAMEWORK_O2DATAMODELHELPERS_H_
16#include <fairmq/Parts.h>
31 while (
i < parts.Size()) {
32 auto* dh = o2::header::get<o2::header::DataHeader*>(parts.At(
i)->GetData());
36 i += 1 + (dh->splitPayloadParts ? dh->splitPayloadParts : 1);
45 while (
i < parts.Size()) {
46 auto* dh = o2::header::get<o2::header::DataHeader*>(parts.At(
i)->GetData());
52 i += 1 + (dh->splitPayloadParts ? dh->splitPayloadParts : 1);
62 while (
i < parts.Size()) {
63 auto* dh = o2::header::get<o2::header::DataHeader*>(parts.At(
i)->GetData());
69 i += 1 + (dh->splitPayloadParts ? dh->splitPayloadParts : 1);
73 static void updateMissingSporadic(fair::mq::Parts& parts, std::vector<OutputSpec>
const& specs, std::vector<bool>& present);
76 for (
auto p : present) {
83 static std::string
describeMissingOutputs(std::vector<OutputSpec>
const& specs, std::vector<bool>
const& present);
Defining PrimaryVertex explicitly as messageable.
static void for_each_header(fair::mq::Parts &parts, F &&f)
static bool validateOutputs(std::vector< bool > &present)
static void updateMissingSporadic(fair::mq::Parts &parts, std::vector< OutputSpec > const &specs, std::vector< bool > &present)
static bool any_header_matching(fair::mq::Parts &parts, F &&f)
static std::string describeMissingOutputs(std::vector< OutputSpec > const &specs, std::vector< bool > const &present)
static bool all_headers_matching(fair::mq::Parts &parts, F &&f)