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.  
  | 
|   |