MarlinUtil  1.12.1
Public Member Functions | List of all members
Trajectory Class Referenceabstract

Abstract trajectory interface describing a geometrical path in 3D space. More...

#include <Trajectory.h>

Inheritance diagram for Trajectory:
PhysicalTrajectory SimpleHelix SimpleLine

Public Member Functions

virtual LCVector3D getPosition (double s, LCErrorMatrix *errors=0) const =0
 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 =0
 Direction at path length s, i.e. More...
 
virtual LCErrorMatrix getCovarianceMatrix (double s) const =0
 Full covariance Matrix of x,y,z,px,py,pz. More...
 
virtual double getPathAt (const LCVector3D position) const =0
 Pathlength at point on trajectory closest to given position. More...
 
virtual double getIntersectionWithPlane (LCPlane3D p, bool &pointExists) const =0
 Pathlength at closest intersection point with plane - undefined if pointExists==false.
 
virtual double getIntersectionWithCylinder (const LCCylinder &cylinder, bool &pointExists) const =0
 Pathlength at closest intersection point with cylinder - undefined if pointExists==false. More...
 

Detailed Description

Abstract trajectory interface describing a geometrical path in 3D space.

Author
F.Gaede, DESY
Version
Id:
Trajectory.h,v 1.4 2006-10-24 08:54:22 tkraemer Exp

Member Function Documentation

virtual LCErrorMatrix Trajectory::getCovarianceMatrix ( double  s) const
pure virtual

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

Parameters
spath length

Implemented in SimpleLine, and SimpleHelix.

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

Direction at path length s, i.e.

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

Parameters
spath length
errors3x3 matrix, return argument - not computed if NULL

Implemented in SimpleLine, and SimpleHelix.

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

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

Parameters
cylindercylinder object to intersect with

Implemented in SimpleLine, and SimpleHelix.

virtual double Trajectory::getPathAt ( const LCVector3D  position) const
pure 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() ;

Implemented in SimpleLine, and SimpleHelix.

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

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

Parameters
spath length
errors3x3 matrix, return argument - not computed if NULL

Implemented in SimpleLine, and SimpleHelix.

Referenced by MarlinCED::drawTrajectory().


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