Go to the documentation of this file. 1 #ifndef __JDIRECTION3D__
2 #define __JDIRECTION3D__
73 JVersor3D(pos.getX(), pos.getY(), pos.getZ())
108 return static_cast<const JDirection3D&>(*
this);
119 return static_cast<JDirection3D&>(*
this);
130 static_cast<JDirection3D&>(*
this) = dir;
381 in >> direction.
__dx >> direction.
__dy >> direction.
__dz;
396 out << direction.
getDX() <<
' ' << direction.
getDY() <<
' ' << direction.
getDZ();
411 return in >> direction.
__dx >> direction.
__dy >> direction.
__dz;
424 return out << direction.
getDX() << direction.
getDY() << direction.
getDZ();
double getDZ() const
Get z direction.
JDirection3D & rotate_back(const JRotation3D &R)
Rotate back.
double getDot(const JVersor3Z &dir) const
Get dot product.
void rotate_back(double &__x, double &__y) const
Rotate back.
Interface for binary input.
double getDot(const JVector3D &pos) const
Get dot product.
void rotate(double &__x, double &__y, double &__z) const
Rotate.
JDirection3D & rotate(const JRotation3D &R)
Rotate.
void rotate_back(double &__x, double &__y, double &__z) const
Rotate back.
Data structure for normalised vector in positive z-direction.
void rotate_back(double &__x, double &__y, double &__z) const
Rotate back.
const JDirection3D & getDirection() const
Get direction.
JDirection3D & rotate(const JRotation3X &R)
Rotate around X-axis.
double getZ() const
Get z position.
double getDot(const JAngle3D &angle) const
Get dot product.
Data structure for direction in three dimensions.
Data structure for normalised vector in three dimensions.
friend std::ostream & operator<<(std::ostream &out, const JDirection3D &direction)
Write direction to output.
JDirection3D & rotate_back(const JRotation3X &R)
Rotate back around X-axis.
void setDirection(const JDirection3D &dir)
Set direction.
JDirection3D(const JAngle3D &angle)
Constructor.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
friend JWriter & operator<<(JWriter &out, const JDirection3D &direction)
Write direction to output.
Data structure for vector in three dimensions.
void rotate(double &__x, double &__y) const
Rotate.
JDirection3D & rotate_back(const JQuaternion3D &Q)
Rotate back.
JDirection3D & rotate_back(const JRotation3Z &R)
Rotate back around Z-axis.
Interface for binary output.
JDirection3D(const JVersor3Z &dir)
Constructor.
double getDot(const JVersor3D &versor) const
Get dot product.
double getDX() const
Get x direction.
double getDX() const
Get x direction.
Data structure for quaternion in three dimensions.
JDirection3D & rotate(const JRotation3Y &R)
Rotate around Y-axis.
double getDY() const
Get y direction.
JDirection3D(const JVersor3D &dir)
Constructor.
Data structure for angles in three dimensions.
double getDZ() const
Get z direction.
void transform(double &__x, double &__y, double &__z) const
Transform.
JVersor3D & normalise()
Normalise versor.
JDirection3D & getDirection()
Get direction.
JDirection3D()
Default constructor.
friend JReader & operator>>(JReader &in, JDirection3D &direction)
Read direction from input.
JDirection3D & rotate(const JQuaternion3D &Q)
Rotate.
JDirection3D & transform(const JMatrix3D &T)
Transform.
double getY() const
Get y position.
double getDY() const
Get y direction.
double getDY() const
Get y direction.
Auxiliary classes and methods for 3D geometrical objects and operations.
friend std::istream & operator>>(std::istream &in, JDirection3D &direction)
Read direction from input.
double getX() const
Get x position.
JDirection3D & rotate(const JRotation3Z &R)
Rotate around Z-axis.
double getDZ() const
Get z direction.
JDirection3D(const double dx, const double dy, const double dz)
Constructor.
JDirection3D(const JVector3D &pos)
Constructor.
JDirection3D & rotate_back(const JRotation3Y &R)
Rotate back around Y-axis.
void rotate(double &__x, double &__y, double &__z) const
Rotate.
double getDX() const
Get x direction.