Vector classes (2D, 3D and 4D / Lorentz vector) and their transformations to be used in SYCL or CUDA kernels for heterogeneous computing.
These classes represent vectors and their operations and transformations, such as rotations and Lorentz transformations, in two, three and four dimensions. The 4D space-time is used for physics vectors representing relativistic particles in Minkowski-space. These vectors are different from Linear Algebra vectors or std::vector
which describe generic N-dimensional vectors.
Hint: the most commonly used Lorentz vector class is ROOT::MathSYCL::PtEtaPhiMVector or ROOT::MathCUDA::PtEtaPhiMVector, respectively a typedef to ROOT::MathSYCL::LorentzVector < ROOT::MathSYCL::PtEtaPhiM4D < double > > and ROOT::MathCUDA::LorentzVector < ROOT::MathCUDA::PtEtaPhiM4D < double > >.
A more detailed description of the GenVectorX package is available in this document.
Namespaces | |
namespace | ROOT::ROOT_MATH_ARCH::VectorUtil |
Global Helper functions for generic Vector classes. | |
Classes | |
class | ROOT::ROOT_MATH_ARCH::AxisAngle |
AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotation around that axis. More... | |
class | ROOT::ROOT_MATH_ARCH::Boost |
Lorentz boost class with the (4D) transformation represented internally by a 4x4 orthosymplectic matrix. More... | |
class | ROOT::ROOT_MATH_ARCH::BoostX |
Class representing a Lorentz Boost along the X axis, by beta. More... | |
class | ROOT::ROOT_MATH_ARCH::BoostY |
Class representing a Lorentz Boost along the Y axis, by beta. More... | |
class | ROOT::ROOT_MATH_ARCH::BoostZ |
Class representing a Lorentz Boost along the Z axis, by beta. More... | |
class | ROOT::ROOT_MATH_ARCH::Cartesian2D< T > |
Class describing a 2D cartesian coordinate system (x, y coordinates) More... | |
class | ROOT::ROOT_MATH_ARCH::Cartesian3D< T > |
Class describing a 3D cartesian coordinate system (x, y, z coordinates) More... | |
class | ROOT::ROOT_MATH_ARCH::Cylindrical3D< T > |
Class describing a cylindrical coordinate system based on rho, z and phi. More... | |
class | ROOT::ROOT_MATH_ARCH::CylindricalEta3D< T > |
Class describing a cylindrical coordinate system based on eta (pseudorapidity) instead of z. More... | |
class | ROOT::ROOT_MATH_ARCH::DefaultCoordinateSystemTag |
DefaultCoordinateSystemTag Default tag for identifying any coordinate system. More... | |
class | ROOT::ROOT_MATH_ARCH::DisplacementVector2D< CoordSystem, Tag > |
Class describing a generic displacement vector in 2 dimensions. More... | |
class | ROOT::ROOT_MATH_ARCH::DisplacementVector3D< CoordSystem, Tag > |
Class describing a generic displacement vector in 3 dimensions. More... | |
class | ROOT::ROOT_MATH_ARCH::EulerAngles |
EulerAngles class describing rotation as three angles (Euler Angles). More... | |
class | ROOT::ROOT_MATH_ARCH::GlobalCoordinateSystemTag |
Tag for identifying vectors based on a global coordinate system. More... | |
class | ROOT::ROOT_MATH_ARCH::LocalCoordinateSystemTag |
Tag for identifying vectors based on a local coordinate system. More... | |
class | ROOT::ROOT_MATH_ARCH::LorentzRotation |
Lorentz transformation class with the (4D) transformation represented by a 4x4 orthosymplectic matrix. More... | |
class | ROOT::ROOT_MATH_ARCH::LorentzVector< CoordSystem > |
Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system for the spatial vector part. More... | |
class | ROOT::ROOT_MATH_ARCH::Impl::Plane3D< T > |
Class describing a geometrical plane in 3 dimensions. More... | |
class | ROOT::ROOT_MATH_ARCH::Polar2D< T > |
Class describing a polar 2D coordinate system based on r and phi Phi is restricted to be in the range [-PI,PI) More... | |
class | ROOT::ROOT_MATH_ARCH::Polar3D< T > |
Class describing a polar coordinate system based on r, theta and phi Phi is restricted to be in the range [-PI,PI) More... | |
class | ROOT::ROOT_MATH_ARCH::PositionVector2D< CoordSystem, Tag > |
Class describing a generic position vector (point) in 2 dimensions. More... | |
class | ROOT::ROOT_MATH_ARCH::PositionVector3D< CoordSystem, Tag > |
Class describing a generic position vector (point) in 3 dimensions. More... | |
class | ROOT::ROOT_MATH_ARCH::PtEtaPhiE4D< ScalarType > |
Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and E (or rho, phi, eta , T) The metric used is (-,-,-,+). More... | |
class | ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType > |
Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and M (mass) The metric used is (-,-,-,+). More... | |
class | ROOT::ROOT_MATH_ARCH::PxPyPzE4D< ScalarType > |
Class describing a 4D cartesian coordinate system (x, y, z, t coordinates) or momentum-energy vectors stored as (Px, Py, Pz, E). More... | |
class | ROOT::ROOT_MATH_ARCH::PxPyPzM4D< ScalarType > |
Class describing a 4D coordinate system or momentum-energy vectors stored as (Px, Py, Pz, M). More... | |
class | ROOT::ROOT_MATH_ARCH::Quaternion |
Rotation class with the (3D) rotation represented by a unit quaternion (u, i, j, k). More... | |
class | ROOT::ROOT_MATH_ARCH::Rotation3D |
Rotation class with the (3D) rotation represented by a 3x3 orthogonal matrix. More... | |
class | ROOT::ROOT_MATH_ARCH::RotationX |
Rotation class representing a 3D rotation about the X axis by the angle of rotation. More... | |
class | ROOT::ROOT_MATH_ARCH::RotationY |
Rotation class representing a 3D rotation about the Y axis by the angle of rotation. More... | |
class | ROOT::ROOT_MATH_ARCH::RotationZ |
Rotation class representing a 3D rotation about the Z axis by the angle of rotation. More... | |
class | ROOT::ROOT_MATH_ARCH::RotationZYX |
Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle phi (yaw) about the Z axis, followed by a rotation of an angle theta (pitch) about the Y axis, followed by a third rotation of an angle psi (roll) about the X axis. More... | |
class | ROOT::ROOT_MATH_ARCH::Impl::Transform3D< T > |
Basic 3D Transformation class describing a rotation and then a translation The internal data are a 3D rotation data (represented as a 3x3 matrix) and a 3D vector data. More... | |
class | ROOT::ROOT_MATH_ARCH::Impl::Translation3D< T > |
Class describing a 3 dimensional translation. More... | |