SliceFanout.h
Go to the documentation of this file.
1 #ifndef WIRECELL_IMG_SLICEFANOUT
2 #define WIRECELL_IMG_SLICEFANOUT
3 
6 #include "WireCellUtil/Logging.h"
7 
8 namespace WireCell {
9  namespace Img {
10 
11  // Fan out 1 slice to N set at construction or configuration time.
12  class SliceFanout : public ISliceFanout, public IConfigurable {
13  public:
14  SliceFanout(size_t multiplicity = 0);
15  virtual ~SliceFanout();
16 
17  // INode, override because we get multiplicity at run time.
18  virtual std::vector<std::string> output_types();
19 
20  // IFanout
21  virtual bool operator()(const input_pointer& in, output_vector& outv);
22 
23  // IConfigurable
24  virtual void configure(const WireCell::Configuration& cfg);
26 
27  private:
30  };
31  }
32 }
33 
34 
35 #endif
36 
virtual void configure(const WireCell::Configuration &cfg)
Accept a configuration.
Definition: SliceFanout.cxx:28
virtual WireCell::Configuration default_configuration() const
Optional, override to return a hard-coded default configuration.
Definition: SliceFanout.cxx:21
virtual std::vector< std::string > output_types()
Definition: SliceFanout.cxx:39
cfg
Definition: dbjson.py:29
virtual bool operator()(const input_pointer &in, output_vector &outv)
Definition: SliceFanout.cxx:47
std::vector< output_pointer > output_vector
Definition: IFanoutNode.h:45
SliceFanout(size_t multiplicity=0)
Definition: SliceFanout.cxx:12
std::shared_ptr< spdlog::logger > logptr_t
Definition: Logging.h:24
Definition: Main.h:22
std::shared_ptr< const ISlice > input_pointer
Definition: IFanoutNode.h:43
Json::Value Configuration
Definition: Configuration.h:50