Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
HepGeom::Point3D< float > Class Template Reference

#include <Point3D.h>

Inheritance diagram for HepGeom::Point3D< float >:
HepGeom::BasicVector3D< float >

Public Member Functions

 Point3D ()
 
 Point3D (float x1, float y1, float z1)
 
 Point3D (const float *a)
 
 Point3D (const Point3D< float > &v)
 
 Point3D (const BasicVector3D< float > &v)
 
 ~Point3D ()
 
Point3D< float > & operator= (const Point3D< float > &v)
 
Point3D< float > & operator= (const BasicVector3D< float > &v)
 
float distance2 () const
 
float distance2 (const Point3D< float > &p) const
 
float distance () const
 
float distance (const Point3D< float > &p) const
 
Point3D< float > & transform (const Transform3D &m)
 
- Public Member Functions inherited from HepGeom::BasicVector3D< float >
 BasicVector3D (floatx1, floaty1, floatz1)
 
 BasicVector3D (const BasicVector3D< float > &v)
 
virtual ~BasicVector3D ()
 
 operator float * ()
 
 operator const float * () const
 
 operator CLHEP::Hep3Vector () const
 
BasicVector3D< float > & operator= (const BasicVector3D< float > &v)
 
BasicVector3D< float > & operator+= (const BasicVector3D< float > &v)
 
BasicVector3D< float > & operator-= (const BasicVector3D< float > &v)
 
BasicVector3D< float > & operator*= (double a)
 
BasicVector3D< float > & operator/= (double a)
 
float operator() (int i) const
 
float & operator() (int i)
 
float operator[] (int i) const
 
float & operator[] (int i)
 
float x () const
 
float y () const
 
float z () const
 
void setX (floata)
 
void setY (floata)
 
void setZ (floata)
 
void set (floatx1, floaty1, floatz1)
 
float perp2 () const
 
float perp2 (const BasicVector3D< float > &v) const
 
float perp () const
 
float perp (const BasicVector3D< float > &v) const
 
float rho () const
 
void setPerp (floatrh)
 
float mag2 () const
 
float mag () const
 
float r () const
 
float phi () const
 
float theta () const
 
float cosTheta () const
 
float getR () const
 
float getPhi () const
 
float getTheta () const
 
void setMag (floatma)
 
void setR (floatma)
 
void setPhi (floatph)
 
void setTheta (floatth)
 
float pseudoRapidity () const
 
float eta () const
 
float getEta () const
 
void setEta (floata)
 
float dot (const BasicVector3D< float > &v) const
 
BasicVector3D< float > cross (const BasicVector3D< float > &v) const
 
float angle (const BasicVector3D< float > &v) const
 
BasicVector3D< float > unit () const
 
BasicVector3D< float > orthogonal () const
 
BasicVector3D< float > & rotateX (floata)
 
BasicVector3D< float > & rotateY (floata)
 
BasicVector3D< float > & rotateZ (floata)
 
BasicVector3D< float > & rotate (floata, const BasicVector3D< float > &v)
 

Additional Inherited Members

- Public Types inherited from HepGeom::BasicVector3D< float >
enum  
 
- Protected Member Functions inherited from HepGeom::BasicVector3D< float >
 BasicVector3D ()
 
- Protected Attributes inherited from HepGeom::BasicVector3D< float >
float v_ [3]
 

Detailed Description

template<>
class HepGeom::Point3D< float >

Geometrical 3D Point with components of float type.

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

Definition at line 43 of file Point3D.h.

Constructor & Destructor Documentation

HepGeom::Point3D< float >::Point3D ( )
inline

Default constructor.

Definition at line 47 of file Point3D.h.

47 {}
HepGeom::Point3D< float >::Point3D ( float  x1,
float  y1,
float  z1 
)
inline

Constructor from three numbers.

Definition at line 51 of file Point3D.h.

51 : BasicVector3D<float>(x1,y1,z1) {}
HepGeom::Point3D< float >::Point3D ( const float *  a)
inlineexplicit

Constructor from array of floats.

Definition at line 55 of file Point3D.h.

56  : BasicVector3D<float>(a[0],a[1],a[2]) {}
HepGeom::Point3D< float >::Point3D ( const Point3D< float > &  v)
inline

Copy constructor.

Definition at line 60 of file Point3D.h.

60 : BasicVector3D<float>(v) {}
HepGeom::Point3D< float >::Point3D ( const BasicVector3D< float > &  v)
inline

Constructor from BasicVector3D<float>.

Definition at line 64 of file Point3D.h.

64 : BasicVector3D<float>(v) {}
HepGeom::Point3D< float >::~Point3D ( )
inline

Destructor.

Definition at line 68 of file Point3D.h.

68 {}

Member Function Documentation

float HepGeom::Point3D< float >::distance ( ) const
inline

Returns distance to the origin.

Definition at line 95 of file Point3D.h.

95 { return std::sqrt(distance2()); }
float distance2() const
Definition: Point3D.h:84
float HepGeom::Point3D< float >::distance ( const Point3D< float > &  p) const
inline

Returns distance to the point.

Definition at line 99 of file Point3D.h.

99  {
100  return std::sqrt(distance2(p));
101  }
float distance2() const
Definition: Point3D.h:84
const char * p
Definition: xmltok.h:285
float HepGeom::Point3D< float >::distance2 ( ) const
inline

Returns distance to the origin squared.

Definition at line 84 of file Point3D.h.

References HepGeom::BasicVector3D< T >::mag2().

84 { return mag2(); }
float HepGeom::Point3D< float >::distance2 ( const Point3D< float > &  p) const
inline

Returns distance to the point squared.

Definition at line 88 of file Point3D.h.

References HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

88  {
89  float dx = p.x()-x(), dy = p.y()-y(), dz = p.z()-z();
90  return dx*dx + dy*dy + dz*dz;
91  }
const char * p
Definition: xmltok.h:285
Point3D<float>& HepGeom::Point3D< float >::operator= ( const Point3D< float > &  v)
inline

Assignment.

Definition at line 72 of file Point3D.h.

References HepGeom::BasicVector3D< T >::set(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

72  {
73  set(v.x(),v.y(),v.z()); return *this;
74  }
void set(floatx1, floaty1, floatz1)
Point3D<float>& HepGeom::Point3D< float >::operator= ( const BasicVector3D< float > &  v)
inline

Assignment from BasicVector3D<float>.

Definition at line 78 of file Point3D.h.

References HepGeom::BasicVector3D< T >::set(), HepGeom::BasicVector3D< T >::x(), HepGeom::BasicVector3D< T >::y(), and HepGeom::BasicVector3D< T >::z().

78  {
79  set(v.x(),v.y(),v.z()); return *this;
80  }
void set(floatx1, floaty1, floatz1)
Point3D< float > & HepGeom::Point3D< float >::transform ( const Transform3D m)

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