IChannel.h
Go to the documentation of this file.
1 /**
2  IChannel embodies static information about a single front end
3  electronics channel to which some number of wire segments in an
4  conductor feeds.
5  */
6 
7 #ifndef WIRECELLIFACE_ICHANNEL
8 #define WIRECELLIFACE_ICHANNEL
9 
10 #include "WireCellIface/IWire.h"
11 #include "WireCellIface/IData.h"
12 
13 namespace WireCell {
14  class IChannel : public IData<IChannel> {
15  public:
16  virtual ~IChannel();
17 
18  /// Detector-dependent, globally unique channel ID number.
19  /// Negative is illegal, not guaranteed consecutive over all
20  /// given channels. This same number may be called simply
21  /// "channel" in other contexts.
22  virtual int ident() const = 0;
23 
24  /// The channel index is the "Wire Attachment Number". The
25  /// WAN counts along points of attachment of the zero'
26  /// zero-segment wires for a wire plane. Note, for detectors
27  /// with wrapped wires this index also wraps. It counts in
28  /// the same direction as the WIP number of IWire::index but
29  /// starts at zero even with wrapped wire detectors.
30  virtual int index() const = 0;
31 
32  /// Wire segments ordered in increasing distance from channel input.
33  virtual const IWire::vector& wires() const = 0;
34 
35  /// The ID of the plane of wire zero. This is just sugar.
36  virtual WirePlaneId planeid() const;
37 
38  };
39 }
40 
41 #endif
virtual int index() const =0
virtual const IWire::vector & wires() const =0
Wire segments ordered in increasing distance from channel input.
virtual int ident() const =0
std::vector< pointer > vector
Definition: IData.h:21
Definition: Main.h:22
virtual ~IChannel()
Definition: IChannel.cxx:5
virtual WirePlaneId planeid() const
The ID of the plane of wire zero. This is just sugar.
Definition: IChannel.cxx:9