17#ifndef ROOT_MathX_GenVectorX_BoostZ
18#define ROOT_MathX_GenVectorX_BoostZ 1
153 template <
class CoordSystem>
166 template <
class Foreign4Vector>
171 return Foreign4Vector(r_xyzt.
X(), r_xyzt.
Y(), r_xyzt.
Z(), r_xyzt.
T());
177 template <
class A4Vector>
218#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
Class representing a Lorentz Boost along the Z axis, by beta.
bool operator==(const BoostZ &rhs) const
Equality/inequality operators.
void GetComponents(Scalar &beta_z) const
Get components into a Scalar beta_z.
bool operator!=(const BoostZ &rhs) const
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
The beta vector for this boost.
LorentzVector< CoordSystem > operator()(const LorentzVector< CoordSystem > &v) const
Lorentz transformation operation on a LorentzVector in any coordinate system.
void SetComponents(Scalar beta_z)
Set components from a Scalar beta_z.
ELorentzRotationMatrixIndex
void SetBeta(Scalar beta)
Set the given beta of the Boost.
BoostZ(Scalar beta_z)
Construct given a Scalar beta_z.
Scalar Beta() const
Retrieve the beta of the Boost.
A4Vector operator*(const A4Vector &v) const
Overload operator * for boost on a vector.
LorentzVector< PxPyPzE4D< double > > operator()(const LorentzVector< PxPyPzE4D< double > > &v) const
Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.
void GetLorentzRotation(Scalar r[]) const
Get elements of internal 4x4 symmetric representation, into a data array suitable for direct use as t...
void Rectify()
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
void Invert()
Invert a BoostZ in place.
XYZVector BetaVector() const
Foreign4Vector operator()(const Foreign4Vector &v) const
Lorentz transformation operation on an arbitrary 4-vector v.
Scalar Gamma() const
Retrieve the gamma of the Boost.
BoostZ()
Default constructor (identity transformation).
BoostZ Inverse() const
Return inverse of a BoostZ.
DefaultCoordinateSystemTag Default tag for identifying any coordinate system.
Class describing a generic displacement vector in 3 dimensions.
Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system ...
Class describing a 4D cartesian coordinate system (x, y, z, t coordinates) or momentum-energy vectors...
Rotation3D::Scalar Scalar
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.