LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
SimpleChannelStatusService.h
Go to the documentation of this file.
1 
11 #ifndef SIMPLECHANNELFILTERSERVICE_H
12 #define SIMPLECHANNELFILTERSERVICE_H
13 
14 // LArSoft libraries
16 #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 namespace lariov {
27 
47  class SimpleChannelStatusService : public ChannelStatusService {
48  public:
51 
52  private:
53  virtual ChannelStatusProvider const& DoGetProvider() const override
54  {
55  return *DoGetProviderPtr();
56  }
57  virtual ChannelStatusProvider const* DoGetProviderPtr() const override
58  {
59  return fProvider.get();
60  }
61 
63  void UpdateChannelRange();
64 
66  void postBeginRun(art::Run const& run);
67 
68  std::unique_ptr<SimpleChannelStatus> fProvider;
69 
70  }; // class SimpleChannelStatusService
71 
72 } // namespace lariov
73 
75  lariov::ChannelStatusService,
76  LEGACY)
77 
78 #endif // SIMPLECHANNELFILTERSERVICE_H
virtual ChannelStatusProvider const * DoGetProviderPtr() const override
Definition: Run.h:37
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.
Definition: MVAAlg.h:12
std::unique_ptr< SimpleChannelStatus > fProvider
#define DECLARE_ART_SERVICE_INTERFACE_IMPL(svc, iface, scope)