Project
Loading...
Searching...
No Matches
o2::tpc::TPCSectorCompletionPolicy Class Reference

#include <TPCSectorCompletionPolicy.h>

Public Types

enum struct  Config { RequireAll }
 
using CompletionPolicyData = std::vector< framework::InputSpec >
 

Public Member Functions

 TPCSectorCompletionPolicy ()=delete
 
template<typename... Args>
 TPCSectorCompletionPolicy (const char *processorName, Args &&... args)
 
o2::framework::CompletionPolicy operator() ()
 

Detailed Description

A helper class providing a DPL completion policy definition for the TPC sector data

The class can be used as a functor creating the CompletionPolicy object based on the parameters provided to the constructor.

TPC data is split on the level of sectors. For processors requiring the full data set like e.g. the tracker, DPL will synchronize complete data sets from the input routes. Multiple O2 messages can be received on one input route, a custom completion policy is needed to define the complete data set. All TPC data except raw data is sent with a specific TPCSectorHeader on the header stack describing the current sector and defining the active sectors in the setup. The completion policy callback will wait until there is data for all active sectors.

If config flag ConFig::RequireAll is specified in the constructor parameters, data from all inputs will be required in addition to the matching TPC sector policy. With this flag, the policy can be used for processors with TPC input and other inputs, without checking for complex multimessages on the other inputs.

Parameters: processor name rexexp to match a name of the processor for which the policy should be applied input matchers provided as an argument pack Note: it is important to use ConcreteDataTypeMatcher to define input spec with wildcard on subSpecification config param Parameters like Config::RequireAll Usage: TPCSectorCompletionPolicy("processor-name-regexp", TPCSectorCompletionPolicy::Config::RequireAll, InputSpec{"", ConcreteDataTypeMatcher{"DET", "RAWDATA"}}, ...)();

Definition at line 69 of file TPCSectorCompletionPolicy.h.

Member Typedef Documentation

◆ CompletionPolicyData

Member Enumeration Documentation

◆ Config

Enumerator
RequireAll 

Definition at line 74 of file TPCSectorCompletionPolicy.h.

Constructor & Destructor Documentation

◆ TPCSectorCompletionPolicy() [1/2]

o2::tpc::TPCSectorCompletionPolicy::TPCSectorCompletionPolicy ( )
delete

◆ TPCSectorCompletionPolicy() [2/2]

template<typename... Args>
o2::tpc::TPCSectorCompletionPolicy::TPCSectorCompletionPolicy ( const char processorName,
Args &&...  args 
)
inline

Definition at line 80 of file TPCSectorCompletionPolicy.h.

Member Function Documentation

◆ operator()()

o2::framework::CompletionPolicy o2::tpc::TPCSectorCompletionPolicy::operator() ( )
inline

Definition at line 86 of file TPCSectorCompletionPolicy.h.


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