Iguana 0.0.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
Tools.h File Reference
#include <optional>
#include <Math/Vector3D.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
 

Variables

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

Function Documentation

◆ 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 9 of file Tools.h.