185 return (fabs(beta) > precision ? -alpha/beta : -pos.
getZ());
396 const double phi = atan2(u.
getY(), u.
getX());
439 transform(T.getRotation(), T.getPosition());
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(const JRotation3Y &R)
Rotate around Y-axis.
void transform(const JRotation3D &R, const JVector3D &pos)
Transform axis.
double getDistance(const JVector3D &pos) const
Get distance.
JAxis3D & rotate(const JRotation3X &R)
Rotate around X-axis.
JAxis3D & negate()
Negate axis.
void transform(const JAxis3D &axis)
Transform axis to reference frame of given axis.
JAxis3D()
Default constructor.
friend JWriter & operator<<(JWriter &out, const JAxis3D &axis)
Write axis to output.
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.
JAxis3D(const JSegment3D &segment)
Constructor.
JAxis3D & rotate(const JRotation3Z &R)
Rotate around Z-axis.
void transform_back(const JRotation3D &R, const JVector3D &pos)
Transform back axis.
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.
JAxis3D & rotate_back(const JRotation3Y &R)
Rotate back around Y-axis.
void setAxis(const JAxis3D &axis)
Set 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_back(const JRotation3Z &R)
Rotate back around Z-axis.
friend std::istream & operator>>(std::istream &in, JAxis3D &axis)
Read axis from input.
const JAxis3D & getAxis() const
Get axis.
JAxis3D & rotate(const JRotation3D &R)
Rotate axis.
friend std::ostream & operator<<(std::ostream &out, const JAxis3D &axis)
Write axis to output.
void move(const double step)
Move vertex along this axis.
friend JReader & operator>>(JReader &in, JAxis3D &axis)
Read axis from input.
JAxis3D & rotate(const JQuaternion3D &Q)
Rotate axis.
JAxis3D & rotate_back(const JRotation3X &R)
Rotate back around X-axis.
Data structure for direction in three dimensions.
JDirection3D & rotate(const JRotation3D &R)
Rotate.
JDirection3D & rotate_back(const JRotation3D &R)
Rotate back.
const JDirection3D & getDirection() const
Get direction.
double getDot(const JAngle3D &angle) const
Get dot product.
Data structure for position in three dimensions.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
double getDot(const JAngle3D &angle) const
Get dot product.
JPosition3D()
Default constructor.
const JPosition3D & getPosition() const
Get position.
JPosition3D & rotate_back(const JRotation3D &R)
Rotate back.
Data structure for unit quaternion in three dimensions.
Line segment in two dimensions.
Data structure for vector in three dimensions.
double getY() const
Get y position.
JVector3D & add(const JVector3D &vector)
Add vector.
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).