16 const Point&
a = bbray.first;
17 const Point&
b = bbray.second;
20 Point ll(0.0, a.y(), a.z());
21 Point lr(0.0, a.y(), b.z());
22 Point ul(0.0, b.y(), a.z());
23 Point ur(0.0, b.y(), b.z());
37 for (
const auto& plane : planes) {
38 const auto& wires = plane->wires();
39 const auto wray0 = wires[0]->ray();
40 const auto wray1 = wires[1]->ray();
41 const auto pitray =
ray_pitch(wray0, wray1);
43 Ray r1(wray0.first - 0.5*pitvec, wray0.second - 0.5*pitvec);
44 Ray r2(wray0.first + 0.5*pitvec, wray0.second + 0.5*pitvec);
std::pair< Point, Point > Ray
A line segment running from a first (tail) to a second (head) point.
D3Vector< double > Point
A 3D Cartesian point in double precision.
static ray_pair_vector_t get_raypairs(const BoundingBox &bb, const IWirePlane::vector &planes)
std::vector< pointer > vector
Vector of shared pointers.
AnodeFace(int ident, IWirePlane::vector planes, const BoundingBox &sensvol)
std::shared_ptr< Interface > pointer
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
std::vector< ray_pair_t > ray_pair_vector_t
Ray ray_pitch(const Ray &ray1, const Ray &ray2)
virtual int ident() const
Return the ident number of this face.
Vector ray_vector(const Ray &ray)
std::pair< Ray, Ray > ray_pair_t
IWirePlane::vector m_planes
const Ray & bounds() const
Return the ray representing the bounds.
virtual IWirePlane::pointer plane(int ident) const
Return the wire plane with the given ident or nullptr if unknown.