LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "SurfLine.h"
Public Types | |
enum | TrackDirection { FORWARD, BACKWARD, UNKNOWN } |
Track direction enum. More... | |
Public Member Functions | |
SurfLine () | |
Default constructor. More... | |
virtual | ~SurfLine () |
Destructor. More... | |
double | PointingError (const TrackVector &vec, const TrackError &err) const |
Get pointing error of track. More... | |
void | getStartingError (TrackError &err) const |
Get starting error matrix for Kalman filter. More... | |
virtual Surface * | clone () const =0 |
Clone method. More... | |
virtual bool | isTrackValid (const TrackVector &vec) const =0 |
Surface-specific tests of validity of track parameters. More... | |
virtual void | toLocal (const double xyz[3], double uvw[3]) const =0 |
Transform global to local coordinates. More... | |
virtual void | toGlobal (const double uvw[3], double xyz[3]) const =0 |
Transform local to global coordinates. More... | |
virtual TrackVector | getDiff (const TrackVector &vec1, const TrackVector &vec2) const |
Calculate difference of two track parameter vectors. More... | |
virtual void | getPosition (const TrackVector &vec, double xyz[3]) const =0 |
Get position of track. More... | |
virtual TrackDirection | getDirection (const TrackVector &, TrackDirection dir=UNKNOWN) const |
Get direction of track (default UNKNOWN). More... | |
virtual void | getMomentum (const TrackVector &vec, double mom[3], TrackDirection dir=UNKNOWN) const =0 |
Get momentum vector of track. More... | |
virtual bool | isParallel (const Surface &surf) const =0 |
Test whether two surfaces are parallel, within tolerance. More... | |
virtual double | distanceTo (const Surface &surf) const =0 |
Find perpendicular forward distance to a parallel surface. More... | |
virtual bool | isEqual (const Surface &surf) const =0 |
Test two surfaces for equality, within tolerance. More... | |
virtual std::ostream & | Print (std::ostream &out) const =0 |
Printout. More... | |
Definition at line 58 of file SurfLine.h.
|
inherited |
Track direction enum.
Enumerator | |
---|---|
FORWARD | |
BACKWARD | |
UNKNOWN |
trkf::SurfLine::SurfLine | ( | ) |
|
virtual |
|
pure virtualinherited |
Clone method.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
|
pure virtualinherited |
Find perpendicular forward distance to a parallel surface.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::Surface::getDirection().
|
virtualinherited |
Calculate difference of two track parameter vectors.
Calculate difference of two track parameter vectors. This method has a default implementation which is just the numeric difference. Surfaces that require a more sophisticated difference (e.g. phi-wrap difference) should override this method.
Reimplemented in trkf::SurfYZLine.
Definition at line 31 of file Surface.cxx.
|
inlinevirtualinherited |
Get direction of track (default UNKNOWN).
Definition at line 83 of file Surface.h.
References dir, trkf::Surface::distanceTo(), trkf::Surface::getMomentum(), trkf::Surface::getStartingError(), trkf::Surface::isEqual(), trkf::Surface::isParallel(), trkf::operator<<(), trkf::Surface::PointingError(), and trkf::Surface::Print().
Referenced by trkf::SurfYZPlane::getMomentum(), and trkf::SurfXYZPlane::getMomentum().
|
pure virtualinherited |
Get momentum vector of track.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::Surface::getDirection().
|
pure virtualinherited |
Get position of track.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
|
virtual |
Get starting error matrix for Kalman filter.
Get starting error matrix for Kalman filter.
Arguments:
err - Error matrix.
Implements trkf::Surface.
Definition at line 90 of file SurfLine.cxx.
|
pure virtualinherited |
Test two surfaces for equality, within tolerance.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::Surface::getDirection().
|
pure virtualinherited |
Test whether two surfaces are parallel, within tolerance.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::Surface::getDirection().
|
pure virtualinherited |
Surface-specific tests of validity of track parameters.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
|
virtual |
Get pointing error of track.
Get pointing error of track.
Arguments:
vec - Track parameters. err - Track error matrix.
Returns: Pointing error.
This method calculates the track pointing error based on the slope track paramers and errors (parameters 2 and 3).
Implements trkf::Surface.
Definition at line 34 of file SurfLine.cxx.
|
pure virtualinherited |
Printout.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::Surface::getDirection(), and trkf::operator<<().
|
pure virtualinherited |
Transform local to global coordinates.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.
Referenced by trkf::SurfYZPlane::distanceTo(), trkf::SurfYZLine::distanceTo(), and trkf::SurfXYZPlane::distanceTo().
|
pure virtualinherited |
Transform global to local coordinates.
Implemented in trkf::SurfXYZPlane, trkf::SurfYZLine, and trkf::SurfYZPlane.