IDrifter.h
Go to the documentation of this file.
1 #ifndef WIRECELL_IDRIFTER
2 #define WIRECELL_IDRIFTER
3 
5 #include "WireCellIface/IDepo.h"
6 
7 namespace WireCell {
8 
9  /** A drifter takes in depositions at one location and drifts them
10  * to another location subject to a drift velocity. Drifters may
11  * assume their input is time ordered and must assure the output
12  * remains time-ordered (regardless of what time/space mixing may
13  * occur). In general, it means the drifter must buffer some
14  * number of depositions to assure it's seen "enough" to determine
15  * that its earliest drifted deposition will not superseded by any
16  * subsequent ones.
17  */
18  class IDrifter : public IQueuedoutNode<IDepo, IDepo>
19  {
20  public:
21  typedef std::shared_ptr<IDrifter> pointer;
22 
23  virtual ~IDrifter() ;
24 
25  virtual std::string signature() {
26  return typeid(IDrifter).name();
27  }
28 
29  /// supply:
30  // virtual bool operator()(const input_pointer& in, output_queue& outq) = 0;
31 
32 
33  };
34 }
35 
36 
37 #endif
static QCString name
Definition: declinfo.cpp:673
virtual std::string signature()
Definition: IDrifter.h:25
std::string string
Definition: nybbler.cc:12
Definition: Main.h:22
std::shared_ptr< IDrifter > pointer
Definition: IDrifter.h:21