CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
HepGeom::Rotate3D Class Reference

#include <CLHEP/Geometry/Transform3D.h>

Inheritance diagram for HepGeom::Rotate3D:
HepGeom::Transform3D HepGeom::RotateX3D HepGeom::RotateY3D HepGeom::RotateZ3D

Public Member Functions

 Rotate3D ()
 Rotate3D (const CLHEP::HepRotation &mt)
 Rotate3D (double a, const Point3D< double > &p1, const Point3D< double > &p2)
 Rotate3D (double a, const Vector3D< double > &v)
 Rotate3D (const Point3D< double > &fr1, const Point3D< double > &fr2, const Point3D< double > &to1, const Point3D< double > &to2)
Public Member Functions inherited from HepGeom::Transform3D
 Transform3D ()
 Transform3D (const CLHEP::HepRotation &mt, const CLHEP::Hep3Vector &v)
 Transform3D (const Point3D< double > &fr0, const Point3D< double > &fr1, const Point3D< double > &fr2, const Point3D< double > &to0, const Point3D< double > &to1, const Point3D< double > &to2)
 Transform3D (const Transform3D &mt)=default
 Transform3D (Transform3D &&mt)=default
 ~Transform3D ()=default
Transform3Doperator= (const Transform3D &mt)=default
Transform3Doperator= (Transform3D &&mt)=default
const Transform3D_row operator[] (int) const
double operator() (int, int) const
double xx () const
double xy () const
double xz () const
double yx () const
double yy () const
double yz () const
double zx () const
double zy () const
double zz () const
double dx () const
double dy () const
double dz () const
void setIdentity ()
Transform3D inverse () const
Transform3D operator* (const Transform3D &b) const
void getDecomposition (Scale3D &scale, Rotate3D &rotation, Translate3D &translation) const
bool isNear (const Transform3D &t, double tolerance=2.2E-14) const
CLHEP::HepRotation getRotation () const
CLHEP::Hep3Vector getTranslation () const
bool operator== (const Transform3D &transform) const
bool operator!= (const Transform3D &transform) const

Additional Inherited Members

Static Public Attributes inherited from HepGeom::Transform3D
static const Transform3D Identity
Protected Member Functions inherited from HepGeom::Transform3D
 Transform3D (double XX, double XY, double XZ, double DX, double YX, double YY, double YZ, double DY, double ZX, double ZY, double ZZ, double DZ)
void setTransform (double XX, double XY, double XZ, double DX, double YX, double YY, double YZ, double DY, double ZX, double ZY, double ZZ, double DZ)
Protected Attributes inherited from HepGeom::Transform3D
double xx_
double xy_
double xz_
double dx_
double yx_
double yy_
double yz_
double dy_
double zx_
double zy_
double zz_
double dz_

Detailed Description

Constructs a rotation transformation. This class provides additional constructors for Transform3D and should not be used as a separate class.

Example of use:

m = Rotate3D(30.*deg, HepVector3D(1.,1.,1.));
Transform3D(double XX, double XY, double XZ, double DX, double YX, double YY, double YZ, double DY, double ZX, double ZY, double ZZ, double DZ)
Author
Evgue.nosp@m.ni.T.nosp@m.chern.nosp@m.iaev.nosp@m.@cern.nosp@m..ch

Definition at line 372 of file Transform3D.h.

Constructor & Destructor Documentation

◆ Rotate3D() [1/5]

HepGeom::Rotate3D::Rotate3D ( )
inline

Default constructor: sets the Identity transformation.

Definition at line 376 of file Transform3D.h.

References HepGeom::Transform3D::Transform3D().

Referenced by Rotate3D(), HepGeom::RotateX3D::RotateX3D(), HepGeom::RotateY3D::RotateY3D(), and HepGeom::RotateZ3D::RotateZ3D().

◆ Rotate3D() [2/5]

◆ Rotate3D() [3/5]

HepGeom::Rotate3D::Rotate3D ( double a,
const Point3D< double > & p1,
const Point3D< double > & p2 )

Constructor from angle and axis given by two points.

Parameters
aangle of rotation
p1begin point of the axis
p2end point of the axis

◆ Rotate3D() [4/5]

HepGeom::Rotate3D::Rotate3D ( double a,
const Vector3D< double > & v )
inline

Constructor from angle and axis.

Parameters
aangle of rotation
vaxis of rotation

Definition at line 63 of file Transform3D.icc.

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

◆ Rotate3D() [5/5]

HepGeom::Rotate3D::Rotate3D ( const Point3D< double > & fr1,
const Point3D< double > & fr2,
const Point3D< double > & to1,
const Point3D< double > & to2 )
inline

Constructor for rotation given by original and rotated position of two points. It is assumed that there is no reflection.

Parameters
fr1original position of 1st point
fr2original position of 2nd point
to1rotated position of 1st point
to2rotated position of 2nd point

Definition at line 69 of file Transform3D.icc.

References HepGeom::Transform3D::Transform3D().


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