14 #ifndef LARCOREOBJ_SIMPLETYPESANDCONSTANTS_GEO_VECTORS_H 15 #define LARCOREOBJ_SIMPLETYPESANDCONSTANTS_GEO_VECTORS_H 18 #include "Math/GenVector/Cartesian3D.h" 19 #include "Math/GenVector/CoordinateSystemTags.h" 20 #include "Math/GenVector/DisplacementVector3D.h" 21 #include "Math/GenVector/PositionVector3D.h" 22 #include "Math/GenVector/Rotation3D.h" 45 #define GENVECTOR_CONSTEXPR 71 template <
typename T,
typename C = ROOT::Math::GlobalCoordinateSystemTag>
77 template <
typename T,
typename C = ROOT::Math::GlobalCoordinateSystemTag>
159 using Vector_t = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>,
160 ROOT::Math::GlobalCoordinateSystemTag>;
179 using Point_t = ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>,
180 ROOT::Math::GlobalCoordinateSystemTag>;
189 template <
typename CoordSystemTag>
199 template <
typename CoordSystemTag>
207 template <
typename Vector = Vector_t>
210 return {1.0, 0.0, 0.0};
214 template <
typename Vector = Vector_t>
217 return {0.0, 1.0, 0.0};
221 template <
typename Vector = Vector_t>
224 return {0.0, 0.0, 1.0};
228 template <
typename Po
int = Po
int_t>
231 return {0.0, 0.0, 0.0};
242 #endif // LARCOREOBJ_SIMPLETYPESANDCONSTANTS_GEO_VECTORS_H double Length_t
Type used for coordinates and distances. They are measured in centimeters.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
ROOT::Math::GlobalCoordinateSystemTag GlobalCoords
Tag for vectors in the global coordinate system.
constexpr Vector Yaxis()
Returns a y axis vector of the specified type.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< T >, C > GenPoint3DBase_t
Vector3DBase_t< CoordSystemTag > VectorIn_t
Type for representation of momenta in 3D space.
constexpr Vector Xaxis()
Returns a x axis vector of the specified type.
constexpr Vector Zaxis()
Returns a z axis vector of the specified type.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
ROOT::Math::Rotation3D Rotation_t
Type for representation of space rotations.
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
Point3DBase_t< CoordSystemTag > PointIn_t
Type for representation of positions in 3D space.
GenPoint3DBase_t< double, C > Point3DBase_t
Type of 3D point with representation in double precision.
GenVector3DBase_t< double, C > Vector3DBase_t
Namespace collecting geometry-related classes utilities.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< T >, C > GenVector3DBase_t
constexpr Point origin()
Returns a origin position with a point of the specified type.