LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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/ServiceDeclarationMacros.h
"
8
#include "
art/Framework/Services/Registry/ServiceDefinitionMacros.h
"
9
#include "
art/Framework/Services/Registry/ServiceTable.h
"
10
#include "
art/Persistency/Provenance/ModuleContext.h
"
11
12
namespace
art
{
13
14
class
ModuleDescription;
15
class
ProducingServiceSignals;
16
17
class
ProducingService
:
private
ProductRegistryHelper
{
18
public
:
19
static
constexpr
bool
service_handle_allowed
{
false
};
20
21
ProducingService
();
22
virtual
~ProducingService
() noexcept;
23
24
using
ProductRegistryHelper::produces
;
25
using
ProductRegistryHelper::registerProducts
;
26
void
setModuleDescription
(
ModuleDescription
const
&);
27
void
registerCallbacks
(
ProducingServiceSignals
&);
28
29
// The signal handlers to register.
30
void
doPostReadRun
(
RunPrincipal
&);
31
void
doPostReadSubRun
(
SubRunPrincipal
&);
32
void
doPostReadEvent
(
EventPrincipal
&);
33
34
private
:
35
// Derived classes can implement these.
36
virtual
void
postReadRun
(
Run
&);
37
virtual
void
postReadSubRun
(
SubRun
&);
38
virtual
void
postReadEvent
(
Event
&);
39
40
// The fake module description/context created by the service mgr
41
// which contains the service_type as the module label. We must
42
// copy it because it has no permanent existence.
43
ModuleContext
mc_
{
ModuleContext::invalid
()};
44
};
45
46
}
// namespace art
47
48
#define DEFINE_ART_PRODUCING_SERVICE(klass) \
49
DECLARE_ART_SERVICE(klass, SHARED) \
50
DEFINE_ART_SERVICE(klass)
51
52
#endif
/* art_Framework_Core_ProducingService_h */
53
54
// Local Variables:
55
// mode: c++
56
// End:
art::SubRun
Definition:
SubRun.h:39
art::ProducingService::postReadEvent
virtual void postReadEvent(Event &)
Definition:
ProducingService.cc:70
art::RunPrincipal
Definition:
RunPrincipal.h:16
art::ProducingService::doPostReadSubRun
void doPostReadSubRun(SubRunPrincipal &)
Definition:
ProducingService.cc:46
art::ProducingService::~ProducingService
virtual ~ProducingService() noexcept
art::ProducingService::doPostReadEvent
void doPostReadEvent(EventPrincipal &)
Definition:
ProducingService.cc:54
art::ProductRegistryHelper::produces
void produces(std::string const &instanceName={}, Persistable const persistable=Persistable::Yes)
Definition:
ProductRegistryHelper.h:100
fwd.h
art::ProductRegistryHelper
Definition:
ProductRegistryHelper.h:39
art::ProducingService
Definition:
ProducingService.h:17
art::ProducingService::service_handle_allowed
static constexpr bool service_handle_allowed
Definition:
ProducingService.h:19
art::Run
Definition:
Run.h:37
ServiceDeclarationMacros.h
art::ModuleContext
Definition:
ModuleContext.h:8
art::ProductRegistryHelper::registerProducts
void registerProducts(ProductDescriptions &productsToRegister, ModuleDescription const &md)
Definition:
ProductRegistryHelper.cc:24
ModuleContext.h
art::SubRunPrincipal
Definition:
SubRunPrincipal.h:16
art::ProducingService::setModuleDescription
void setModuleDescription(ModuleDescription const &)
Definition:
ProducingService.cc:21
art::ProducingService::postReadRun
virtual void postReadRun(Run &)
Definition:
ProducingService.cc:62
ServiceTable.h
art::Event
Definition:
Event.h:26
art::EventPrincipal
Definition:
EventPrincipal.h:17
art::ProducingService::mc_
ModuleContext mc_
Definition:
ProducingService.h:43
ServiceDefinitionMacros.h
art
Definition:
MVAAlg.h:12
art::ProducingService::registerCallbacks
void registerCallbacks(ProducingServiceSignals &)
Definition:
ProducingService.cc:30
art::ProducingServiceSignals
Definition:
ProducingServiceSignals.h:33
art::ProducingService::doPostReadRun
void doPostReadRun(RunPrincipal &)
Definition:
ProducingService.cc:38
ProductRegistryHelper.h
art::ModuleDescription
Definition:
ModuleDescription.h:14
art::ProducingService::postReadSubRun
virtual void postReadSubRun(SubRun &)
Definition:
ProducingService.cc:66
art::ModuleContext::invalid
static ModuleContext invalid()
Definition:
ModuleContext.h:22
art::ProducingService::ProducingService
ProducingService()
Definition:
ProducingService.cc:15
art
Framework
Core
ProducingService.h
Generated on Thu May 2 2024 20:59:29 for LArSoft by
1.8.11