ProducingService.h
Go to the documentation of this file.
1 #ifndef art_Framework_Core_ProducingService_h
2 #define art_Framework_Core_ProducingService_h
3 // vim: set sw=2 expandtab :
4 
10 
11 namespace art {
12 
13  class ModuleDescription;
14  class ProducingServiceSignals;
15 
17  public:
18  static constexpr bool service_handle_allowed{false};
19 
20  virtual ~ProducingService() noexcept;
21 
26 
27  // The signal handlers to register.
31 
32  private:
33  // Derived classes can implement these.
34  virtual void postReadRun(Run&);
35  virtual void postReadSubRun(SubRun&);
36  virtual void postReadEvent(Event&);
37 
38  // The fake module description/context created by the service mgr
39  // which contains the service_type as the module label. We must
40  // copy it because it has no permanent existence.
42  };
43 
44 } // namespace art
45 
46 #define DEFINE_ART_PRODUCING_SERVICE(klass) \
47  DECLARE_ART_SERVICE(klass, SHARED) \
48  DEFINE_ART_SERVICE(klass)
49 
50 #endif /* art_Framework_Core_ProducingService_h */
51 
52 // Local Variables:
53 // mode: c++
54 // End:
virtual ~ProducingService() noexcept
void doPostReadSubRun(SubRunPrincipal &)
void doPostReadEvent(EventPrincipal &)
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
virtual void postReadRun(Run &)
static constexpr bool service_handle_allowed
Definition: Run.h:21
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
virtual void postReadSubRun(SubRun &)
void setModuleDescription(ModuleDescription const &)
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition: FillParentInfo.h:8
void registerCallbacks(ProducingServiceSignals &)
void doPostReadRun(RunPrincipal &)
static ModuleContext invalid()
Definition: ModuleContext.h:22
virtual void postReadEvent(Event &)