MarlinUtil
1.12.1
|
Definition of a LCLine3D describing a geometrical line in 3D space. More...
#include <LCLine3D.h>
Public Member Functions | |
LCLine3D () | |
Standard constructor: Initializes a line along the x-axis. | |
LCLine3D (const LCVector3D &point, const LCVector3D &direction) | |
Constructor from a point and a direction. More... | |
LCLine3D (const LCVector3D &point, const LCVector3D &direction, const LCVector3D &reference) | |
Constructor from a point and a direction. More... | |
LCLine3D (double d0, double phi0, double z0, double tanLambda) | |
Constructor using the canonical parameterization. More... | |
LCLine3D (double d0, double phi0, double z0, double tanLambda, const LCVector3D &reference) | |
Constructor using the canonical parameterization. More... | |
LCLine3D (const LCLine3D &line) | |
Copy constructor. More... | |
~LCLine3D () | |
Destructor. More... | |
bool | set (const LCVector3D &point, const LCVector3D &direction, const LCVector3D &reference) |
set the Parameters for a line using a point and a direction. More... | |
bool | set (double d0, double phi0, double z0, double tanLambda, const LCVector3D &reference) |
Set the Parameters of a line using the canonical parameterization. More... | |
LCLine3D & | operator= (const LCLine3D &rhs) |
Assignment. More... | |
LCVector3D | position (const double s=0) const |
Position is the point of the line after a distance s. More... | |
LCVector3D | direction () const |
Direction of the line. | |
double | distance (const LCVector3D &point) const |
Distance of a point to the line. More... | |
double | projectPoint (const LCVector3D &point) const |
Projection of a point on to the line. More... | |
bool | operator== (const LCLine3D &rhs) const |
Test for equality. More... | |
bool | operator!= (const LCLine3D &rhs) const |
Test for inequality. More... | |
double | intersectionWithPlane (const LCPlane3D plane, bool &pointExists) const |
Pathlength at closest intersection point with plane - undefined if pointExists==false. | |
Protected Attributes | |
LCVector3D | _point |
LCVector3D | _direction |
LCVector3D | _reference |
Definition of a LCLine3D describing a geometrical line in 3D space.
LCLine3D::LCLine3D | ( | const LCVector3D & | point, |
const LCVector3D & | direction | ||
) |
Constructor from a point and a direction.
point | Point is a point of the line |
direction | Direction is the directional vector of the line. |
References set().
LCLine3D::LCLine3D | ( | const LCVector3D & | point, |
const LCVector3D & | direction, | ||
const LCVector3D & | reference | ||
) |
Constructor from a point and a direction.
point | Point is a point of the line |
direction | Direction is the directional vector of the line. |
reference | reference point of the line. |
References set().
LCLine3D::LCLine3D | ( | double | d0, |
double | phi0, | ||
double | z0, | ||
double | tanLambda | ||
) |
Constructor using the canonical parameterization.
d0 | d0 is the point of closest approach in the xy plane. |
phi0 | phi0 is the angle in the xy plane. |
z0 | z0 is the z coordinate of the point of closest approach. |
tanLambda | tanLambda is the angle of with respect to the xy plane. |
References set().
LCLine3D::LCLine3D | ( | double | d0, |
double | phi0, | ||
double | z0, | ||
double | tanLambda, | ||
const LCVector3D & | reference | ||
) |
Constructor using the canonical parameterization.
d0 | d0 is the point of closest approach in the xy plane. |
phi0 | phi0 is the angle in the xy plane. |
z0 | z0 is the z coordinate of the point of closest approach. |
tanLambda | tanLambda is the angle of with respect to the xy plane. |
reference | reference point of the line. |
References set().
LCLine3D::LCLine3D | ( | const LCLine3D & | line | ) |
Copy constructor.
line | line is an other LCLine3D. |
|
inline |
Destructor.
double LCLine3D::distance | ( | const LCVector3D & | point | ) | const |
Distance of a point to the line.
point | point is a point in space |
References position(), and projectPoint().
Referenced by SimpleHelix::getIntersectionWithCylinder(), LCCylinder::isInside(), and LCCylinder::projectPoint().
bool LCLine3D::operator!= | ( | const LCLine3D & | rhs | ) | const |
Test for inequality.
bool LCLine3D::operator== | ( | const LCLine3D & | rhs | ) | const |
Test for equality.
LCVector3D LCLine3D::position | ( | const double | s = 0 | ) | const |
Position is the point of the line after a distance s.
Is is given with respect to the point of closes approach to the origen of the coordinate system.
s | s is the path length along the line |
Referenced by distance(), SimpleHelix::getIntersectionWithCylinder(), SimpleLine::getIntersectionWithCylinder(), SimpleHelix::getIntersectionWithPlane(), SimpleLine::getPosition(), intersectionWithPlane(), and LCCylinder::projectPoint().
double LCLine3D::projectPoint | ( | const LCVector3D & | point | ) | const |
Projection of a point on to the line.
point | point is a point in space. |
Referenced by distance(), SimpleHelix::getIntersectionWithCylinder(), SimpleLine::getIntersectionWithCylinder(), SimpleLine::getPathAt(), LCCylinder::isInside(), and LCCylinder::projectPoint().
bool LCLine3D::set | ( | const LCVector3D & | point, |
const LCVector3D & | direction, | ||
const LCVector3D & | reference | ||
) |
set the Parameters for a line using a point and a direction.
point | Point is a point of the line |
direction | Direction is the directional vector of the line. |
reference | reference point of the line. |
Referenced by LCLine3D().
bool LCLine3D::set | ( | double | d0, |
double | phi0, | ||
double | z0, | ||
double | tanLambda, | ||
const LCVector3D & | reference | ||
) |
Set the Parameters of a line using the canonical parameterization.
d0 | d0 is the point of closest approach in the xy plane. |
phi0 | phi0 is the angle in the xy plane. |
z0 | z0 is the z coordinate of the point of closest approach. |
tanLambda | tanLambda is the angle of with respect to the xy plane. |
reference | reference point of the line. |