Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
art
Framework
Core
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
5
#include "
art/Framework/Core/ProductRegistryHelper.h
"
6
#include "
art/Framework/Principal/fwd.h
"
7
#include "
art/Framework/Services/Registry/ServiceMacros.h
"
8
#include "
art/Framework/Services/Registry/ServiceTable.h
"
9
#include "
art/Persistency/Provenance/ModuleContext.h
"
10
11
namespace
art
{
12
13
class
ModuleDescription;
14
class
ProducingServiceSignals;
15
16
class
ProducingService
:
private
ProductRegistryHelper
{
17
public
:
18
static
constexpr
bool
service_handle_allowed
{
false
};
19
20
virtual
~ProducingService
() noexcept;
21
22
using
ProductRegistryHelper::produces
;
23
using
ProductRegistryHelper::registerProducts
;
24
void
setModuleDescription
(
ModuleDescription
const
&);
25
void
registerCallbacks
(
ProducingServiceSignals
&);
26
27
// The signal handlers to register.
28
void
doPostReadRun
(
RunPrincipal
&);
29
void
doPostReadSubRun
(
SubRunPrincipal
&);
30
void
doPostReadEvent
(
EventPrincipal
&);
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.
41
ModuleContext
mc_
{
ModuleContext::invalid
()};
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:
art::SubRun
Definition:
SubRun.h:27
art::ProducingService::~ProducingService
virtual ~ProducingService() noexcept
art::RunPrincipal
Definition:
RunPrincipal.h:17
art::ProducingService::doPostReadSubRun
void doPostReadSubRun(SubRunPrincipal &)
art::ProducingService::doPostReadEvent
void doPostReadEvent(EventPrincipal &)
art::ProductRegistryHelper::produces
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
Definition:
ProductRegistryHelper.h:104
art::ProducingService::postReadRun
virtual void postReadRun(Run &)
art::ProductRegistryHelper
Definition:
ProductRegistryHelper.h:44
art::ProducingService
Definition:
ProducingService.h:16
art::ProducingService::service_handle_allowed
static constexpr bool service_handle_allowed
Definition:
ProducingService.h:18
art::Run
Definition:
Run.h:21
art::ModuleContext
Definition:
ModuleContext.h:8
art::ProductRegistryHelper::registerProducts
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
ModuleContext.h
art::ProducingService::postReadSubRun
virtual void postReadSubRun(SubRun &)
art::SubRunPrincipal
Definition:
SubRunPrincipal.h:17
art::ProducingService::setModuleDescription
void setModuleDescription(ModuleDescription const &)
ServiceMacros.h
art::Event
Definition:
Event.h:40
ServiceTable.h
fwd.h
art::EventPrincipal
Definition:
EventPrincipal.h:18
art::ProducingService::mc_
ModuleContext mc_
Definition:
ProducingService.h:41
art
Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file...
Definition:
FillParentInfo.h:8
art::ProducingService::registerCallbacks
void registerCallbacks(ProducingServiceSignals &)
art::ProducingServiceSignals
Definition:
ProducingServiceSignals.h:33
art::ProducingService::doPostReadRun
void doPostReadRun(RunPrincipal &)
ProductRegistryHelper.h
art::ModuleDescription
Definition:
ModuleDescription.h:14
art::ModuleContext::invalid
static ModuleContext invalid()
Definition:
ModuleContext.h:22
art::ProducingService::postReadEvent
virtual void postReadEvent(Event &)
Generated on Wed Apr 14 2021 14:10:47 for NOvA by
1.8.11