LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
recob::tracking Namespace Reference

Classes

class  Plane
 Class defining a plane for tracking. It provides various functionalities to convert track parameters and covariance matrices from global to local coordinates. More...
 
struct  TrajectoryPoint_t
 A point in the trajectory, with position and momentum. More...
 

Typedefs

using Coord_t = Double32_t
 
using Point_t = ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag >
 Type for representation of position in physical 3D space. See recob::tracking::Coord_t for more details on the actual type used. More...
 
using Vector_t = ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< Coord_t >, ROOT::Math::GlobalCoordinateSystemTag >
 Type for representation of momenta in 3D space. See recob::tracking::Coord_t for more details on the actual type used. More...
 
using Positions_t = std::vector< Point_t >
 Type of trajectory point list. More...
 
using Momenta_t = std::vector< Vector_t >
 Type of momentum list. More...
 
using Rotation_t = ROOT::Math::Rotation3D
 Type for representation of space rotations. More...
 
using SMatrixSym22 = ROOT::Math::SMatrix< Double32_t, 2, 2, ROOT::Math::MatRepSym< Double32_t, 2 > >
 
using SMatrixSym33 = ROOT::Math::SMatrix< Double32_t, 3, 3, ROOT::Math::MatRepSym< Double32_t, 3 > >
 
using SMatrixSym55 = ROOT::Math::SMatrix< Double32_t, 5, 5, ROOT::Math::MatRepSym< Double32_t, 5 > >
 
using SMatrixSym66 = ROOT::Math::SMatrix< Double32_t, 6, 6, ROOT::Math::MatRepSym< Double32_t, 6 > >
 
using SMatrix65 = ROOT::Math::SMatrix< Double32_t, 6, 5 >
 
using SMatrix56 = ROOT::Math::SMatrix< Double32_t, 5, 6 >
 
using SMatrix55 = ROOT::Math::SMatrix< Double32_t, 5, 5 >
 
using SMatrix66 = ROOT::Math::SMatrix< Double32_t, 6, 6 >
 
using SVector6 = ROOT::Math::SVector< Double32_t, 6 >
 
using SVector5 = ROOT::Math::SVector< Double32_t, 5 >
 
using SVector3 = ROOT::Math::SVector< Double32_t, 3 >
 
using SVector2 = ROOT::Math::SVector< Double32_t, 2 >
 

Functions

Plane makePlane (recob::tracking::Point_t const &pos, recob::tracking::Vector_t const &dir)
 helper function to construct a recob::tracking::Plane from a Point_t and a Vector_t; the point is on the plane, the vector is orthogonal to the plane. More...
 
Plane makePlane (recob::Trajectory::TrajectoryPoint_t const &s)
 helper function to construct a recob::tracking::Plane from a recob::Trajectory::TrajectoryPoint_t. More...
 
Plane makePlane (trkf::SurfWireX const &s)
 helper function to construct a recob::tracking::Plane from a trkf::SurfWireX object. More...
 
Plane makePlane (geo::WireGeo const &wgeom)
 helper function to construct a recob::tracking::Plane from a geo::WireGeo object. The plane will contain the wire and the x axis, assumed to be the drift direction (to be generalized). More...
 
template<typename To , typename From >
std::vector< To > convertVec (std::vector< From > const &in)
 
template<typename From >
std::vector< TVector3 > convertVecPointToTVec3 (std::vector< From > const &in)
 
template<typename Point >
Point_t toPoint (Point const &p)
 
template<typename Point >
std::vector< Point_tconvertCollToPoint (std::vector< Point > const &coll)
 
template<typename Vector >
Vector_t toVector (Vector const &p)
 
template<typename Vector >
std::vector< Vector_tconvertCollToVector (std::vector< Vector > const &coll)
 

Typedef Documentation

using recob::tracking::Coord_t = typedef Double32_t

Type used for coordinates and values in general. Double32_t is type that matches a 64-bits double when in memory, but is converted to a 32-bit float when written to disk. Given the size and resolution of LArTPC detectors, single-precision floats are sufficient to store the results of tracking algorithms, but it's safer to perform calculations in double precision.

Definition at line 23 of file TrackingTypes.h.

using recob::tracking::Momenta_t = typedef std::vector<Vector_t>

Type of momentum list.

Definition at line 35 of file TrackingTypes.h.

using recob::tracking::Point_t = typedef ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Coord_t>, ROOT::Math::GlobalCoordinateSystemTag>

Type for representation of position in physical 3D space. See recob::tracking::Coord_t for more details on the actual type used.

Definition at line 26 of file TrackingTypes.h.

using recob::tracking::Positions_t = typedef std::vector<Point_t>

Type of trajectory point list.

Definition at line 32 of file TrackingTypes.h.

using recob::tracking::Rotation_t = typedef ROOT::Math::Rotation3D

Type for representation of space rotations.

Definition at line 38 of file TrackingTypes.h.

using recob::tracking::SMatrix55 = typedef ROOT::Math::SMatrix<Double32_t,5,5>

SMatrix and SVector

Definition at line 89 of file TrackingTypes.h.

using recob::tracking::SMatrix56 = typedef ROOT::Math::SMatrix<Double32_t,5,6>

SMatrix and SVector

Definition at line 88 of file TrackingTypes.h.

using recob::tracking::SMatrix65 = typedef ROOT::Math::SMatrix<Double32_t,6,5>

SMatrix and SVector

Definition at line 87 of file TrackingTypes.h.

using recob::tracking::SMatrix66 = typedef ROOT::Math::SMatrix<Double32_t,6,6>

SMatrix and SVector

Definition at line 90 of file TrackingTypes.h.

using recob::tracking::SMatrixSym22 = typedef ROOT::Math::SMatrix<Double32_t,2,2,ROOT::Math::MatRepSym<Double32_t,2> >

SMatrix and SVector

Definition at line 83 of file TrackingTypes.h.

using recob::tracking::SMatrixSym33 = typedef ROOT::Math::SMatrix<Double32_t,3,3,ROOT::Math::MatRepSym<Double32_t,3> >

SMatrix and SVector

Definition at line 84 of file TrackingTypes.h.

using recob::tracking::SMatrixSym55 = typedef ROOT::Math::SMatrix<Double32_t,5,5,ROOT::Math::MatRepSym<Double32_t,5> >

SMatrix and SVector

Definition at line 85 of file TrackingTypes.h.

using recob::tracking::SMatrixSym66 = typedef ROOT::Math::SMatrix<Double32_t,6,6,ROOT::Math::MatRepSym<Double32_t,6> >

SMatrix and SVector

Definition at line 86 of file TrackingTypes.h.

using recob::tracking::SVector2 = typedef ROOT::Math::SVector<Double32_t,2>

SMatrix and SVector

Definition at line 94 of file TrackingTypes.h.

using recob::tracking::SVector3 = typedef ROOT::Math::SVector<Double32_t,3>

SMatrix and SVector

Definition at line 93 of file TrackingTypes.h.

using recob::tracking::SVector5 = typedef ROOT::Math::SVector<Double32_t,5>

SMatrix and SVector

Definition at line 92 of file TrackingTypes.h.

using recob::tracking::SVector6 = typedef ROOT::Math::SVector<Double32_t,6>

SMatrix and SVector

Definition at line 91 of file TrackingTypes.h.

using recob::tracking::Vector_t = typedef ROOT::Math::DisplacementVector3D <ROOT::Math::Cartesian3D<Coord_t>, ROOT::Math::GlobalCoordinateSystemTag>

Type for representation of momenta in 3D space. See recob::tracking::Coord_t for more details on the actual type used.

Definition at line 29 of file TrackingTypes.h.

Function Documentation

template<typename Point >
std::vector<Point_t> recob::tracking::convertCollToPoint ( std::vector< Point > const &  coll)
template<typename Vector >
std::vector<Vector_t> recob::tracking::convertCollToVector ( std::vector< Vector > const &  coll)
template<typename To , typename From >
std::vector<To> recob::tracking::convertVec ( std::vector< From > const &  in)

Tools to aide the conversion from TVector3 to Point_t and Vector_t

Definition at line 42 of file TrackingTypes.h.

42  {
43  std::vector<To> out;
44  out.reserve(in.size());
45  for (auto& i : in) out.push_back(To(i));
46  return out;
47  }
template<typename From >
std::vector<TVector3> recob::tracking::convertVecPointToTVec3 ( std::vector< From > const &  in)

Tools to aide the conversion from TVector3 to Point_t and Vector_t

Definition at line 48 of file TrackingTypes.h.

48  {
49  std::vector<TVector3> out;
50  out.reserve(in.size());
51  for (auto& i : in) out.push_back(TVector3(i.X(),i.Y(),i.Z()));
52  return out;
53  }
Plane recob::tracking::makePlane ( recob::tracking::Point_t const &  pos,
recob::tracking::Vector_t const &  dir 
)
inline

helper function to construct a recob::tracking::Plane from a Point_t and a Vector_t; the point is on the plane, the vector is orthogonal to the plane.

Definition at line 20 of file TrackingPlaneHelper.h.

Referenced by trkf::TrackKalmanFitter::setupInputStates().

20 { return Plane(pos, dir); }
TDirectory * dir
Definition: macro.C:5
recob::tracking::Plane Plane
Definition: TrackState.h:17
Plane recob::tracking::makePlane ( recob::Trajectory::TrajectoryPoint_t const &  s)
inline

helper function to construct a recob::tracking::Plane from a recob::Trajectory::TrajectoryPoint_t.

Definition at line 23 of file TrackingPlaneHelper.h.

References recob::tracking::TrajectoryPoint_t::direction(), and recob::tracking::TrajectoryPoint_t::position.

23 { return Plane(s.position, s.direction()); }
Float_t s
Definition: plot.C:23
recob::tracking::Plane Plane
Definition: TrackState.h:17
Plane recob::tracking::makePlane ( trkf::SurfWireX const &  s)
inline

helper function to construct a recob::tracking::Plane from a trkf::SurfWireX object.

Definition at line 26 of file TrackingPlaneHelper.h.

References trkf::SurfYZPlane::phi(), trkf::SurfYZPlane::x0(), trkf::SurfYZPlane::y0(), and trkf::SurfYZPlane::z0().

26 { return Plane(Point_t(s.x0(),s.y0(),s.z0()), Vector_t(0,-std::sin(s.phi()),std::cos(s.phi()))); }
Float_t s
Definition: plot.C:23
recob::tracking::Point_t Point_t
recob::tracking::Plane Plane
Definition: TrackState.h:17
recob::tracking::Vector_t Vector_t
Plane recob::tracking::makePlane ( geo::WireGeo const &  wgeom)
inline

helper function to construct a recob::tracking::Plane from a geo::WireGeo object. The plane will contain the wire and the x axis, assumed to be the drift direction (to be generalized).

Definition at line 29 of file TrackingPlaneHelper.h.

References geo::WireGeo::GetCenter(), and geo::WireGeo::ThetaZ().

29  {
30  double xyz[3] = {0.};
31  wgeom.GetCenter(xyz);
32  double phi = TMath::PiOver2() - wgeom.ThetaZ();
33  return Plane(Point_t(0.,xyz[1], xyz[2]), Vector_t(0,-std::sin(phi),std::cos(phi)));
34  }
recob::tracking::Point_t Point_t
recob::tracking::Plane Plane
Definition: TrackState.h:17
recob::tracking::Vector_t Vector_t
template<typename Point >
Point_t recob::tracking::toPoint ( Point const &  p)

Tools to aide the conversion from TVector3 to Point_t and Vector_t

Definition at line 54 of file TrackingTypes.h.

54 { return geo::vect::convertTo<Point_t>(p); }
template<typename Vector >
Vector_t recob::tracking::toVector ( Vector const &  p)

Tools to aide the conversion from TVector3 to Point_t and Vector_t

Definition at line 57 of file TrackingTypes.h.

57 { return geo::vect::convertTo<Vector_t>(p); }