All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LazyFrameSource.h
Go to the documentation of this file.
1 /** A WCT component which is a source of frames which it produces
2  * by also being an art::Event visitor.
3  *
4  * Lazy means that there is a delay between conversion of the short
5  * int samples of the raw::RawDigit and the float samples of
6  * IFrame/ITrace. This can help memory usage if a subset of the
7  * frame is processed serially.
8  */
9 
10 #ifndef LARWIRECELL_COMPONENTS_LAZYFRAMESOURCE
11 #define LARWIRECELL_COMPONENTS_LAZYFRAMESOURCE
12 
14 #include "WireCellIface/IFrameSource.h"
15 #include "WireCellIface/IConfigurable.h"
16 
17 #include "canvas/Utilities/InputTag.h"
18 
19 #include <string>
20 #include <vector>
21 #include <deque>
22 
23 namespace wcls {
25  public WireCell::IFrameSource,
26  public WireCell::IConfigurable {
27  public:
29  virtual ~LazyFrameSource();
30 
31  /// IArtEventVisitor
32  virtual void visit(art::Event & event);
33 
34  /// IFrameSource
35  virtual bool operator()(WireCell::IFrame::pointer& frame);
36 
37  /// IConfigurable
38  virtual WireCell::Configuration default_configuration() const;
39  virtual void configure(const WireCell::Configuration& config);
40 
41  private:
42  std::deque<WireCell::IFrame::pointer> m_frames;
43  art::InputTag m_inputTag;
44  double m_tick;
45  int m_nticks;
46  std::vector<std::string> m_frame_tags;
47 
48  };
49 
50 }
51 
52 #endif
virtual void configure(const WireCell::Configuration &config)
virtual bool operator()(WireCell::IFrame::pointer &frame)
IFrameSource.
virtual WireCell::Configuration default_configuration() const
IConfigurable.
virtual void visit(art::Event &event)
IArtEventVisitor.
std::deque< WireCell::IFrame::pointer > m_frames
art::InputTag m_inputTag
std::vector< std::string > m_frame_tags