#include <Line.h>
Public Types | |
typedef GlobalVector | DirectionType |
typedef GlobalPoint | PositionType |
Public Member Functions | |
GlobalPoint | closerPointToLine (const Line &aLine) const |
DirectionType | direction () const |
GlobalVector | distance (const GlobalPoint &aPoint) const |
GlobalVector | distance (const Line &aLine) const |
Line (PositionType &pos, DirectionType &dir) | |
Line () | |
PositionType | position () const |
~Line () | |
Private Attributes | |
DirectionType | theDir |
PositionType | thePos |
typedef GlobalVector Line::DirectionType |
typedef GlobalPoint Line::PositionType |
Line::Line | ( | PositionType & | pos, |
DirectionType & | dir | ||
) | [inline] |
GlobalPoint Line::closerPointToLine | ( | const Line & | aLine | ) | const [inline] |
Definition at line 29 of file Line.h.
References direction(), Vector3DBase< T, FrameTag >::dot(), position(), theDir, and thePos.
Referenced by TrajectoryExtrapolatorToLine::extrapolate(), and AnalyticalTrajectoryExtrapolatorToLine::extrapolateSingleState().
{ GlobalPoint V = aLine.position(); GlobalVector J = aLine.direction(); GlobalVector Q = theDir - J.dot(theDir) * J; double lambda = Q.dot(V-thePos)/Q.dot(theDir); return thePos + lambda*theDir; }
DirectionType Line::direction | ( | ) | const [inline] |
Definition at line 27 of file Line.h.
References theDir.
Referenced by closerPointToLine(), distance(), TSCBLBuilderWithPropagator::operator()(), and HelixExtrapolatorToLine2Order::pathLength().
{ return theDir;}
GlobalVector Line::distance | ( | const Line & | aLine | ) | const [inline] |
Definition at line 38 of file Line.h.
References Vector3DBase< T, FrameTag >::cross(), funct::D, direction(), Vector3DBase< T, FrameTag >::dot(), P, position(), theDir, thePos, and csvLumiCalc::unit.
Referenced by SignedImpactParameter3D::distanceWithJetAxis(), TrajectoryExtrapolatorToLine::extrapolate(), and IPTools::jetTrackDistance().
{ GlobalPoint V = aLine.position(); GlobalVector J = aLine.direction(); GlobalVector P = (theDir.cross(J)).unit(); GlobalVector D; D= P.dot(thePos-V) * P; return D; }
GlobalVector Line::distance | ( | const GlobalPoint & | aPoint | ) | const [inline] |
Definition at line 48 of file Line.h.
References Vector3DBase< T, FrameTag >::dot(), P, theDir, thePos, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
PositionType Line::position | ( | ) | const [inline] |
Definition at line 26 of file Line.h.
References thePos.
Referenced by closerPointToLine(), distance(), SignedImpactParameter3D::distanceWithJetAxis(), IPTools::jetTrackDistance(), and HelixExtrapolatorToLine2Order::pathLength().
{ return thePos;}
DirectionType Line::theDir [private] |
Definition at line 57 of file Line.h.
Referenced by closerPointToLine(), direction(), and distance().
PositionType Line::thePos [private] |
Definition at line 56 of file Line.h.
Referenced by closerPointToLine(), distance(), and position().