Iguana LATEST
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
Tools.h
Go to the documentation of this file.
1#pragma once
3
4#include <Math/Vector3D.h>
5#include <Math/Vector4D.h>
6#include <optional>
7
10
12 double const UNDEF{-10000};
13
22 std::optional<double> PlaneAngle(
23 ROOT::Math::XYZVector const v_a,
24 ROOT::Math::XYZVector const v_b,
25 ROOT::Math::XYZVector const v_c,
26 ROOT::Math::XYZVector const v_d);
27
32 std::optional<ROOT::Math::XYZVector> ProjectVector(
33 ROOT::Math::XYZVector const v_a,
34 ROOT::Math::XYZVector const v_b);
35
40 std::optional<ROOT::Math::XYZVector> RejectVector(
41 ROOT::Math::XYZVector const v_a,
42 ROOT::Math::XYZVector const v_b);
43
48 std::optional<double> VectorAngle(
49 ROOT::Math::XYZVector const v_a,
50 ROOT::Math::XYZVector const v_b);
51
60 template <typename MOMENTUM_TYPE, typename AXIS_TYPE>
61 std::optional<double> ParticleRapidity(
62 MOMENTUM_TYPE const& momentum_vec,
63 AXIS_TYPE const& axis_vec);
64
68 double AdjustAnglePi(double ang);
69
73 double AdjustAngleTwoPi(double ang);
74
75}
physics tools
Definition Tools.h:9
double AdjustAngleTwoPi(double ang)
shift angle to the range
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
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
double AdjustAnglePi(double ang)
shift angle to the range
double const UNDEF
a value used when some calculation fails
Definition Tools.h:12
std::optional< double > ParticleRapidity(MOMENTUM_TYPE const &momentum_vec, AXIS_TYPE const &axis_vec)
calculate the rapidity of a particle, relative to an axis