All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ElectronLifetimeService.h
Go to the documentation of this file.
1 #ifndef ELECTRONLIFETIMESERVICE_H
2 #define ELECTRONLIFETIMESERVICE_H
3 
5 #include "art/Framework/Services/Registry/ServiceDeclarationMacros.h"
6 
7 //forward declarations
8 namespace lariov {
9  class ElectronLifetimeProvider;
10 }
11 
12 namespace lariov {
13 
15 
16  public:
18 
19  virtual ~ElectronLifetimeService() = default;
20 
21  //retrieve provider
23  return this->DoGetProvider();
24  }
25 
27  return &DoGetProvider();
28  }
29 
30  private:
31 
32  virtual const ElectronLifetimeProvider& DoGetProvider() const = 0;
33  };
34 }//end namespace lariov
35 
36 DECLARE_ART_SERVICE_INTERFACE(lariov::ElectronLifetimeService, LEGACY)
37 
38 #endif
Utilities related to art service access.
virtual ~ElectronLifetimeService()=default
virtual const ElectronLifetimeProvider & DoGetProvider() const =0
const ElectronLifetimeProvider & GetProvider() const
ElectronLifetimeProvider const * provider() const