13#include "TrkBase/TrkLineTraj.h"
14#include "CLHEP/Matrix/Matrix.h"
15#include "MdcGeom/TrkGeomTrajVisitor.h"
19 _direction.setMag( 1.0 );
25 _direction.setMag( 1.0 );
29 :
TrkGeomTraj( 0.0, point1.distance2( point2 ) ), _start( point1 ) {
31 _direction = ( (CLHEP::Hep3Vector)point2 ) - ( (CLHEP::Hep3Vector)point1 );
32 _direction.setMag( 1.0 );
37 , _start( other._start )
38 , _direction( other._direction ) {}
46 _start = other._start;
47 _direction = other._direction;
55 return _start + _direction * flightlen;
74 Hep3Vector& delDir )
const {
HepGeom::Point3D< double > HepPoint3D
Trajectory & operator=(const Trajectory &)
virtual void visitLine(const TrkLineTraj *)=0
TrkGeomTraj(double lowlim, double hilim)
TrkLineTraj(const HepPoint3D &point, const Hep3Vector &direction, double length)
Hep3Vector direction(double) const
TrkLineTraj * clone() const
void accept(TrkGeomTrajVisitor &visitor) const
void getInfo(double fltLen, HepPoint3D &, Hep3Vector &direction) const
virtual double distTo1stError(double s, double tol, int pathDir) const
virtual double distTo2ndError(double s, double tol, int pathDir) const
TrkLineTraj & operator=(const TrkLineTraj &)
Hep3Vector delDirect(double) const
double curvature(double f=0.) const
HepPoint3D position(double) const