LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
TrackingTypes.h
Go to the documentation of this file.
1 #ifndef TRACKINGTYPE_H
2 #define TRACKINGTYPE_H
3 
4 // LArSoft libraries
6 
7 // ROOT libraries
8 #include "Math/GenVector/Rotation3D.h"
9 #include "Math/GenVector/AxisAngle.h"
10 #include "Math/SMatrix.h"
11 
12 namespace recob {
13 
14  namespace tracking {
15 
17  using Coord_t = double;
18 
21 
24 
26  using Positions_t = std::vector<Point_t>;
27 
29  using Momenta_t = std::vector<Vector_t>;
30 
32  using Rotation_t = ROOT::Math::Rotation3D;
33 
36 
39 
41  TrajectoryPoint_t() = default;
42 
45  : position(pos), momentum(mom) {}
46 
49  { return momentum.Unit(); }
50 
51  }; // TrajectoryPoint_t
52 
55  using SMatrixSym22 = ROOT::Math::SMatrix<double,2,2,ROOT::Math::MatRepSym<double,2> >;
56  using SMatrixSym33 = ROOT::Math::SMatrix<double,3,3,ROOT::Math::MatRepSym<double,3> >;
57  using SMatrixSym55 = ROOT::Math::SMatrix<double,5,5,ROOT::Math::MatRepSym<double,5> >;
58  using SMatrixSym66 = ROOT::Math::SMatrix<double,6,6,ROOT::Math::MatRepSym<double,6> >;
59  using SMatrix65 = ROOT::Math::SMatrix<double,6,5>;
60  using SMatrix56 = ROOT::Math::SMatrix<double,5,6>;
61  using SMatrix55 = ROOT::Math::SMatrix<double,5,5>;
62  using SMatrix66 = ROOT::Math::SMatrix<double,6,6>;
63  using SVector6 = ROOT::Math::SVector<double,6>;
64  using SVector5 = ROOT::Math::SVector<double,5>;
65  using SVector3 = ROOT::Math::SVector<double,3>;
66  using SVector2 = ROOT::Math::SVector<double,2>;
68 
69  }
70 
71 }
72 
73 #endif
ROOT::Math::SVector< double, 3 > SVector3
Definition: TrackingTypes.h:65
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Definition: geo_vectors.h:167
ROOT::Math::SVector< double, 2 > SVector2
Definition: TrackingTypes.h:66
ROOT::Math::SMatrix< double, 5, 5 > SMatrix55
Definition: TrackingTypes.h:61
A point in the trajectory, with position and momentum.
Definition: TrackingTypes.h:35
Reconstruction base classes.
geo::Point_t Point_t
Type for representation of position in physical 3D space.
Definition: TrackingTypes.h:20
TrajectoryPoint_t(Point_t pos, Vector_t mom)
Constructor: assigns position and momentum.
Definition: TrackingTypes.h:44
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > SMatrixSym55
Definition: TrackingTypes.h:57
ROOT::Math::SVector< double, 6 > SVector6
Definition: TrackingTypes.h:63
Definitions of geometry vector data types.
Vector_t momentum
momentum at the trajectory [GeV/c].
Definition: TrackingTypes.h:38
geo::Vector_t Vector_t
Type for representation of momenta in 3D space.
Definition: TrackingTypes.h:23
ROOT::Math::SMatrix< double, 6, 6 > SMatrix66
Definition: TrackingTypes.h:62
ROOT::Math::SVector< double, 5 > SVector5
Definition: TrackingTypes.h:64
std::vector< Vector_t > Momenta_t
Type of momentum list.
Definition: TrackingTypes.h:29
double Coord_t
Type used for coordinates and values in general.
Definition: TrackingTypes.h:17
ROOT::Math::SMatrix< double, 6, 5 > SMatrix65
Definition: TrackingTypes.h:59
TrajectoryPoint_t()=default
Default constructor: sets at origin with no momentum.
ROOT::Math::Rotation3D Rotation_t
Type for representation of space rotations.
Definition: TrackingTypes.h:32
Vector_t direction() const
Returns the direction of the trajectory (unit vector of the momentum).
Definition: TrackingTypes.h:48
std::vector< Point_t > Positions_t
Type of trajectory point list.
Definition: TrackingTypes.h:26
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > SMatrixSym33
Definition: TrackingTypes.h:56
ROOT::Math::SMatrix< double, 5, 6 > SMatrix56
Definition: TrackingTypes.h:60
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > SMatrixSym66
Definition: TrackingTypes.h:58
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Definition: geo_vectors.h:187
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > SMatrixSym22
Definition: TrackingTypes.h:55
Point_t position
position in the trajectory [cm].
Definition: TrackingTypes.h:37