WireSummary.h
Go to the documentation of this file.
1 #ifndef WIRECELL_WIRESUMMARY
2 #define WIRECELL_WIRESUMMARY
3 
5 
6 namespace WireCell {
7 
8  /** Default WireSummary which is also a wire sink and a wire sequence.
9  */
10  class WireSummary : public IWireSummary
11  {
12  public:
13  WireSummary(const IWire::vector& wires);
14  virtual ~WireSummary();
15 
16  /// Return the bounding box of the wire planes.
17  virtual const BoundingBox& box() const;
18 
19  /// Return the closest wire along the pitch direction to the
20  /// given point in the given wire plane. It is assumed the
21  /// point is in the (Y-Z) bounding box of the wire plane.
22  virtual IWire::pointer closest(const Point& point, WirePlaneId wpid) const;
23 
24  /// Return a pair of adjacent wires from the given plane which
25  /// bound the given point along the pitch direction. The pair
26  /// is ordered by increasing wire index number. If one or
27  /// both sides of the point are unbound by wire (segments) the
28  /// associated pointer will be zero. It is assumed the point
29  /// is in the (Y-Z) bounding box of the wire plane.
30  virtual IWirePair bounding_wires(const Point& point, WirePlaneId wpid) const;
31 
32  /// Return the distance along the pitch of the given wire
33  /// plane to the given point as measured from the zeroth wire.
34  virtual double pitch_distance(const Point& point, WirePlaneId wpid) const;
35 
36  /// Return a unit vector along the direction of the pitch.
37  virtual const Vector& pitch_direction(WirePlaneId wpid) const;
38 
39  virtual IWire::vector by_channel(int channel) const;
40 
41  private:
44 
45  };
46 }
47 
48 #endif
virtual const Vector & pitch_direction(WirePlaneId wpid) const
Return a unit vector along the direction of the pitch.
virtual IWire::pointer closest(const Point &point, WirePlaneId wpid) const
std::shared_ptr< const IWire > pointer
Definition: IData.h:19
std::vector< pointer > vector
Definition: IData.h:21
virtual IWirePair bounding_wires(const Point &point, WirePlaneId wpid) const
WireSummary(const IWire::vector &wires)
virtual IWire::vector by_channel(int channel) const
Return all wires, in order of segment number, attached to the channel.
std::pair< IWire::pointer, IWire::pointer > IWirePair
Some common collections.
Definition: IWire.h:55
WireSummaryCache * m_cache
Definition: WireSummary.h:42
virtual const BoundingBox & box() const
Return the bounding box of the wire planes.
Definition: Main.h:22
virtual double pitch_distance(const Point &point, WirePlaneId wpid) const