|
28 | 28 | #include <Framework/ServiceRegistryRef.h> |
29 | 29 | // QC |
30 | 30 | #include "QualityControl/TaskRunnerConfig.h" |
| 31 | +#include "QualityControl/ActorTraits.h" |
31 | 32 |
|
32 | 33 | namespace o2::configuration |
33 | 34 | { |
@@ -164,6 +165,27 @@ class TaskRunner : public framework::Task |
164 | 165 | AliceO2::Common::Timer mTimerDurationCycle; |
165 | 166 | }; |
166 | 167 |
|
| 168 | +template <> |
| 169 | +struct ActorTraits<TaskRunner> |
| 170 | +{ |
| 171 | + constexpr static auto sActorTypeShort = "task"; |
| 172 | + constexpr static auto sActorTypeKebabCase = "qc-task"; |
| 173 | + constexpr static auto sActorTypeUpperCamelCase = "TaskRunner"; |
| 174 | + constexpr static size_t sDataDescriptionHashLength = 4; |
| 175 | + |
| 176 | + constexpr static std::array<Service, 3> sRequiredServices = {Service::InfoLogger, Service::Monitoring, Service::Bookkeeping}; |
| 177 | + constexpr static bkp::DplProcessType sDplProcessType{bkp::DplProcessType::QC_TASK}; |
| 178 | + constexpr static std::array<DataSourceType, 2> sConsumedDataSources = {DataSourceType::DataSamplingPolicy, DataSourceType::Direct}; |
| 179 | + constexpr static std::array<DataSourceType, 1> sPublishedDataSources = {DataSourceType::Task}; |
| 180 | + |
| 181 | + constexpr static UserCodeInstanceCardinality sUserCodeInstanceCardinality = UserCodeInstanceCardinality::One; |
| 182 | + constexpr static bool sDetectorSpecific = true; |
| 183 | + constexpr static Criticality sCriticality = Criticality::UserDefined; |
| 184 | +}; |
| 185 | + |
| 186 | +static_assert(ValidActorTraits<ActorTraits<TaskRunner>>); |
| 187 | + |
| 188 | + |
167 | 189 | } // namespace o2::quality_control::core |
168 | 190 |
|
169 | 191 | #endif // QC_CORE_TASKRUNNER_H |
0 commit comments