CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
HepGeom::Plane3D< T > Class Template Reference

#include <CLHEP/Geometry/Plane3D.h>

Public Member Functions

 Plane3D ()
 Plane3D (T a1, T b1, T c1, T d1)
 Plane3D (const Normal3D< T > &n, const Point3D< T > &p)
 Plane3D (const Point3D< T > &p1, const Point3D< T > &p2, const Point3D< T > &p3)
 Plane3D (const Plane3D< T > &)=default
template<typename U = T, typename = typename std::enable_if<!std::is_same<U,float>::value >::type>
 Plane3D (const Plane3D< float > &p)
 Plane3D (Plane3D< T > &&)=default
 ~Plane3D ()=default
Plane3D< T > & operator= (const Plane3D< T > &)=default
Plane3D< T > & operator= (Plane3D< T > &&)=default
a () const
b () const
c () const
d () const
Normal3D< T > normal () const
Plane3D< T > & normalize ()
distance (const Point3D< T > &p) const
Point3D< T > point (const Point3D< T > &p) const
Point3D< T > point () const
bool operator== (const Plane3D< T > &p) const
bool operator!= (const Plane3D< T > &p) const
Plane3D< T > & transform (const Transform3D &m)

Protected Attributes

a_
b_
c_
d_

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &os, const Plane3D< float > &p)
std::ostream & operator<< (std::ostream &os, const Plane3D< double > &p)

Detailed Description

template<class T>
class HepGeom::Plane3D< T >

Template class for geometrical plane in 3D.

Author
Evgeni Chernyaev Evgue.nosp@m.ni.T.nosp@m.chern.nosp@m.iaev.nosp@m.@cern.nosp@m..ch

Definition at line 30 of file Plane3D.h.

Constructor & Destructor Documentation

◆ Plane3D() [1/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( )
inline

Default constructor - creates plane z=0.

Definition at line 37 of file Plane3D.h.

References a_, b_, c_, and d_.

Referenced by normalize(), operator!=(), operator<<(), operator<<(), operator=(), operator=(), operator==(), Plane3D(), Plane3D(), Plane3D(), and transform().

◆ Plane3D() [2/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( T a1,
T b1,
T c1,
T d1 )
inline

Constructor from four numbers - creates plane a*x+b*y+c*z+d=0.

Definition at line 41 of file Plane3D.h.

References a_, b_, c_, and d_.

◆ Plane3D() [3/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Normal3D< T > & n,
const Point3D< T > & p )
inline

Constructor from normal and point.

Definition at line 45 of file Plane3D.h.

References a_, b_, c_, and d_.

◆ Plane3D() [4/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Point3D< T > & p1,
const Point3D< T > & p2,
const Point3D< T > & p3 )
inline

Constructor from three points.

Definition at line 50 of file Plane3D.h.

References a_, b_, c_, d_, HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ Plane3D() [5/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( const Plane3D< T > & )
default

Copy constructor.

References Plane3D().

◆ Plane3D() [6/7]

template<class T>
template<typename U = T, typename = typename std::enable_if<!std::is_same<U,float>::value >::type>
HepGeom::Plane3D< T >::Plane3D ( const Plane3D< float > & p)
inline

Constructor for Plane3D<double> from Plane3D<float>.

Definition at line 65 of file Plane3D.h.

References a_, b_, c_, d_, and Plane3D().

◆ Plane3D() [7/7]

template<class T>
HepGeom::Plane3D< T >::Plane3D ( Plane3D< T > && )
default

Move constructor.

References Plane3D().

◆ ~Plane3D()

template<class T>
HepGeom::Plane3D< T >::~Plane3D ( )
default

Destructor.

Member Function Documentation

◆ a()

template<class T>
T HepGeom::Plane3D< T >::a ( ) const
inline

Returns the a-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 86 of file Plane3D.h.

References a_.

Referenced by distance(), operator!=(), operator==(), point(), and point().

◆ b()

template<class T>
T HepGeom::Plane3D< T >::b ( ) const
inline

Returns the b-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 89 of file Plane3D.h.

References b_.

Referenced by distance(), operator!=(), operator==(), point(), and point().

◆ c()

template<class T>
T HepGeom::Plane3D< T >::c ( ) const
inline

Returns the c-coefficient in the plane equation: a*x+b*y+c*z+d=0.

Definition at line 92 of file Plane3D.h.

References c_.

Referenced by distance(), operator!=(), operator==(), point(), and point().

◆ d()

template<class T>
T HepGeom::Plane3D< T >::d ( ) const
inline

Returns the free member of the plane equation: a*x+b*y+c*z+d=0.

Definition at line 95 of file Plane3D.h.

References d_.

Referenced by distance(), operator!=(), operator==(), and point().

◆ distance()

template<class T>
T HepGeom::Plane3D< T >::distance ( const Point3D< T > & p) const
inline

Returns distance to the point.

Definition at line 111 of file Plane3D.h.

References a(), b(), c(), d(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

Referenced by point().

◆ normal()

template<class T>
Normal3D< T > HepGeom::Plane3D< T >::normal ( ) const
inline

Returns normal.

Definition at line 99 of file Plane3D.h.

References a_, b_, and c_.

Referenced by transform().

◆ normalize()

template<class T>
Plane3D< T > & HepGeom::Plane3D< T >::normalize ( )
inline

Normalization.

Definition at line 103 of file Plane3D.h.

References a_, b_, c_, d_, and Plane3D().

◆ operator!=()

template<class T>
bool HepGeom::Plane3D< T >::operator!= ( const Plane3D< T > & p) const
inline

Test for inequality.

Definition at line 137 of file Plane3D.h.

References a(), b(), c(), d(), and Plane3D().

◆ operator=() [1/2]

template<class T>
Plane3D< T > & HepGeom::Plane3D< T >::operator= ( const Plane3D< T > & )
default

Assignment.

References Plane3D().

◆ operator=() [2/2]

template<class T>
Plane3D< T > & HepGeom::Plane3D< T >::operator= ( Plane3D< T > && )
default

Move assignment.

References Plane3D().

◆ operator==()

template<class T>
bool HepGeom::Plane3D< T >::operator== ( const Plane3D< T > & p) const
inline

Test for equality.

Definition at line 131 of file Plane3D.h.

References a(), b(), c(), d(), and Plane3D().

◆ point() [1/2]

template<class T>
Point3D< T > HepGeom::Plane3D< T >::point ( ) const
inline

Returns projection of the origin to the plane.

Definition at line 124 of file Plane3D.h.

References a(), b(), c(), and d().

Referenced by transform().

◆ point() [2/2]

template<class T>
Point3D< T > HepGeom::Plane3D< T >::point ( const Point3D< T > & p) const
inline

Returns projection of the point to the plane.

Definition at line 117 of file Plane3D.h.

References a(), b(), c(), distance(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

◆ transform()

template<class T>
Plane3D< T > & HepGeom::Plane3D< T >::transform ( const Transform3D & m)
inline

◆ operator<<() [1/2]

template<class T>
std::ostream & operator<< ( std::ostream & os,
const Plane3D< double > & p )
related

Output to the stream.

References Plane3D().

◆ operator<<() [2/2]

template<class T>
std::ostream & operator<< ( std::ostream & os,
const Plane3D< float > & p )
related

Output to the stream.

References Plane3D().

Member Data Documentation

◆ a_

template<class T>
T HepGeom::Plane3D< T >::a_
protected

Definition at line 32 of file Plane3D.h.

Referenced by a(), normal(), normalize(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), and transform().

◆ b_

template<class T>
T HepGeom::Plane3D< T >::b_
protected

Definition at line 32 of file Plane3D.h.

Referenced by b(), normal(), normalize(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), and transform().

◆ c_

template<class T>
T HepGeom::Plane3D< T >::c_
protected

Definition at line 32 of file Plane3D.h.

Referenced by c(), normal(), normalize(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), and transform().

◆ d_

template<class T>
T HepGeom::Plane3D< T >::d_
protected

Definition at line 32 of file Plane3D.h.

Referenced by d(), normalize(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), Plane3D(), and transform().


The documentation for this class was generated from the following file: