Classes | Typedefs | Functions
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.

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.

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>

Definition at line 89 of file TrackingTypes.h.

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

Definition at line 88 of file TrackingTypes.h.

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

Definition at line 87 of file TrackingTypes.h.

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

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> >

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> >

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> >

Definition at line 86 of file TrackingTypes.h.

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

Definition at line 94 of file TrackingTypes.h.

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

Definition at line 93 of file TrackingTypes.h.

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

Definition at line 92 of file TrackingTypes.h.

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

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)

Definition at line 55 of file TrackingTypes.h.

56  { return geo::vect::convertCollTo<Point_t>(coll); }
template<typename Vector >
std::vector<Vector_t> recob::tracking::convertCollToVector ( std::vector< Vector > const &  coll)

Definition at line 58 of file TrackingTypes.h.

59  { return geo::vect::convertCollTo<Vector_t>(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)

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.

20 { return Plane(pos, dir); }
string dir
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.

23 { return Plane(s.position, s.direction()); }
recob::tracking::Plane Plane
Definition: TrackState.h:17
static QCString * s
Definition: config.cpp:1042
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.

26 { return Plane(Point_t(s.x0(),s.y0(),s.z0()), Vector_t(0,-std::sin(s.phi()),std::cos(s.phi()))); }
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >> Point_t
recob::tracking::Plane Plane
Definition: TrackState.h:17
recob::tracking::Vector_t Vector_t
static QCString * s
Definition: config.cpp:1042
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.

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  }
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >> 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)

Definition at line 54 of file TrackingTypes.h.

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

Definition at line 57 of file TrackingTypes.h.

57 { return geo::vect::convertTo<Vector_t>(p); }
p
Definition: test.py:223