73 virtual void toLocal(
const double xyz[3],
double uvw[3])
const = 0;
76 virtual void toGlobal(
const double uvw[3],
double xyz[3])
const = 0;
108 virtual std::ostream&
Print(std::ostream& out)
const = 0;
112 std::ostream&
operator<<(std::ostream& out,
const Surface& surf);
TrackDirection
Track direction enum.
virtual void toLocal(const double xyz[3], double uvw[3]) const =0
Transform global to local coordinates.
virtual void toGlobal(const double uvw[3], double xyz[3]) const =0
Transform local to global coordinates.
KSymMatrix< 5 >::type TrackError
Track error matrix, dimension 5x5.
virtual std::ostream & Print(std::ostream &out) const =0
Printout.
EResult err(const char *call)
virtual double distanceTo(const Surface &surf) const =0
Find perpendicular forward distance to a parallel surface.
virtual bool isEqual(const Surface &surf) const =0
Test two surfaces for equality, within tolerance.
virtual TrackVector getDiff(const TrackVector &vec1, const TrackVector &vec2) const
Calculate difference of two track parameter vectors.
std::ostream & operator<<(std::ostream &out, const KGTrack &trg)
Output operator.
virtual void getMomentum(const TrackVector &vec, double mom[3], TrackDirection dir=UNKNOWN) const =0
Get momentum vector of track.
virtual void getPosition(const TrackVector &vec, double xyz[3]) const =0
Get position of track.
virtual double PointingError(const TrackVector &vec, const TrackError &err) const =0
Get pointing error of track.
KVector< 5 >::type TrackVector
Track state vector, dimension 5.
Kalman filter linear algebra typedefs.
Surface()
Default constructor.
virtual Surface * clone() const =0
Clone method.
virtual bool isParallel(const Surface &surf) const =0
Test whether two surfaces are parallel, within tolerance.
virtual ~Surface()
Destructor.
virtual TrackDirection getDirection(const TrackVector &, TrackDirection dir=UNKNOWN) const
Get direction of track (default UNKNOWN).
virtual void getStartingError(TrackError &err) const =0
Get starting error matrix for Kalman filter.
virtual bool isTrackValid(const TrackVector &vec) const =0
Surface-specific tests of validity of track parameters.