185 return (fabs(beta) > precision ? -alpha/beta : -pos.
getZ());
396 const double phi = atan2(
u.getY(),
u.getX());
479 out << static_cast<const JPosition3D&> (axis);
481 out << static_cast<const JDirection3D&>(axis);
512 out << static_cast<const JPosition3D&> (axis);
513 out << static_cast<const JDirection3D&>(axis);
double getDistanceSquared(const JVector3D &pos) const
Get distance squared.
JAxis3D & rotate_back(const JRotation3X &R)
Rotate back around X-axis.
friend JReader & operator>>(JReader &in, JAxis3D &axis)
Read axis from input.
void transform(const JRotation3D &R, const JVector3D &pos)
Transform axis.
JAxis3D & rotate(const JRotation3X &R)
Rotate around X-axis.
double getDistance(const JVector3D &pos) const
Get distance.
JAxis3D & rotate_back(const JRotation3Z &R)
Rotate back around Z-axis.
void transform(const JAxis3D &axis)
Transform axis to reference frame of given axis.
JAxis3D()
Default constructor.
JAxis3D & rotate(const JQuaternion3D &Q)
Rotate axis.
double getIntersection(const JAxis3D &axis, const double precision=1.0e-8) const
Get longitudinal position along axis of position of closest approach with given axis.
friend std::istream & operator>>(std::istream &in, JAxis3D &axis)
Read axis from input.
JAxis3D(const JSegment3D &segment)
Constructor.
void transform_back(const JRotation3D &R, const JVector3D &pos)
Transform back axis.
friend JWriter & operator<<(JWriter &out, const JAxis3D &axis)
Write axis to output.
JAxis3D & rotate_back(const JRotation3D &R)
Rotate back axis.
JAxis3D(const JVector3D &pos, const JVersor3D &dir)
Constructor.
JAxis3D(const JVector3D &pos, const JVersor3Z &dir)
Constructor.
void transform_back(const JTransformation3D &T)
Transform back axis.
void setAxis(const JAxis3D &axis)
Set axis.
JAxis3D & rotate_back(const JRotation3Y &R)
Rotate back around Y-axis.
void transform(const JTransformation3D &T)
Transform axis.
double getIntersection(const JVector3D &pos) const
Get longitudinal position along axis of position of closest approach with given position.
JAxis3D & rotate(const JRotation3Z &R)
Rotate around Z-axis.
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
void move(const double step)
Move vertex along this axis.
const JAxis3D & getAxis() const
Get axis.
friend std::ostream & operator<<(std::ostream &out, const JAxis3D &axis)
Write axis to output.
JAxis3D & negate()
Negate axis.
JAxis3D & rotate(const JRotation3Y &R)
Rotate around Y-axis.
Data structure for direction in three dimensions.
double getDot(const JVersor3D &versor) const
Get dot product.
const JDirection3D & getDirection() const
Get direction.
JDirection3D & rotate_back(const JRotation3D &R)
Rotate back.
JDirection3D & rotate(const JRotation3D &R)
Rotate.
Data structure for position in three dimensions.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
const JPosition3D & getPosition() const
Get position.
double getDot(const JAngle3D &angle) const
Get dot product.
JPosition3D()
Default constructor.
JPosition3D & rotate_back(const JRotation3D &R)
Rotate back.
JVector3D & transform(const JMatrix3D &T)
Transform.
Data structure for unit quaternion in three dimensions.
const JRotation3D & getRotation() const
Get rotation.
Line segment in two dimensions.
Data structure for vector in three dimensions.
double getY() const
Get y position.
double getLengthSquared() const
Get length squared.
double getZ() const
Get z position.
JVector3D & sub(const JVector3D &vector)
Subtract vector.
JVector3D & negate()
Negate vector.
double getX() const
Get x position.
Data structure for normalised vector in three dimensions.
double getDY() const
Get y direction.
double getDX() const
Get x direction.
JVersor3D & negate()
Negate versor.
Data structure for normalised vector in positive z-direction.
Interface for binary input.
Interface for binary output.
Auxiliary classes and methods for 3D geometrical objects and operations.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).