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

Simple line trajectory. More...

#include <SimpleLine.h>

Inheritance diagram for SimpleLine:
Trajectory

Public Member Functions

 SimpleLine (LCVector3D ref, LCVector3D direction)
 Construct Line from reference point and direction.
 
virtual LCVector3D getPosition (double s, LCErrorMatrix *errors=0) const
 Position at path length s - s==0 corresponds to P.C.A to the origin. More...
 
virtual LCVector3D getDirection (double s, LCErrorMatrix *errors=0) const
 Direction at path length s, i.e. More...
 
virtual LCErrorMatrix getCovarianceMatrix (double s) const
 Full covariance Matrix of x,y,z,px,py,pz. More...
 
virtual double getPathAt (const LCVector3D position) const
 Pathlength at point on trajectory closest to given position. More...
 
virtual double getIntersectionWithPlane (LCPlane3D p, bool &pointExists) const
 Pathlength at closest intersection point with plane - undefined if pointExists==false.
 
virtual double getIntersectionWithCylinder (const LCCylinder &cylinder, bool &pointExists) const
 Pathlength at closest intersection point with cylinder - undefined if pointExists==false. More...
 

Protected Attributes

LCLine3D _line
 

Detailed Description

Simple line trajectory.

Author
F.Gaede, T.Kraemer, DESY
Version
Id:
SimpleLine.h,v 1.4 2006-10-25 09:21:37 tkraemer Exp

Member Function Documentation

LCErrorMatrix SimpleLine::getCovarianceMatrix ( double  s) const
virtual

Full covariance Matrix of x,y,z,px,py,pz.

Parameters
spath length

Implements Trajectory.

LCVector3D SimpleLine::getDirection ( double  s,
LCErrorMatrix *  errors = 0 
) const
virtual

Direction at path length s, i.e.

(dx/ds,dy/ds,dz/ds)

Parameters
spath length
errorsreturn argument - not computed if NULL

Implements Trajectory.

References LCLine3D::direction().

double SimpleLine::getIntersectionWithCylinder ( const LCCylinder cylinder,
bool &  pointExists 
) const
virtual

Pathlength at closest intersection point with cylinder - undefined if pointExists==false.

Parameters
cylindercylinder object to intersect with

Implements Trajectory.

References LCCylinder::distance(), LCCylinder::endPoint(), LCCylinder::length(), LCLine3D::position(), LCLine3D::projectPoint(), LCCylinder::radius(), and LCCylinder::startPoint().

double SimpleLine::getPathAt ( const LCVector3D  position) const
virtual

Pathlength at point on trajectory closest to given position.

In order to get the distance use for example:
LCVector3D pt = t.getPosition( t.getPathAtClosestPoint( p ) ) ;
double d = LCVector3D( pt - p ).mag() ;

Implements Trajectory.

References LCLine3D::projectPoint().

LCVector3D SimpleLine::getPosition ( double  s,
LCErrorMatrix *  errors = 0 
) const
virtual

Position at path length s - s==0 corresponds to P.C.A to the origin.

Parameters
spath length
errorsreturn argument - not computed if NULL

Implements Trajectory.

References LCLine3D::position().


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