#include <optional>
#include <Math/Vector3D.h>
#include <Math/Vector4D.h>
Go to the source code of this file.
|
namespace | iguana |
| General, top-level namespace for algorithms and infrastructure. For algorithms and bindings, see its sub-namespaces.
|
|
namespace | iguana::physics |
| Physics algorithms.
|
|
|
std::optional< double > | iguana::physics::tools::PlaneAngle (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b, ROOT::Math::XYZVector const v_c, ROOT::Math::XYZVector const v_d) |
| calculate the angle between two planes
|
|
std::optional< ROOT::Math::XYZVector > | iguana::physics::tools::ProjectVector (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b) |
| projection of one vector onto another
|
|
std::optional< ROOT::Math::XYZVector > | iguana::physics::tools::RejectVector (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b) |
| projection of one vector onto the plane transverse to another vector
|
|
std::optional< double > | iguana::physics::tools::VectorAngle (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b) |
| calculate the angle between two vectors
|
|
template<typename MOMENTUM_TYPE , typename AXIS_TYPE > |
std::optional< double > | iguana::physics::tools::ParticleRapidity (MOMENTUM_TYPE const &momentum_vec, AXIS_TYPE const &axis_vec) |
| calculate the rapidity of a particle, relative to an axis
|
|
◆ ParticleRapidity()
template<typename MOMENTUM_TYPE , typename AXIS_TYPE >
std::optional< double > iguana::physics::tools::ParticleRapidity |
( |
MOMENTUM_TYPE const & | momentum_vec, |
|
|
AXIS_TYPE const & | axis_vec ) |
calculate the rapidity of a particle, relative to an axis
Given a particle momentum, this method calculates the rapidity of the boost along an axis which takes an observer to the frame in which the particle is moving perpendicular to the axis
- Parameters
-
momentum_vec | the particle 4-momentum |
axis_vec | the axis 3-vector |
- Returns
- the rapidity
◆ PlaneAngle()
std::optional< double > iguana::physics::tools::PlaneAngle |
( |
ROOT::Math::XYZVector const | v_a, |
|
|
ROOT::Math::XYZVector const | v_b, |
|
|
ROOT::Math::XYZVector const | v_c, |
|
|
ROOT::Math::XYZVector const | v_d ) |
calculate the angle between two planes
The two planes are transverse to \(\vec{v}_a\times\vec{v}_b\) and \(\vec{v}_c\times\vec{v}_d\)
- Parameters
-
v_a | vector \(\vec{v}_a\) |
v_b | vector \(\vec{v}_b\) |
v_c | vector \(\vec{v}_c\) |
v_d | vector \(\vec{v}_d\) |
- Returns
- the angle between the planes, in radians, if the calculation is successful
◆ ProjectVector()
std::optional< ROOT::Math::XYZVector > iguana::physics::tools::ProjectVector |
( |
ROOT::Math::XYZVector const | v_a, |
|
|
ROOT::Math::XYZVector const | v_b ) |
projection of one vector onto another
- Parameters
-
v_a | vector \(\vec{v}_a\) |
v_b | vector \(\vec{v}_b\) |
- Returns
- the vector \(\vec{v}_a\) projected onto vector \(\vec{v}_b\), if the calculation is successful
◆ RejectVector()
std::optional< ROOT::Math::XYZVector > iguana::physics::tools::RejectVector |
( |
ROOT::Math::XYZVector const | v_a, |
|
|
ROOT::Math::XYZVector const | v_b ) |
projection of one vector onto the plane transverse to another vector
- Parameters
-
v_a | vector \(\vec{v}_a\) |
v_b | vector \(\vec{v}_b\) |
- Returns
- the vector \(\vec{v}_a\) projected onto the plane transverse to \(\vec{v}_b\), if the calculation is successful
◆ VectorAngle()
std::optional< double > iguana::physics::tools::VectorAngle |
( |
ROOT::Math::XYZVector const | v_a, |
|
|
ROOT::Math::XYZVector const | v_b ) |
calculate the angle between two vectors
- Parameters
-
v_a | vector \(\vec{v}_a\) |
v_b | vector \(\vec{v}_b\) |
- Returns
- the angle between \(\vec{v}_a\) and \(\vec{v}_b\), if the calculation is successful
◆ UNDEF
double const iguana::physics::tools::UNDEF {-10000} |
a value used when some calculation fails
Definition at line 10 of file Tools.h.