MarlinUtil  1.12.1
Public Member Functions | Protected Attributes | List of all members
LCLine3D Class Reference

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...
 
LCLine3Doperator= (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
 

Detailed Description

Definition of a LCLine3D describing a geometrical line in 3D space.

Author
T.Kraemer, DESY
Version
Id:
LCLine3D.h,v 1.8 2006-11-03 16:43:13 tkraemer Exp

Constructor & Destructor Documentation

LCLine3D::LCLine3D ( const LCVector3D &  point,
const LCVector3D &  direction 
)

Constructor from a point and a direction.

Parameters
pointPoint is a point of the line
directionDirection 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.

Parameters
pointPoint is a point of the line
directionDirection is the directional vector of the line.
referencereference point of the line.

References set().

LCLine3D::LCLine3D ( double  d0,
double  phi0,
double  z0,
double  tanLambda 
)

Constructor using the canonical parameterization.

Parameters
d0d0 is the point of closest approach in the xy plane.
phi0phi0 is the angle in the xy plane.
z0z0 is the z coordinate of the point of closest approach.
tanLambdatanLambda 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.

Parameters
d0d0 is the point of closest approach in the xy plane.
phi0phi0 is the angle in the xy plane.
z0z0 is the z coordinate of the point of closest approach.
tanLambdatanLambda is the angle of with respect to the xy plane.
referencereference point of the line.

References set().

LCLine3D::LCLine3D ( const LCLine3D line)

Copy constructor.

Parameters
lineline is an other LCLine3D.
LCLine3D::~LCLine3D ( )
inline

Destructor.

Member Function Documentation

double LCLine3D::distance ( const LCVector3D &  point) const

Distance of a point to the line.

Parameters
pointpoint 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.

LCLine3D & LCLine3D::operator= ( const LCLine3D rhs)

Assignment.

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.

Parameters
ss 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.

Parameters
pointpoint 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.

Parameters
pointPoint is a point of the line
directionDirection is the directional vector of the line.
referencereference 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.

Parameters
d0d0 is the point of closest approach in the xy plane.
phi0phi0 is the angle in the xy plane.
z0z0 is the z coordinate of the point of closest approach.
tanLambdatanLambda is the angle of with respect to the xy plane.
referencereference point of the line.

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