Iguana LATEST
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
iguana::physics::tools Namespace Reference

Detailed Description

physics tools

Functions

double AdjustAnglePi (double ang)
 shift angle to the range \((-\pi,+\pi]\)
double AdjustAngleTwoPi (double ang)
 shift angle to the range \((0,2\pi]\)
template<typename MOMENTUM_TYPE, typename AXIS_TYPE>
std::optional< double > ParticleRapidity (MOMENTUM_TYPE const &momentum_vec, AXIS_TYPE const &axis_vec)
 calculate the rapidity of a particle, relative to an axis
std::optional< double > 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 > ProjectVector (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b)
 projection of one vector onto another
std::optional< ROOT::Math::XYZVector > 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 > VectorAngle (ROOT::Math::XYZVector const v_a, ROOT::Math::XYZVector const v_b)
 calculate the angle between two vectors

Variables

double const UNDEF {-10000}
 a value used when some calculation fails

Function Documentation

◆ AdjustAnglePi()

double iguana::physics::tools::AdjustAnglePi ( double ang)

shift angle to the range \((-\pi,+\pi]\)

Parameters
angthe angle, in radians
Returns
the adjusted angle

◆ AdjustAngleTwoPi()

double iguana::physics::tools::AdjustAngleTwoPi ( double ang)

shift angle to the range \((0,2\pi]\)

Parameters
angthe angle, in radians
Returns
the adjusted angle

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