LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
SimpleChannelStatusService.h
Go to the documentation of this file.
1 
12 #ifndef SIMPLECHANNELFILTERSERVICE_H
13 #define SIMPLECHANNELFILTERSERVICE_H
14 
15 // LArSoft libraries
17 #include "larevt/CalibrationDBI/Interface/ChannelStatusService.h"
18 
19 // C/C++ standard libraries
20 #include <memory> //std::unique_ptr<>
21 
22 namespace art {
23  class Run;
24 } // namespace art
25 
26 
27 namespace lariov {
28 
48  class SimpleChannelStatusService: public ChannelStatusService {
49  public:
50 
54 
55 
56  private:
57 
58  virtual ChannelStatusProvider const& DoGetProvider() const override
59  { return *DoGetProviderPtr(); }
60  virtual ChannelStatusProvider const* DoGetProviderPtr() const override
61  { return fProvider.get(); }
62 
64  void UpdateChannelRange();
65 
67  void postBeginRun(art::Run const& run);
68 
69  std::unique_ptr<SimpleChannelStatus> fProvider;
70 
71  }; // class SimpleChannelStatusService
72 
73 
74 } // namespace lariov
75 
77  (lariov::SimpleChannelStatusService, lariov::ChannelStatusService, LEGACY)
78 
79 #endif // SIMPLECHANNELFILTERSERVICE_H
virtual ChannelStatusProvider const * DoGetProviderPtr() const override
Definition: Run.h:30
Service providing information about the quality of channels.
Channel quality provider with information from configuration file.
virtual ChannelStatusProvider const & DoGetProvider() const override
Filters for channels, events, etc.
HLT enums.
std::unique_ptr< SimpleChannelStatus > fProvider
#define DECLARE_ART_SERVICE_INTERFACE_IMPL(svc, iface, scope)