IAnodePlane.h
Go to the documentation of this file.
1 /**
2  Provides information about an "anode plane" which consists of a
3  number of parallel wire planes as IWirePlane objects.
4 
5  fixme: this has become kind of a kitchen sink.
6 
7  */
8 
9 #ifndef WIRECELLIFACES_IANODEPLANE
10 #define WIRECELLIFACES_IANODEPLANE
11 
14 #include "WireCellIface/IWire.h"
15 #include "WireCellIface/IChannel.h"
17 
18 
19 namespace WireCell {
20 
21  class IAnodePlane : public IComponent<IAnodePlane> {
22  public:
23 
24  virtual ~IAnodePlane();
25 
26  /// Return the ident number of this plane.
27  virtual int ident() const = 0;
28 
29  /// Return number of faces (eg, MicroBooNE=1, DUNE=2)
30  virtual int nfaces() const = 0;
31 
32  /// Return a anode face by its ident number.
33  virtual IAnodeFace::pointer face(int ident) const = 0;
34 
35  /// Return all faces
36  virtual IAnodeFace::vector faces() const = 0;
37 
38  /// Resolve a channel ident number to a WirePlaneId.
39  virtual WirePlaneId resolve(int channel) const = 0;
40 
41  /// Return a collection of all channels.
42  virtual std::vector<int> channels() const = 0;
43 
44  /// Return an IChannel with the associated channel ID.
45  virtual IChannel::pointer channel(int chident) const = 0;
46 
47  /// Return all wires connected into the given channel ident number
48  virtual IWire::vector wires(int chident) const = 0;
49  };
50 
51 }
52 
53 #endif
54 
std::shared_ptr< const IChannel > pointer
Definition: IData.h:19
virtual std::vector< int > channels() const =0
Return a collection of all channels.
virtual IChannel::pointer channel(int chident) const =0
Return an IChannel with the associated channel ID.
std::vector< pointer > vector
Definition: IData.h:21
virtual int ident() const =0
Return the ident number of this plane.
std::vector< pointer > vector
Vector of shared pointers.
Definition: IComponent.h:36
virtual IAnodeFace::pointer face(int ident) const =0
Return a anode face by its ident number.
std::shared_ptr< Interface > pointer
Definition: Interface.h:16
Definition: Main.h:22
virtual IAnodeFace::vector faces() const =0
Return all faces.
virtual WirePlaneId resolve(int channel) const =0
Resolve a channel ident number to a WirePlaneId.
virtual int nfaces() const =0
Return number of faces (eg, MicroBooNE=1, DUNE=2)
virtual IWire::vector wires(int chident) const =0
Return all wires connected into the given channel ident number.