QualityControl  1.5.1
O2 Data Quality Control Framework
Aggregator.h
Go to the documentation of this file.
1 // Copyright CERN and copyright holders of ALICE O2. This software is
2 // distributed under the terms of the GNU General Public License v3 (GPL
3 // Version 3), copied verbatim in the file "COPYING".
4 //
5 // See http://alice-o2.web.cern.ch/license for full licensing information.
6 //
7 // In applying this license CERN does not waive the privileges and immunities
8 // granted to it by virtue of its status as an Intergovernmental Organization
9 // or submit itself to any jurisdiction.
10 
15 
16 #ifndef QC_CHECKER_AGGREGATOR_H
17 #define QC_CHECKER_AGGREGATOR_H
18 
19 // std
20 #include <string>
21 // QC
22 #include "QualityControl/QualityObject.h"
24 // config
25 #include <boost/property_tree/ptree_fwd.hpp>
26 
27 namespace o2::configuration
28 {
29 class ConfigurationInterface;
30 }
31 
33 {
34 
35 class AggregatorInterface;
36 
43 {
44  public:
46 
54  Aggregator(const std::string& aggregatorName, const boost::property_tree::ptree& configuration);
55 
59  void init();
60 
61  o2::quality_control::core::QualityObjectsType aggregate(core::QualityObjectsMapType& qoMap);
62 
63  const std::string& getName() const;
64  std::string getPolicyName() const;
65  std::vector<std::string> getObjectsNames() const;
66  bool getAllObjectsOption() const;
67 
68  private:
69  CheckConfig mAggregatorConfig; // we reuse checkConfig, just consider that Check = Aggregator
70  AggregatorInterface* mAggregatorInterface = nullptr;
71 };
72 
73 } // namespace o2::quality_control::checker
74 
75 #endif // QC_CHECKER_AGGREGATOR_H
Skeleton of a quality aggregator user algorithm.
Definition: AggregatorInterface.h:31
Definition: Aggregator.h:32
Definition: Aggregator.h:27
An aggregator as found in the configuration.
Definition: Aggregator.h:42
Container for the configuration of a Check or an Aggregator.
Definition: CheckConfig.h:26