template<typename T = double>
class ROOT::Math::Impl::Plane3D< T >
Class describing a geometrical plane in 3 dimensions.
A Plane3D is a 2 dimensional surface spanned by two linearly independent vectors. The plane is described by the equation \( a*x + b*y + c*z + d = 0 \) where (a,b,c) are the components of the normal vector to the plane \( n = (a,b,c) \) and \( d = - n \dot x \), where x is any point belonging to plane. More information on the mathematics describing a plane in 3D is available on MathWord. The Plane3D class contains the 4 scalar values in T which represent the four coefficients, fA, fB, fC, fD. fA, fB, fC are the normal components normalized to 1, i.e. fA**2 + fB**2 + fC**2 = 1
- See also
- Overview of the physics vector library
Definition at line 53 of file Plane3D.h.
|
| Plane3D () |
| default constructor create plane z = 0
|
|
template<class T1 , class T2 , class U > |
| Plane3D (const DisplacementVector3D< T1, U > &n, const PositionVector3D< T2, U > &p) |
| Construct from a generic DisplacementVector3D (normal vector) and PositionVector3D (point coplanar to the plane)
|
|
| Plane3D (const Plane3D &)=default |
|
| Plane3D (const Point &p1, const Point &p2, const Point &p3) |
| constructor from three Cartesian point belonging to the plane
|
|
template<class T1 , class T2 , class T3 , class U > |
| Plane3D (const PositionVector3D< T1, U > &p1, const PositionVector3D< T2, U > &p2, const PositionVector3D< T3, U > &p3) |
| constructor from three generic point belonging to the plane
|
|
| Plane3D (const Scalar &a, const Scalar &b, const Scalar &c, const Scalar &d) |
| generic constructors from the four scalar values describing the plane according to the equation ax + by + cz + d = 0
|
|
| Plane3D (const Vector &n, const Point &p) |
| constructor a Plane3D from a normal vector and a point coplanar to the plane
|
|
Scalar | A () const |
| Return the a coefficient of the plane equation \( a*x + b*y + c*z + d = 0 \).
|
|
Scalar | B () const |
| Return the b coefficient of the plane equation \( a*x + b*y + c*z + d = 0 \).
|
|
Scalar | C () const |
| Return the c coefficient of the plane equation \( a*x + b*y + c*z + d = 0 \).
|
|
Scalar | D () const |
| Return the d coefficient of the plane equation \( a*x + b*y + c*z + d = 0 \).
|
|
Scalar | Distance (const Point &p) const |
| Return the signed distance to a Point.
|
|
template<class T1 , class U > |
Scalar | Distance (const PositionVector3D< T1, U > &p) const |
| Return the distance to a Point described with generic coordinates.
|
|
Scalar | HesseDistance () const |
| Return the Hesse Distance (distance from the origin) of the plane or the d coefficient expressed in normalize form.
|
|
Vector | Normal () const |
| Return normal vector to the plane as Cartesian DisplacementVector.
|
|
bool | operator!= (const Plane3D &rhs) const |
|
Plane3D & | operator= (const Plane3D &)=default |
| Assignment operator from other Plane3D class.
|
|
bool | operator== (const Plane3D &rhs) const |
| Exact equality.
|
|
Point | ProjectOntoPlane (const Point &p) const |
| Return the projection of a Cartesian point to a plane.
|
|
template<class T1 , class U > |
PositionVector3D< T1, U > | ProjectOntoPlane (const PositionVector3D< T1, U > &p) const |
| Return the projection of a point to a plane.
|
|