17#ifndef ROOT_Math_GenVector_Boost
18#define ROOT_Math_GenVector_Boost 1
82 template <
class Avector>
115 for (
unsigned int i=0; i < 10; ++i) {
154 template <
class Avector>
169 IT
a = begin; IT
b = ++begin; IT
c = ++begin;
170 assert (++begin==end);
184 IT
a = begin; IT
b = ++begin; IT
c = ++begin;
185 assert (++begin==end);
230 template <
class CoordSystem>
243 template <
class Foreign4Vector>
248 return Foreign4Vector ( r_xyzt.
X(), r_xyzt.
Y(), r_xyzt.
Z(), r_xyzt.
T() );
254 template <
class A4Vector>
275 for (
unsigned int i=0; i < 10; ++i) {
276 if(
fM[i] != rhs.
fM[i] )
return false;
Class representing a Lorentz Boost along the X axis, by beta.
XYZVector BetaVector() const
Class representing a Lorentz Boost along the Y axis, by beta.
XYZVector BetaVector() const
Class representing a Lorentz Boost along the Z axis, by beta.
XYZVector BetaVector() const
Lorentz boost class with the (4D) transformation represented internally by a 4x4 orthosymplectic matr...
void SetComponents(const Avector &beta)
Set components from a beta vector.
void GetLorentzRotation(Scalar r[]) const
Get elements of internal 4x4 symmetric representation, into a data array suitable for direct use as t...
DisplacementVector3D< Cartesian3D< double >, DefaultCoordinateSystemTag > XYZVector
The beta vector for this boost.
void Invert()
Invert a Boost in place.
Boost(Scalar beta_x, Scalar beta_y, Scalar beta_z)
Construct given a three Scalars beta_x, beta_y, and beta_z.
bool operator!=(const Boost &rhs) const
Boost(BoostX const &bx)
Construct from an axial boost.
Boost(Boost const &b)
copy constructor
void SetComponents(IT begin, IT end)
Set given a pair of pointers or iterators defining the beginning and end of an array of three Scalars...
Boost()
Default constructor (identity transformation)
A4Vector operator*(const A4Vector &v) const
Overload operator * for boost on a vector.
Boost & operator=(BoostY const &by)
Boost & operator=(BoostZ const &bz)
Boost(const Avector &beta)
Construct given a beta vector (which must have methods x(), y(), z())
void SetComponents(Scalar beta_x, Scalar beta_y, Scalar beta_z)
Set components from beta_x, beta_y, and beta_z.
ELorentzRotationMatrixIndex
bool operator==(const Boost &rhs) const
Equality/inequality operators.
Boost Inverse() const
Return inverse of a boost.
LorentzVector< ROOT::Math::PxPyPzE4D< double > > operator()(const LorentzVector< ROOT::Math::PxPyPzE4D< double > > &v) const
Lorentz transformation operation on a Minkowski ('Cartesian') LorentzVector.
void Rectify()
Re-adjust components to eliminate small deviations from a perfect orthosyplectic matrix.
Boost & operator=(BoostX const &bx)
Assign from an axial pure boost.
void GetComponents(Scalar &beta_x, Scalar &beta_y, Scalar &beta_z) const
Get components into beta_x, beta_y, and beta_z.
Boost & operator=(Boost const &rhs)
Assignment operator.
void GetComponents(IT begin) const
Get given a pointer or an iterator defining the beginning of an array into which to place beta_x,...
void GetComponents(IT begin, IT end) const
Get given a pair of pointers or iterators defining the beginning and end of an array of three Scalars...
Boost(IT begin, IT end)
Construct given a pair of pointers or iterators defining the beginning and end of an array of three S...
XYZVector BetaVector() const
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...
double beta(double x, double y)
Calculates the beta function.
Namespace for new Math classes and functions.
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
Rotation3D::Scalar Scalar
Namespace for new ROOT classes and functions.