IStripe.h
Go to the documentation of this file.
1 #ifndef WIRECELL_ISTRIPE
2 #define WIRECELL_ISTRIPE
3 
4 #include "WireCellIface/IData.h"
6 #include "WireCellUtil/Point.h"
7 #include "WireCellUtil/Units.h"
8 
9 #include <vector>
10 
11 namespace WireCell {
12 
13  /** An interface to information about a "stripe" of channels.
14  *
15  * A stripe is an ordered and "contiguous" set of channels.
16  *
17  * Order and conent of the set of channels is application
18  * dependent. Typically, and why this interface is named as
19  * "stripe", the set will consist of the channels that are
20  * attached to wires (and as always it means wire segments) that
21  * when taken together form a contiguous strip on the faces of the
22  * anode plane. For wrapped wire planes the strip is like that of
23  * a flattened helix. For unwrapped wire planes one might better
24  * call this a "strip" (and indeed "strip" used in the context of
25  * IBlob to refer to a contiguous region on a single face).
26  */
27  class IStripe : public IData<IStripe> {
28  public:
29 
30  virtual ~IStripe() ;
31 
32  typedef float value_t;
33 
34  /// A sample is a channel's value in the time slice.
35  typedef std::pair<IChannel::pointer, value_t> pair_t;
36  typedef std::vector<pair_t> vector_t;
37 
38  /// An identifier for this stripe.
39  virtual int ident() const = 0;
40 
41  /// the contiguous, ordered, per channel values.
42  virtual vector_t values() const = 0;
43 
44  };
45 
46 
47 }
48 
49 #endif
virtual vector_t values() const =0
the contiguous, ordered, per channel values.
std::vector< pair_t > vector_t
Definition: IStripe.h:36
Definition: Main.h:22
virtual int ident() const =0
An identifier for this stripe.
std::pair< IChannel::pointer, value_t > pair_t
A sample is a channel&#39;s value in the time slice.
Definition: IStripe.h:35