QualityControl  1.5.1
O2 Data Quality Control Framework
CheckInterface.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_CHECKINTERFACE_H
17 #define QC_CHECKER_CHECKINTERFACE_H
18 
19 #include <unordered_map>
20 
22 #include "QualityControl/Quality.h"
23 
24 using namespace o2::quality_control::core;
25 
27 {
28 
33 {
34  public:
36  CheckInterface() = default;
38  virtual ~CheckInterface() = default;
39 
46  virtual void configure(std::string name) = 0;
47 
52  virtual Quality check(std::map<std::string, std::shared_ptr<MonitorObject>>* moMap) = 0;
53 
63  virtual void beautify(std::shared_ptr<MonitorObject> mo, Quality checkResult = Quality::Null) = 0;
64 
73  virtual std::string getAcceptedType();
74 
75  bool isObjectCheckable(const std::shared_ptr<MonitorObject> mo);
76  bool isObjectCheckable(const MonitorObject* mo);
77 
78  void setCustomParameters(const std::unordered_map<std::string, std::string>& parameters);
79 
80  protected:
81  std::unordered_map<std::string, std::string> mCustomParameters;
82 
83  ClassDef(CheckInterface, 2)
84 };
85 
86 } // namespace o2::quality_control::checker
87 
88 #endif /* QC_CHECKER_CHECKINTERFACE_H */
Definition: Aggregator.h:32
Class representing the quality of a MonitorObject.
Definition: Quality.h:29
Skeleton of a check.
Definition: CheckInterface.h:32
These methods can be used to build a complex processing topology. It spawns 3 separate dummy processi...
Definition: Activity.h:19
This class keeps the meta data about one published object.
Definition: MonitorObject.h:41