Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
HepGeom::Point3D< double > Class Reference

#include <Point3D.h>

+ Inheritance diagram for HepGeom::Point3D< double >:

Public Member Functions

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

Additional Inherited Members

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

Detailed Description

Geometrical 3D Point with components of double type.

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

Definition at line 122 of file Point3D.h.

Constructor & Destructor Documentation

◆ Point3D() [1/8]

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

Default constructor.

Definition at line 126 of file Point3D.h.

126{}

◆ Point3D() [2/8]

HepGeom::Point3D< double >::Point3D ( double  x1,
double  y1,
double  z1 
)
inline

Constructor from three numbers.

Definition at line 130 of file Point3D.h.

130: BasicVector3D<double>(x1,y1,z1) {}

◆ Point3D() [3/8]

HepGeom::Point3D< double >::Point3D ( const float *  a)
inlineexplicit

Constructor from array of floats.

Definition at line 134 of file Point3D.h.

135 : BasicVector3D<double>(a[0],a[1],a[2]) {}

◆ Point3D() [4/8]

HepGeom::Point3D< double >::Point3D ( const double *  a)
inlineexplicit

Constructor from array of doubles.

Definition at line 139 of file Point3D.h.

140 : BasicVector3D<double>(a[0],a[1],a[2]) {}

◆ Point3D() [5/8]

HepGeom::Point3D< double >::Point3D ( const Point3D< double > &  v)
inline

Copy constructor.

Definition at line 144 of file Point3D.h.

144: BasicVector3D<double>(v) {}

◆ Point3D() [6/8]

HepGeom::Point3D< double >::Point3D ( const BasicVector3D< float > &  v)
inline

Constructor from BasicVector3D<float>.

Definition at line 148 of file Point3D.h.

148: BasicVector3D<double>(v) {}

◆ Point3D() [7/8]

HepGeom::Point3D< double >::Point3D ( const BasicVector3D< double > &  v)
inline

Constructor from BasicVector3D<double>.

Definition at line 152 of file Point3D.h.

152: BasicVector3D<double>(v) {}

◆ ~Point3D()

HepGeom::Point3D< double >::~Point3D ( )
inline

Destructor.

Definition at line 156 of file Point3D.h.

156{}

◆ Point3D() [8/8]

HepGeom::Point3D< double >::Point3D ( const CLHEP::Hep3Vector v)
inline

Constructor from CLHEP::Hep3Vector. This constructor is needed only for backward compatibility and in principle should be absent.

Definition at line 163 of file Point3D.h.

164 : BasicVector3D<double>(v.x(),v.y(),v.z()) {}
double z() const
double x() const
double y() const

Member Function Documentation

◆ distance() [1/2]

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

Returns distance to the origin.

Definition at line 204 of file Point3D.h.

204{ return std::sqrt(distance2()); }
double distance2() const
Definition: Point3D.h:193

◆ distance() [2/2]

double HepGeom::Point3D< double >::distance ( const Point3D< double > &  p) const
inline

Returns distance to the point.

Definition at line 208 of file Point3D.h.

208 {
209 return std::sqrt(distance2(p));
210 }

◆ distance2() [1/2]

double HepGeom::Point3D< double >::distance2 ( ) const
inline

Returns distance to the origin squared.

Definition at line 193 of file Point3D.h.

193{ return mag2(); }

◆ distance2() [2/2]

double HepGeom::Point3D< double >::distance2 ( const Point3D< double > &  p) const
inline

Returns distance to the point squared.

Definition at line 197 of file Point3D.h.

197 {
198 double dx = p.x()-x(), dy = p.y()-y(), dz = p.z()-z();
199 return dx*dx + dy*dy + dz*dz;
200 }

◆ operator CLHEP::Hep3Vector()

HepGeom::Point3D< double >::operator CLHEP::Hep3Vector ( ) const
inline

Conversion (cast) to CLHEP::Hep3Vector. This operator is needed only for backward compatibility and in principle should not exit.

Definition at line 171 of file Point3D.h.

171{ return CLHEP::Hep3Vector(x(),y(),z()); }

◆ operator=() [1/3]

Point3D< double > & HepGeom::Point3D< double >::operator= ( const BasicVector3D< double > &  v)
inline

Assignment from BasicVector3D<double>.

Definition at line 187 of file Point3D.h.

187 {
188 set(v.x(),v.y(),v.z()); return *this;
189 }
void set(double x1, double y1, double z1)

◆ operator=() [2/3]

Point3D< double > & HepGeom::Point3D< double >::operator= ( const BasicVector3D< float > &  v)
inline

Assignment from BasicVector3D<float>.

Definition at line 181 of file Point3D.h.

181 {
182 set(v.x(),v.y(),v.z()); return *this;
183 }

◆ operator=() [3/3]

Point3D< double > & HepGeom::Point3D< double >::operator= ( const Point3D< double > &  v)
inline

Assignment.

Definition at line 175 of file Point3D.h.

175 {
176 set(v.x(),v.y(),v.z()); return *this;
177 }

◆ transform()

Point3D< double > & HepGeom::Point3D< double >::transform ( const Transform3D m)

Transformation by Transform3D.

Definition at line 31 of file Point3D.cc.

31 {
32 double vx = x(), vy = y(), vz = z();
33 set(m.xx()*vx + m.xy()*vy + m.xz()*vz + m.dx(),
34 m.yx()*vx + m.yy()*vy + m.yz()*vz + m.dy(),
35 m.zx()*vx + m.zy()*vy + m.zz()*vz + m.dz());
36 return *this;
37 }

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