QualityControl  1.5.1
O2 Data Quality Control Framework
PostProcessingInterface.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 QUALITYCONTROL_POSTPROCESSINTERFACE_H
17 #define QUALITYCONTROL_POSTPROCESSINTERFACE_H
18 
19 #include <string>
20 #include <Framework/ServiceRegistry.h>
21 #include <boost/property_tree/ptree_fwd.hpp>
24 
26 {
27 
36 {
37  public:
38  PostProcessingInterface() = default;
39  virtual ~PostProcessingInterface() = default;
40 
45  virtual void configure(std::string name, const boost::property_tree::ptree& config);
46 
52  virtual void initialize(Trigger trigger, framework::ServiceRegistry& services) = 0;
58  virtual void update(Trigger trigger, framework::ServiceRegistry& services) = 0;
64  virtual void finalize(Trigger trigger, framework::ServiceRegistry& services) = 0;
65 
66  void setObjectsManager(std::shared_ptr<core::ObjectsManager> objectsManager);
67  void setName(const std::string& name);
68  std::string getName() const;
69 
70  protected:
71  std::shared_ptr<core::ObjectsManager> getObjectsManager();
72 
73  private:
74  std::string mName;
75  std::shared_ptr<core::ObjectsManager> mObjectsManager;
76 };
77 
78 } // namespace o2::quality_control::postprocessing
79 
80 #endif //QUALITYCONTROL_POSTPROCESSINTERFACE_H
virtual void update(Trigger trigger, framework::ServiceRegistry &services)=0
Update of a post-processing task. Update of a post-processing task. User receives a Trigger which cau...
Skeleton of a post-processing task.
Definition: PostProcessingInterface.h:35
virtual void finalize(Trigger trigger, framework::ServiceRegistry &services)=0
Finalization of a post-processing task. Finalization of a post-processing task. User receives a Trigg...
Definition: PostProcessingConfig.h:23
virtual void initialize(Trigger trigger, framework::ServiceRegistry &services)=0
Initialization of a post-processing task. Initialization of a post-processing task. User receives a Trigger which caused the initialization and a service registry with singleton interfaces.
virtual void configure(std::string name, const boost::property_tree::ptree &config)
Configuration of a post-processing task. Configuration of a post-processing task. Can be overridden i...
Definition: PostProcessingInterface.cxx:28