Iguana 0.0.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
Tools.h File Reference
#include <optional>
#include <Math/Vector3D.h>
#include <Math/Vector4D.h>
Include dependency graph for Tools.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  iguana
 General, top-level namespace for algorithms and infrastructure. For algorithms and bindings, see its sub-namespaces.
 
namespace  iguana::physics
 Physics algorithms.
 

Functions

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
 

Variables

double const iguana::physics::tools::UNDEF {-10000}
 a value used when some calculation fails
 

Function Documentation

◆ 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_vecthe particle 4-momentum
axis_vecthe 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_avector \(\vec{v}_a\)
v_bvector \(\vec{v}_b\)
v_cvector \(\vec{v}_c\)
v_dvector \(\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_avector \(\vec{v}_a\)
v_bvector \(\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_avector \(\vec{v}_a\)
v_bvector \(\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_avector \(\vec{v}_a\)
v_bvector \(\vec{v}_b\)
Returns
the angle between \(\vec{v}_a\) and \(\vec{v}_b\), if the calculation is successful

Variable Documentation

◆ UNDEF

double const iguana::physics::tools::UNDEF {-10000}

a value used when some calculation fails

Definition at line 10 of file Tools.h.