Three dimensionial vector. More...
#include <PseudoJet.hh>
Public Member Functions | |
Constructor | |
constexpr | Vector3 () |
Default constructor. More... | |
constexpr | Vector3 (Value_ x, Value_ y, Value_ z) |
Constructor accepting three scalars. More... | |
Vector3 (Value_ value, Dim3 dim_3) | |
Constructor accepting one scalar and its direction. More... | |
constexpr | Vector3 (Vector2< Value_ > const &transversal, Value_ z) |
Constructor accepting a two vector and a scalar. More... | |
template<typename Value_2_ > | |
constexpr | Vector3 (Vector3< Value_2_ > const &vector) |
Constructor accepting a vector. More... | |
constexpr | Vector3 (TVector3 const &vector) |
Constructor accepting a root::TVector3. More... | |
Setter | |
void | SetUniform (Value_ value) |
Set x, y, z according to value. More... | |
void | SetMag (Value_ magnitude) |
Set the magnitude keeping theta and phi constant. More... | |
void | SetPerp (Value_ perp) |
Set the transverse component keeping phi and z constant. More... | |
void | SetPhi (boca::Angle const &phi) |
Set phi keeping the magnitue and theta constant. More... | |
void | SetMagThetaPhi (Value_ mag, boca::Angle const &theta, boca::Angle const &phi) |
Set mag, theta, phi. More... | |
void | SetTheta (boca::Angle const &theta) |
Set theta keeping mag and phi constant. More... | |
void | SetPerpThetaPhi (Value_ perp, boca::Angle const &theta, boca::Angle const &phi) |
Set Perpendicular, Theta and Phi. More... | |
void | SetPerpEtaPhi (Value_ const &perp, boca::Angle const &eta, boca::Angle const &phi) |
Set Perpendicular, Eta and Phi. More... | |
Accessors and Getters | |
constexpr Value_ const & | X () const |
Getter for X. More... | |
constexpr Value_ const & | Y () const |
Getter for Y. More... | |
constexpr Value_ const & | Z () const |
Getter for Z. More... | |
constexpr Vector2< Value_ > | Transversal () const |
Transversal vector \((x, y)\). More... | |
Value_ & | X () |
Accessor for X. More... | |
Value_ & | Y () |
Accessor for Y. More... | |
Value_ & | Z () |
Accessor for Z. More... | |
Vector2< Value_ > & | Transversal () |
Transversal vector \((x, y)\). More... | |
Angles | |
boca::Angle | Phi () const |
The azimuth angle \(\phi\) restricted to \([-\pi,\pi]\). More... | |
boca::Angle | Theta () const |
The polar angle \(\theta\). More... | |
double | CosTheta () const |
Cosine of the polar angle \(\cos \theta\). More... | |
double | SinTheta2 () const |
Square of the sine of the polar angle \(\sin^2 \theta\). More... | |
double | SinTheta () const |
Sine of the polar angle \(\sin \theta\). More... | |
template<typename Value_2_ > | |
boca::Angle | DeltaPhiTo (Vector3< Value_2_ > const &vector) const |
Difference to vector in azimuth \(\Delta\phi\) restricted to \([-\pi,\pi]\). More... | |
template<typename Value_2_ > | |
boca::Angle | DeltaEtaTo (Vector3< Value_2_ > const &vector) const |
Difference to vector in PseudoRapidity \(\Delta\eta\). More... | |
template<typename Value_2_ > | |
boca::Angle | DeltaRTo (Vector3< Value_2_ > const &vector) const |
Difference to vector in \(\Delta R = \sqrt{(\Delta \eta)^2 + (\Delta \phi)^2}\). More... | |
boca::Angle | Angle (Vector3 const &vector) const |
The angle to vector. More... | |
double | Tan2 (Vector3 const &vector) |
Square of the tangent of the polar angle \(\tan(\theta)^2\) to a vector. More... | |
boca::Angle | PseudoRapidity () const |
Pseudorapidity \(\eta = -\ln(\tan(\frac{\theta}{2}))\). More... | |
boca::Angle | Eta () const |
The azimuth angle \(\phi\) restricted to \([-\pi,\pi]\). More... | |
Magnitudes | |
constexpr ValueSquare | Mag2 () const |
The magnitude squared \(r^2 = x^2 + y^2 + z^2\). More... | |
constexpr Value_ | Mag () const |
The magnitude \(r = \sqrt{x^2 + y^2 + z^2}\). More... | |
constexpr ValueSquare | Perp2 () const |
The transverse component squared \(\rho^2 = x^2 + y^2\). More... | |
constexpr Value_ | Perp () const |
The transverse component \(\rho = \sqrt{x^2 + y^2}\). More... | |
template<typename Value_2_ > | |
constexpr ValueSquare | Perp2 (Vector3< Value_2_ > const &vector) const |
The transverse component \(x^2 + y^2\) to a vector. More... | |
template<typename Value_2_ > | |
constexpr Value_ | Perp (Vector3< Value_2_ > const &vector) const |
The transverse component \(\sqrt{x^2 + y^2}\) to a vector. More... | |
Rotations | |
Vector3 & | Rotate (boca::Angle const &phi, Dim3 dim_1, Dim3 dim_2) |
Rotate by phi in (dim_1, dim_2) plain. More... | |
Vector3 & | Rotate (boca::Angle const &phi, Dim3 dim) |
Rotate by phi around axis dim. More... | |
template<typename Value_2_ > | |
auto & | Rotate (boca::Angle angle, Vector3< Value_2_ > const &axis) |
Rotates around the axis specified by another vector. More... | |
template<typename Value_2_ > | |
auto & | Transform (Matrix3< Value_2_ > const &matrix) |
Transformation with a Rotation matrix. More... | |
template<typename Value_2_ > | |
constexpr void | RotateUz (Vector3< Value_2_ > const &vector) |
Rotates reference frame from \(U_z\) to \(U_z^\prime\). More... | |
Vectors | |
Vector3< double > | Unit () const |
Unit vector parallel to this. More... | |
Vector3 | Orthogonal () const |
Vector orthogonal to this. More... | |
Vector2< boca::Angle > | EtaPhiVector () const |
Angluar vector ( \(\eta\), \(\phi\)) More... | |
Products | |
template<typename Value_2_ > | |
constexpr Vector3< ValueProduct< Value_2_ > > | Scale (Value_2_ const &scalar) const |
Scale vector with a scalar. More... | |
template<typename Value_2_ > | |
constexpr ValueProduct< Value_2_ > | Dot (Vector3< Value_2_ > const &vector) const |
Dot product between two vector. More... | |
template<typename Value_2_ > | |
constexpr Vector3< ValueProduct< Value_2_ > > | Cross (Vector3< Value_2_ > const &vector) const |
Cross product between two vector. More... | |
template<typename Value_2_ , typename Value_3 > | |
constexpr ValueCubed< Value_2_, Value_3 > | Triple (Vector3< Value_2_ > const &vector_1, Vector3< Value_3 > const &vector_2) const |
Triple product between three vectors. More... | |
Operators | |
constexpr bool | operator< (Vector3 const &vector) const |
Less than comparison. More... | |
constexpr bool | operator== (Vector3 const &vector) const |
Equality comparison. More... | |
template<typename Value_2_ , typename = OnlyIfNotOrSameQuantity<Value_2_>> | |
Vector3 & | operator+= (Vector3< Value_2_ > const &vector) |
Sum of two vectors. More... | |
template<typename Value_2_ , typename = OnlyIfNotOrSameQuantity<Value_2_>> | |
Vector3 & | operator-= (Vector3< Value_2_ > const &vector) |
Difference of two vectors. More... | |
template<typename Value_2_ , typename = OnlyIfNotQuantity<Value_2_>> | |
Vector3 & | operator*= (Value_2_ scalar) |
Scaling with real numbers. More... | |
template<typename Value_2_ > | |
auto & | operator*= (Matrix3< Value_2_ > const &matrix) |
Multiplication with a matrix. More... | |
template<typename Value_2_ , typename = OnlyIfNotQuantity<Value_2_>> | |
Vector3 & | operator/= (Value_2_ scalar) |
division by scalar More... | |
constexpr Vector3 | operator- () const |
Unary minus. More... | |
Value_ const & | operator[] (Dim3 dim_3) const |
Components by index. More... | |
Value_ & | operator[] (Dim3 dim_3) |
Components by index. More... | |
template<typename Value_2_ > | |
constexpr friend Vector3< ValueProduct< Value_2_ > > | operator^ (Vector3 const &vector_1, Vector3< Value_2_ > const &vector_2) |
Cross product. More... | |
template<typename Value_2_ > | |
constexpr friend Vector3< ValueQuotient< Value_2_ > > | operator/ (Vector3 const &vector, Value_2_ const &scalar) |
division by scalar More... | |
auto & | operator<< (std::ostream &stream, Vector3< Value_ > const &vector) |
Output stream operator. More... | |
Iterators | |
using | Dimension = Dim3 |
Const begin. More... | |
constexpr ConstIterator< boca::Vector3, Value_ > | begin () const |
Const begin. More... | |
constexpr ConstIterator< boca::Vector3, Value_ > | end () const |
Const end. More... | |
Iterator< boca::Vector3, Value_ > | begin () |
begin More... | |
Iterator< boca::Vector3, Value_ > | end () |
end More... | |
Detailed Description
template<class Value_>
class boca::Vector3< Value_ >
Three dimensionial vector.
Member Typedef Documentation
using boca::Vector3< Value_ >::Dimension = Dim3 |
Const begin.
Constructor & Destructor Documentation
|
inline |
Default constructor.
|
inline |
Constructor accepting three scalars.
|
inline |
Constructor accepting one scalar and its direction.
|
inline |
Constructor accepting a two vector and a scalar.
|
inline |
Constructor accepting a vector.
|
inline |
Constructor accepting a root::TVector3.
Member Function Documentation
|
inline |
The angle to vector.
|
inline |
Const begin.
|
inline |
begin
|
inline |
Cosine of the polar angle \(\cos \theta\).
|
inline |
Cross product between two vector.
|
inline |
Difference to vector in PseudoRapidity \(\Delta\eta\).
|
inline |
Difference to vector in azimuth \(\Delta\phi\) restricted to \([-\pi,\pi]\).
|
inline |
Difference to vector in \(\Delta R = \sqrt{(\Delta \eta)^2 + (\Delta \phi)^2}\).
|
inline |
Dot product between two vector.
|
inline |
Const end.
|
inline |
end
|
inline |
The azimuth angle \(\phi\) restricted to \([-\pi,\pi]\).
|
inline |
Angluar vector ( \(\eta\), \(\phi\))
|
inline |
The magnitude \(r = \sqrt{x^2 + y^2 + z^2}\).
|
inline |
The magnitude squared \(r^2 = x^2 + y^2 + z^2\).
|
inline |
Scaling with real numbers.
auto & boca::Vector3< Value_1_ >::operator*= | ( | Matrix3< Value_2_ > const & | matrix | ) |
Multiplication with a matrix.
|
inline |
Sum of two vectors.
|
inline |
Unary minus.
|
inline |
Difference of two vectors.
|
inline |
division by scalar
|
inline |
Less than comparison.
|
inline |
Equality comparison.
|
inline |
Components by index.
|
inline |
Components by index.
|
inline |
Vector orthogonal to this.
|
inline |
The transverse component \(\rho = \sqrt{x^2 + y^2}\).
|
inline |
The transverse component \(\sqrt{x^2 + y^2}\) to a vector.
|
inline |
The transverse component squared \(\rho^2 = x^2 + y^2\).
|
inline |
The transverse component \(x^2 + y^2\) to a vector.
|
inline |
The azimuth angle \(\phi\) restricted to \([-\pi,\pi]\).
|
inline |
Pseudorapidity \(\eta = -\ln(\tan(\frac{\theta}{2}))\).
|
inline |
Rotate by phi in (dim_1, dim_2) plain.
|
inline |
Rotate by phi around axis dim.
auto & boca::Vector3< Value_1_ >::Rotate | ( | boca::Angle | angle, |
Vector3< Value_2_ > const & | axis | ||
) |
Rotates around the axis specified by another vector.
|
inline |
Rotates reference frame from \(U_z\) to \(U_z^\prime\).
|
inline |
Scale vector with a scalar.
|
inline |
Set the magnitude keeping theta and phi constant.
|
inline |
Set mag, theta, phi.
|
inline |
Set the transverse component keeping phi and z constant.
|
inline |
Set Perpendicular, Eta and Phi.
|
inline |
Set Perpendicular, Theta and Phi.
|
inline |
Set phi keeping the magnitue and theta constant.
|
inline |
Set theta keeping mag and phi constant.
|
inline |
Set x, y, z according to value.
|
inline |
Sine of the polar angle \(\sin \theta\).
|
inline |
Square of the sine of the polar angle \(\sin^2 \theta\).
|
inline |
Square of the tangent of the polar angle \(\tan(\theta)^2\) to a vector.
usign \(\frac{(a \times b)^2}{(a \cdot b)^2}\)
|
inline |
The polar angle \(\theta\).
auto & boca::Vector3< Value_1_ >::Transform | ( | Matrix3< Value_2_ > const & | matrix | ) |
Transformation with a Rotation matrix.
|
inline |
Transversal vector \((x, y)\).
|
inline |
Transversal vector \((x, y)\).
|
inline |
Triple product between three vectors.
|
inline |
Unit vector parallel to this.
|
inline |
Getter for X.
|
inline |
Accessor for X.
|
inline |
Getter for Y.
|
inline |
Accessor for Y.
|
inline |
Getter for Z.
|
inline |
Accessor for Z.
Friends And Related Function Documentation
|
friend |
division by scalar
|
friend |
Output stream operator.
|
friend |
Cross product.
The documentation for this class was generated from the following files:
- boca/fastjet/PseudoJet.hh
- boca/math/Vector3.hh
- boca/math/Matrix3.hh