ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HepGeom::Plane3D< T > Class Template Reference

#include <geant4/tree/geant4-10.6-release/source/externals/clhep/include/CLHEP/Geometry/Plane3D.h>

+ Inheritance diagram for HepGeom::Plane3D< T >:
+ Collaboration diagram for HepGeom::Plane3D< T >:

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
 
T a () const
 
T b () const
 
T c () const
 
T d () const
 
Normal3D< Tnormal () const
 
Plane3D< T > & normalize ()
 
T distance (const Point3D< T > &p) const
 
Point3D< Tpoint (const Point3D< T > &p) const
 
Point3D< Tpoint () const
 
bool operator== (const Plane3D< T > &p) const
 
bool operator!= (const Plane3D< T > &p) const
 
Plane3D< T > & transform (const Transform3D &m)
 

Protected Attributes

T a_
 
T b_
 
T c_
 
T d_
 

Related Functions

(Note that these are not member functions.)

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 28 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 28 of file Plane3D.h

Constructor & Destructor Documentation

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

Default constructor - creates plane z=0.

Definition at line 35 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 35 of file Plane3D.h

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 39 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 39 of file Plane3D.h

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

Constructor from normal and point.

Definition at line 43 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 43 of file Plane3D.h

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 48 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 48 of file Plane3D.h

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

Copy constructor.

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 63 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 63 of file Plane3D.h

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

Move constructor.

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

Destructor.

Member Function Documentation

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 84 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 84 of file Plane3D.h

Referenced by G4VSceneHandler::CreateSectionSolid(), HepGeom::Plane3D< G4double >::distance(), HepGeom::Plane3D< G4double >::operator!=(), HepGeom::Plane3D< G4double >::operator==(), and HepGeom::Plane3D< G4double >::point().

+ Here is the caller graph for this function:

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 87 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 87 of file Plane3D.h

Referenced by G4VSceneHandler::CreateSectionSolid(), HepGeom::Plane3D< G4double >::distance(), HepGeom::Plane3D< G4double >::operator!=(), HepGeom::Plane3D< G4double >::operator==(), and HepGeom::Plane3D< G4double >::point().

+ Here is the caller graph for this function:

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 90 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 90 of file Plane3D.h

Referenced by G4VSceneHandler::CreateSectionSolid(), HepGeom::Plane3D< G4double >::distance(), HepGeom::Plane3D< G4double >::operator!=(), HepGeom::Plane3D< G4double >::operator==(), and HepGeom::Plane3D< G4double >::point().

+ Here is the caller graph for this function:

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 93 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 93 of file Plane3D.h

Referenced by G4VSceneHandler::CreateSectionSolid(), HepGeom::Plane3D< G4double >::distance(), HepGeom::Plane3D< G4double >::operator!=(), HepGeom::Plane3D< G4double >::operator==(), and HepGeom::Plane3D< G4double >::point().

+ Here is the caller graph for this function:

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

Returns distance to the point.

Definition at line 109 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 109 of file Plane3D.h

Referenced by HepGeom::Plane3D< G4double >::point().

+ Here is the caller graph for this function:

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

Returns normal.

Definition at line 97 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 97 of file Plane3D.h

Referenced by G4ErrorPlaneSurfaceTarget::Dump(), G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint(), G4ErrorPropagationNavigator::GetGlobalExitNormal(), G4ViewParameters::SceneModifyingCommands(), G4ErrorSurfaceTrajParam::SetParameters(), and HepGeom::Plane3D< G4double >::transform().

+ Here is the caller graph for this function:

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

Normalization.

Definition at line 101 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 101 of file Plane3D.h

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

Test for inequality.

Definition at line 135 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 135 of file Plane3D.h

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

Assignment.

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

Move assignment.

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

Test for equality.

Definition at line 129 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 129 of file Plane3D.h

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 115 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 115 of file Plane3D.h

Referenced by G4ViewParameters::SceneModifyingCommands().

+ Here is the caller graph for this function:

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

Returns projection of the origin to the plane.

Definition at line 122 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 122 of file Plane3D.h

Referenced by G4ErrorPlaneSurfaceTarget::Dump(), G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint(), and HepGeom::Plane3D< G4double >::transform().

+ Here is the caller graph for this function:

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

Transformation by Transform3D.

Definition at line 141 of file Plane3D.h.

View newest version in sPHENIX GitHub at line 141 of file Plane3D.h

Friends And Related Function Documentation

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

Output to the stream.

Definition at line 21 of file Plane3D.cc.

View newest version in sPHENIX GitHub at line 21 of file Plane3D.cc

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

Output to the stream.

Definition at line 28 of file Plane3D.cc.

View newest version in sPHENIX GitHub at line 28 of file Plane3D.cc

Member Data Documentation


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