LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
RangeSetHandler.h
Go to the documentation of this file.
1 #ifndef art_Framework_Principal_RangeSetHandler_h
2 #define art_Framework_Principal_RangeSetHandler_h
3 
5 #include <memory>
6 
7 namespace art {
8 
9  class EventID;
10  class SubRunID;
11 
13  public:
14  virtual ~RangeSetHandler() noexcept = default;
15 
16  RangeSet
17  seenRanges() const
18  {
19  return do_getSeenRanges();
20  }
21 
22  void
23  update(EventID const& id, bool const lastInSubRun)
24  {
25  do_update(id, lastInSubRun);
26  }
27 
28  void
30  {
32  }
33  void
35  {
37  }
38  void
40  {
41  do_rebase();
42  }
43 
44  private:
45  virtual RangeSet do_getSeenRanges() const = 0;
46 
47  virtual void do_update(EventID const&, bool lastInSubRun) = 0;
48  virtual void do_flushRanges() = 0;
49  virtual void do_maybeSplitRange() = 0;
50  virtual void do_rebase() = 0;
51  };
52 }
53 
54 #endif /* art_Framework_Principal_RangeSetHandler_h */
55 
56 // Local variables:
57 // mode: c++
58 // End:
virtual ~RangeSetHandler() noexcept=default
void update(EventID const &id, bool const lastInSubRun)
RangeSet seenRanges() const
virtual void do_maybeSplitRange()=0
HLT enums.
virtual void do_update(EventID const &, bool lastInSubRun)=0
virtual void do_rebase()=0
virtual void do_flushRanges()=0
virtual RangeSet do_getSeenRanges() const =0