Go to the documentation of this file.
10 #ifndef HERD_PARALLELEPIPED_H
11 #define HERD_PARALLELEPIPED_H
54 [[nodiscard]] std::array<Point, 8>
Vertices()
const;
62 [[nodiscard]]
const std::array<Parallelogram, 6> &
Faces()
const;
69 [[nodiscard]] std::optional<std::array<Point, 2>>
Intersections(
const Line &line)
const;
80 mutable std::array<Parallelogram, 6>
m_faces;
94 #endif // HERD_PARALLELEPIPED_H
bool Contains(const Point &point) const
Checks if the parallelepiped contains the given point.
Definition: Parallelepiped.cpp:104
A class describing a vector in 3D space.
Definition: Vec3D.h:33
bool operator==(const HoughTrackStub &lhs, const HoughTrackStub &rhs)
Definition: HoughTrackStub.h:41
std::array< Vec3D, 3 > m_sides
Definition: Parallelepiped.h:79
virtual ~Parallelepiped()=default
Destructor.
Class describing a line in the 3D space.
Definition: Line.h:37
std::optional< std::array< Point, 2 > > Intersections(const Line &line) const
Computes the intersection points of the given line with the parallelepiped.
Definition: Parallelepiped.cpp:67
std::array< Parallelogram, 6 > m_faces
! Faces of the parallelepiped
Definition: Parallelepiped.h:80
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
bool m_facesAreValid
! Check if we already computed the faces
Definition: Parallelepiped.h:81
Herd::Point m_origin
Definition: Parallelepiped.h:78
friend bool operator==(const Parallelepiped &lhs, const Parallelepiped &rhs)
Definition: Parallelepiped.h:88
const std::array< Parallelogram, 6 > & Faces() const
Gets the faces of the parallelepiped.
Definition: Parallelepiped.cpp:45
Parallelepiped()
Definition: Parallelepiped.cpp:16
std::array< Point, 8 > Vertices() const
Gets the vertices of the parallelepiped.
Definition: Parallelepiped.cpp:33
A parallelepiped in 3D space.
Definition: Parallelepiped.h:25