LArSoft  v09_90_00
Liquid Argon Software toolkit - https://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 37 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 27 of file TrackingTypes.h.

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

Type of trajectory point list.

Definition at line 34 of file TrackingTypes.h.

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

Type for representation of space rotations.

Definition at line 40 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 113 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 112 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 111 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 114 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 104 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 106 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 108 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 110 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 118 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 117 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 116 of file TrackingTypes.h.

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

SMatrix and SVector

Definition at line 115 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 31 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 45 of file TrackingTypes.h.

46  {
47  std::vector<To> out;
48  out.reserve(in.size());
49  for (auto& i : in)
50  out.push_back(To(i));
51  return out;
52  }
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 54 of file TrackingTypes.h.

55  {
56  std::vector<TVector3> out;
57  out.reserve(in.size());
58  for (auto& i : in)
59  out.push_back(TVector3(i.X(), i.Y(), i.Z()));
60  return out;
61  }
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 19 of file TrackingPlaneHelper.h.

20  {
21  return Plane(pos, dir);
22  }
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 25 of file TrackingPlaneHelper.h.

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

26  {
27  return Plane(s.position, s.direction());
28  }
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 31 of file TrackingPlaneHelper.h.

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

32  {
33  return Plane(Point_t(s.x0(), s.y0(), s.z0()),
34  Vector_t(0, -std::sin(s.phi()), std::cos(s.phi())));
35  }
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 38 of file TrackingPlaneHelper.h.

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

39  {
40  auto xyz = wgeom.GetCenter();
41  xyz.SetX(0.);
42  double const phi = TMath::PiOver2() - wgeom.ThetaZ();
43  return Plane{xyz, Vector_t{0, -std::sin(phi), std::cos(phi)}};
44  }
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 63 of file TrackingTypes.h.

64  {
65  return geo::vect::convertTo<Point_t>(p);
66  }
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 73 of file TrackingTypes.h.

74  {
75  return geo::vect::convertTo<Vector_t>(p);
76  }