20#include <fairmq/Device.h>
36 .outputs = {
OutputSpec{{
"data"},
"TST",
"A1", 0}},
39 LOG(info) <<
"Data TST/A1/0 created";
45 .outputs = {
OutputSpec{{
"sporadic"},
"TST",
"B1", 0, Lifetime::Sporadic}},
55 LOG(info) <<
"Data TST/B1/0 created";
62 .inputs = {
InputSpec{
"a1",
"TST",
"A1", 0, Lifetime::Timeframe},
63 InputSpec{
"b1",
"TST",
"B1", 0, Lifetime::Sporadic}},
66 auto refA = inputs.
get(
"a1");
67 auto headerA = o2::header::get<const DataProcessingHeader*>(refA.header);
68 LOG(info) <<
"Start time: " << headerA->startTime;
69 auto refB = inputs.
get(
"b1");
71 LOG(info) <<
"No sporadic input for start time " << headerA->startTime;
74 auto headerB = o2::header::get<const DataProcessingHeader*>(refB.header);
75 LOG(info) <<
"Start time: " << headerB->startTime;
decltype(auto) make(const Output &spec, Args... args)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
WorkflowSpec concat(T &&t, ARGS &&... args)
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
AlgorithmSpec::ProcessCallback adaptStateless(LAMBDA l)
WorkflowSpec defineDataProcessing(ConfigContext const &specs)
This function hooks up the the workflow specifications into the DPL driver.
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"