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"