LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "SurfWireX.h"
Public Types | |
enum | TrackDirection { FORWARD, BACKWARD, UNKNOWN } |
Track direction enum. More... | |
Public Member Functions | |
SurfWireX (const geo::WireID &wireid) | |
Constructor. More... | |
virtual | ~SurfWireX () |
Destructor. More... | |
double | x0 () const |
X origin. More... | |
double | y0 () const |
Y origin. More... | |
double | z0 () const |
Z origin. More... | |
double | phi () const |
Rotation angle about x-axis. More... | |
virtual Surface * | clone () const |
Clone method. More... | |
virtual bool | isTrackValid (const TrackVector &vec) const |
Surface-specific tests of validity of track parameters. More... | |
virtual void | toLocal (const double xyz[3], double uvw[3]) const |
Transform global to local coordinates. More... | |
virtual void | toGlobal (const double uvw[3], double xyz[3]) const |
Transform local to global coordinates. More... | |
virtual void | getPosition (const TrackVector &vec, double xyz[3]) const |
Get position of track. More... | |
virtual void | getMomentum (const TrackVector &vec, double mom[3], TrackDirection dir=UNKNOWN) const |
Get momentum vector of track. More... | |
virtual bool | isParallel (const Surface &surf) const |
Test whether two surfaces are parallel, within tolerance. More... | |
virtual double | distanceTo (const Surface &surf) const |
Find perpendicular forward distance to a parallel surface. More... | |
virtual bool | isEqual (const Surface &surf) const |
Test two surfaces for equality, within tolerance. More... | |
virtual std::ostream & | Print (std::ostream &out) const |
Printout. 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 TrackVector | getDiff (const TrackVector &vec1, const TrackVector &vec2) const |
Calculate difference of two track parameter vectors. More... | |
virtual TrackDirection | getDirection (const TrackVector &, TrackDirection dir=UNKNOWN) const |
Get direction of track (default UNKNOWN). More... | |
Definition at line 26 of file SurfWireX.h.
|
inherited |
Track direction enum.
Enumerator | |
---|---|
FORWARD | |
BACKWARD | |
UNKNOWN |
trkf::SurfWireX::SurfWireX | ( | const geo::WireID & | wireid | ) |
Constructor.
Constructor.
Arguments:
wireid - Wire id.
Definition at line 25 of file SurfWireX.cxx.
References geo::WireGeo::GetCenter(), trkf::SurfYZPlane::phi(), trkf::SurfYZPlane::SurfYZPlane(), geo::WireGeo::ThetaZ(), geo::GeometryCore::WireIDToWireGeo(), and ~SurfWireX().
|
virtualdefault |
Destructor.
Referenced by SurfWireX().
|
virtualinherited |
Clone method.
Implements trkf::Surface.
Definition at line 41 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::SurfYZPlane().
Referenced by trkf::SurfYZPlane::phi().
|
virtualinherited |
Find perpendicular forward distance to a parallel surface.
Find perpendicular forward distance to a parallel surface.
Throw an exception if the other surface is not parallel.
Assuming the other surface is parallel, the distance is simply the w-coordinate of the other surface, and is signed.
Arguments:
surf - Other surface.
Returned value: Distance.
Implements trkf::Surface.
Definition at line 207 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::isParallel(), trkf::Surface::toGlobal(), and trkf::SurfYZPlane::toLocal().
Referenced by trkf::SurfYZPlane::phi().
|
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().
|
virtualinherited |
Get momentum vector of track.
Get momentum vector of track.
Arguments:
vec - Track state vector. mom - Momentum vector in global coordinate system. dir - Track direction.
Implements trkf::Surface.
Definition at line 126 of file SurfYZPlane.cxx.
References util::abs(), trkf::Surface::BACKWARD, e, trkf::Surface::FORWARD, trkf::SurfYZPlane::fPhi, and trkf::Surface::getDirection().
Referenced by trkf::SurfYZPlane::phi().
|
virtualinherited |
Get position of track.
Get position of track.
Arguments:
vec - Track state vector. xyz - Position in global coordinate system.
Implements trkf::Surface.
Definition at line 103 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::toGlobal().
Referenced by trkf::SurfYZPlane::phi().
|
virtualinherited |
Get starting error matrix for Kalman filter.
Get starting error matrix for Kalman filter.
Arguments:
err - Error matrix.
Implements trkf::Surface.
Definition at line 83 of file SurfPlane.cxx.
|
virtualinherited |
Test two surfaces for equality, within tolerance.
Test two surfaces for equality, within tolerance. Here equal is defined as having all surface parameters the same, not just having the surfaces coincide spatially, so that the local coordinate systems are the same between the two surfaces.
Arguments:
surf - Other surface.
Returned values: true if equal.
Implements trkf::Surface.
Definition at line 240 of file SurfYZPlane.cxx.
References util::abs(), trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::fPhiTolerance, trkf::SurfYZPlane::fSepTolerance, trkf::SurfYZPlane::fX0, trkf::SurfYZPlane::fY0, trkf::SurfYZPlane::fZ0, trkf::SurfYZPlane::phi(), trkf::SurfYZPlane::x0(), trkf::SurfYZPlane::y0(), and trkf::SurfYZPlane::z0().
Referenced by trkf::KHitWireX::KHitWireX(), and trkf::SurfYZPlane::phi().
|
virtualinherited |
Test whether two surfaces are parallel, within tolerance.
Test whether two surfaces are parallel, within tolerance. This method will only return true if the other surface is a SurfYZPlane.
Arguments:
surf - Other surface.
Returned value: true if parallel.
Implements trkf::Surface.
Definition at line 176 of file SurfYZPlane.cxx.
References util::abs(), trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::fPhiTolerance, and trkf::SurfYZPlane::phi().
Referenced by trkf::SurfYZPlane::distanceTo(), and trkf::SurfYZPlane::phi().
|
virtualinherited |
Surface-specific tests of validity of track parameters.
Implements trkf::Surface.
Definition at line 47 of file SurfYZPlane.cxx.
Referenced by trkf::SurfYZPlane::phi().
|
inlineinherited |
Rotation angle about x-axis.
Definition at line 61 of file SurfYZPlane.h.
References trkf::SurfYZPlane::clone(), dir, trkf::SurfYZPlane::distanceTo(), trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::getMomentum(), trkf::SurfYZPlane::getPosition(), trkf::SurfYZPlane::isEqual(), trkf::SurfYZPlane::isParallel(), trkf::SurfYZPlane::isTrackValid(), trkf::SurfYZPlane::Print(), trkf::SurfYZPlane::toGlobal(), trkf::SurfYZPlane::toLocal(), and trkf::Surface::UNKNOWN.
Referenced by trkf::SurfYZPlane::isEqual(), trkf::SurfYZPlane::isParallel(), recob::tracking::makePlane(), trkf::PropYZPlane::origin_vec_prop(), trkf::PropYZPlane::short_vec_prop(), and SurfWireX().
|
virtualinherited |
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 SurfPlane.cxx.
References den.
|
virtualinherited |
Printout.
Implements trkf::Surface.
Definition at line 263 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::fX0, trkf::SurfYZPlane::fY0, and trkf::SurfYZPlane::fZ0.
Referenced by trkf::SurfYZPlane::phi().
|
virtualinherited |
Transform local to global coordinates.
Transform local to global coordinates.
Arguments:
uvw - Cartesian coordinates in local coordinate system. xyz - Cartesian coordinates in global coordinate system.
Implements trkf::Surface.
Definition at line 81 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::fX0, trkf::SurfYZPlane::fY0, and trkf::SurfYZPlane::fZ0.
Referenced by trkf::SurfYZPlane::getPosition(), and trkf::SurfYZPlane::phi().
|
virtualinherited |
Transform global to local coordinates.
Transform global to local coordinates.
Arguments:
xyz - Cartesian coordinates in global coordinate system. uvw - Cartesian coordinates in local coordinate system.
Implements trkf::Surface.
Definition at line 59 of file SurfYZPlane.cxx.
References trkf::SurfYZPlane::fPhi, trkf::SurfYZPlane::fX0, trkf::SurfYZPlane::fY0, and trkf::SurfYZPlane::fZ0.
Referenced by trkf::SurfYZPlane::distanceTo(), and trkf::SurfYZPlane::phi().
|
inlineinherited |
X origin.
Definition at line 58 of file SurfYZPlane.h.
References trkf::SurfYZPlane::fX0.
Referenced by trkf::SurfYZPlane::isEqual(), recob::tracking::makePlane(), and trkf::PropYZPlane::short_vec_prop().
|
inlineinherited |
Y origin.
Definition at line 59 of file SurfYZPlane.h.
References trkf::SurfYZPlane::fY0.
Referenced by trkf::SurfYZPlane::isEqual(), recob::tracking::makePlane(), and trkf::PropYZPlane::short_vec_prop().
|
inlineinherited |
Z origin.
Definition at line 60 of file SurfYZPlane.h.
References trkf::SurfYZPlane::fZ0.
Referenced by trkf::SurfYZPlane::isEqual(), recob::tracking::makePlane(), and trkf::PropYZPlane::short_vec_prop().