Lorentz Vector. More...
#include <LorentzVectorBase.hh>
Public Member Functions | |
boca::Angle | Rapidity (Vector3< double > const &vector) const |
Rapidity with respect to another vector. More... | |
template<typename Value_2_ > | |
boca::Angle | DeltaRapTo (LorentzVectorBase< Value_2_ > const &vector) const |
Difference in Rapidity to a vector \(\Delta y\). More... | |
template<typename Value_2_ > | |
boca::Angle | DeltaRTo (LorentzVectorBase< Value_2_ > const &vector) const |
Difference in agular space to a vector \(\Delta R = \sqrt{ (\Delta y)^2 + (\Delta \phi)^2}\) to vector. More... | |
Constructor | |
constexpr | LorentzVectorBase () |
Default constructor. More... | |
constexpr | LorentzVectorBase (Value_ x, Value_ y, Value_ z, Value_ t) |
Constructor accepting the components x, y, z, t. More... | |
constexpr | LorentzVectorBase (Vector3< Value_ > const &vector3, Value_ const &t) |
Constructor accepting a 3-Vector and a scalar component. More... | |
template<typename Value_2 > | |
constexpr | LorentzVectorBase (LorentzVectorBase< Value_2 > const &lorentz_vector) |
Copy constructor with casting. More... | |
Setter | |
void | SetVectT (Vector3< Value_ > const &spatial, Value_ t) |
Set components. More... | |
void | SetRho (Value_ rho) |
Set spatial magnitude. More... | |
void | SetMag (Value_ magnitude) |
Set Nergy according to spatial component and magnitude \(e = \sqrt{ m^2 + \rho^2}\). More... | |
void | SetVectMag (Vector3< Value_ > const &spatial, Value_ magnitude) |
Copy spatial coordinates, and set \(e = \sqrt{ m^2 + \rho^2}\). More... | |
void | SetPerpEtaPhiMag (Value_ const &perp, boca::Angle const &eta, boca::Angle const &phi, Value_ const &mag) |
Set perp, \(\eta\), \(\phi\) and magnitude. More... | |
void | SetPerpEtaPhiT (Value_ const &perp, boca::Angle const &eta, boca::Angle const &phi, Value_ const &t) |
Set perp, \(\eta\), \(\phi\) and time. More... | |
Accessors and Getter | |
constexpr Vector3< Value_ > const & | Spatial () const |
Getter for the spatial components. More... | |
Vector3< Value_ > & | Spatial () |
Accessor for the spatial components. More... | |
Value_ & | Scalar () |
Accessor for the scalar. More... | |
Value_ & | T () |
Getter for the spatial components. More... | |
constexpr Value_ const & | Scalar () const |
Getter for the scalar component. More... | |
constexpr Value_ const & | T () const |
Getter for the scalar component. More... | |
Angles | |
boca::Angle | Rapidity () const |
Rapidity \(y = \frac{1}{2} \ln\frac{t + z}{t - z}\). More... | |
boca::Angle | Rap () const |
Rapidity \(y = \frac{1}{2} \ln\frac{t + z}{t - z}\). More... | |
Magnitudes | |
constexpr ValueSquare | Rho2 () const |
Square of the spatial radius \(\rho^2 = x^2 + y^2\). More... | |
constexpr Value_ | Rho () const |
spatial radius \(\rho = \sqrt{x^2 + y^2 + z^2}\) More... | |
constexpr ValueSquare | Mag2 () const |
Square of the magnitude \(m^2 = t^2 - \rho^2\). More... | |
constexpr Value_ | Mag () const |
Magnitude \(m = \sqrt{t^2 - \rho^2}\). More... | |
constexpr ValueSquare | MagT2 () const |
Square of the transvere magnitude \(m_T^2 = m^2 + x^2 + y^2\). More... | |
constexpr Value_ | MagT () const |
Transvere magnitude \(m_T = \sqrt{m^2 + x^2 + y^2}\). More... | |
constexpr ValueSquare | ScalarT2 () const |
transvere scalar square \(e_T^2 = e^2 \frac{p_T^2}{\rho^2}\) More... | |
constexpr Value_ | ScalarT () const |
transvere scalar square \(e_T = e \frac{p_T}{\rho}\) More... | |
template<typename Value , typename = OnlyIfNotQuantity<Value>> | |
constexpr ValueSquare | ScalarT2 (Vector3< Value > const &vector) const |
Transverse scalar squared towards a vector. More... | |
template<typename Value , typename = OnlyIfNotQuantity<Value>> | |
constexpr Value_ | ScalarT (Vector3< Value > const &vector) const |
Transverse scalar towards a vector. More... | |
constexpr double | Beta () const |
Relative velocity \(\beta = \frac{\rho}{t}\). More... | |
constexpr double | Gamma () const |
Lorentz factor \(\gamma = \frac{1}{\sqrt{1-\beta^2}}\). More... | |
constexpr Value_ | Plus () const |
Positive light cone component \(p = t + z\). More... | |
constexpr Value_ | Minus () const |
Negative light cone component \(m = t - z\). More... | |
Vectors | |
constexpr Vector3< double > | BoostVector () const |
Spatial components divided by the time component. More... | |
constexpr Vector3< double > | BoostIntoRestFrame () const |
constexpr LorentzVectorBase< Value_ > | Boosted (Vector3< double > const &boost) const |
Boosted Lorentz vector. More... | |
Rotation | |
LorentzVectorBase< Value_ > & | Boost (Vector3< double > const &boost) |
Boost this Lorentz vector. More... | |
Products | |
template<typename Value_2 > | |
constexpr LorentzVectorBase< ValueProduct< Value_2 > > | Scale (Value_2 const &scalar) const |
Scale. More... | |
template<typename Value_2 > | |
constexpr ValueProduct< Value_2 > | Dot (LorentzVectorBase< Value_2 > const &lorentz_vector) const |
Scalar dot product with a lorentz vector. More... | |
template<typename Value_2 > | |
constexpr ValueProduct< Value_2 > | Euclidean (LorentzVectorBase< Value_2 > const &lorentz_vector) const |
Euclidean product with a lorentz vector. More... | |
Protected Types | |
template<typename Value_2 > | |
using | OnlyIfNotQuantity = typename std::enable_if< !IsQuantity< Value_2 >::value >::type |
Protected Attributes | |
Value_ | scalar_ |
time or energy component More... | |
Operators | |
constexpr bool | operator< (LorentzVectorBase const &lorentz_vector) const |
Less than comparison. More... | |
constexpr bool | operator== (LorentzVectorBase const &lorentz_vector) const |
Equality comparison. More... | |
template<typename Value_2 , typename = OnlyIfNotOrSameQuantity<Value_2>> | |
LorentzVectorBase & | operator+= (LorentzVectorBase< Value_2 > const &lorentz_vector) |
Additions. More... | |
template<typename Value_2 , typename = OnlyIfNotOrSameQuantity<Value_2>> | |
LorentzVectorBase & | operator-= (LorentzVectorBase< Value_2 > const &lorentz_vector) |
Subtractions. More... | |
template<typename Value_2 , typename = OnlyIfNotQuantity<Value_2>> | |
LorentzVectorBase & | operator*= (Value_2 scalar) |
Product with scalar. More... | |
template<typename Value_2 , typename = OnlyIfNotQuantity<Value_2>> | |
LorentzVectorBase & | operator/= (Value_2 scalar) |
Divison by scalar. More... | |
template<typename Value_2 > | |
constexpr LorentzVectorBase< ValueQuotient< Value_2 > > | operator/ (Value_2 const &scalar) const |
Divison by scalar. More... | |
constexpr LorentzVectorBase | operator- () const |
Unary minus. More... | |
Value_ const & | operator[] (LorentzDim lorentz_dim) const |
components by index. More... | |
Value_ & | operator[] (LorentzDim lorentz_dim) |
components by index. More... | |
auto & | operator<< (std::ostream &stream, LorentzVectorBase< Value_ > const &lorentz_vector) |
Output stream operator. More... | |
Iterators | |
using | Dimension = LorentzDim |
constexpr ConstIterator< Vector3, Value_ > | begin () const |
constexpr ConstIterator< Vector3, Value_ > | end () const |
Iterator< Vector3, Value_ > | begin () |
Iterator< Vector3, Value_ > | end () |
Detailed Description
template<typename Value_>
class boca::LorentzVectorBase< Value_ >
Lorentz Vector.
Member Typedef Documentation
using boca::LorentzVectorBase< Value_ >::Dimension = LorentzDim |
|
protected |
Constructor & Destructor Documentation
|
inline |
Default constructor.
|
inline |
Constructor accepting the components x, y, z, t.
|
inline |
Constructor accepting a 3-Vector and a scalar component.
|
inline |
Copy constructor with casting.
Member Function Documentation
|
inline |
|
inline |
|
inline |
Relative velocity \(\beta = \frac{\rho}{t}\).
|
inline |
Boost this Lorentz vector.
|
inline |
Boosted Lorentz vector.
|
inline |
Boost from reference frame into this vector's rest frame: \(-\frac{\vec{x}}{t}\).
|
inline |
Spatial components divided by the time component.
|
inline |
Difference in Rapidity to a vector \(\Delta y\).
|
inline |
Difference in agular space to a vector \(\Delta R = \sqrt{ (\Delta y)^2 + (\Delta \phi)^2}\) to vector.
|
inline |
Scalar dot product with a lorentz vector.
|
inline |
|
inline |
|
inline |
Euclidean product with a lorentz vector.
|
inline |
Lorentz factor \(\gamma = \frac{1}{\sqrt{1-\beta^2}}\).
|
inline |
Magnitude \(m = \sqrt{t^2 - \rho^2}\).
If the square of the magnitude is negative \(-\sqrt{-m^2}\) is returned
|
inline |
Square of the magnitude \(m^2 = t^2 - \rho^2\).
|
inline |
Transvere magnitude \(m_T = \sqrt{m^2 + x^2 + y^2}\).
|
inline |
Square of the transvere magnitude \(m_T^2 = m^2 + x^2 + y^2\).
|
inline |
Negative light cone component \(m = t - z\).
Beware of alternative definition \(m = \frac{t - z}{\sqrt 2}\)
|
inline |
Product with scalar.
|
inline |
Additions.
|
inline |
Unary minus.
|
inline |
Subtractions.
|
inline |
Divison by scalar.
|
inline |
Divison by scalar.
|
inline |
Less than comparison.
|
inline |
Equality comparison.
|
inline |
components by index.
|
inline |
components by index.
|
inline |
Positive light cone component \(p = t + z\).
Beware of alternative definition \(p = \frac{t + z}{\sqrt 2}\)
|
inline |
Rapidity \(y = \frac{1}{2} \ln\frac{t + z}{t - z}\).
|
inline |
Rapidity \(y = \frac{1}{2} \ln\frac{t + z}{t - z}\).
|
inline |
Rapidity with respect to another vector.
|
inline |
spatial radius \(\rho = \sqrt{x^2 + y^2 + z^2}\)
|
inline |
Square of the spatial radius \(\rho^2 = x^2 + y^2\).
|
inline |
Accessor for the scalar.
|
inline |
Getter for the scalar component.
|
inline |
transvere scalar square \(e_T = e \frac{p_T}{\rho}\)
|
inline |
Transverse scalar towards a vector.
|
inline |
transvere scalar square \(e_T^2 = e^2 \frac{p_T^2}{\rho^2}\)
|
inline |
Transverse scalar squared towards a vector.
|
inline |
Scale.
|
inline |
Set Nergy according to spatial component and magnitude \(e = \sqrt{ m^2 + \rho^2}\).
|
inline |
Set perp, \(\eta\), \(\phi\) and magnitude.
|
inline |
Set perp, \(\eta\), \(\phi\) and time.
|
inline |
Set spatial magnitude.
|
inline |
Copy spatial coordinates, and set \(e = \sqrt{ m^2 + \rho^2}\).
|
inline |
Set components.
|
inline |
Getter for the spatial components.
|
inline |
Accessor for the spatial components.
|
inline |
Getter for the spatial components.
|
inline |
Getter for the scalar component.
Friends And Related Function Documentation
|
friend |
Output stream operator.
Member Data Documentation
|
protected |
time or energy component
The documentation for this class was generated from the following file:
- boca/math/LorentzVectorBase.hh