|
ACTS
Experiment-independent tracking
|
Variant-like type to capture different types of boundary tolerances. More...
#include <Acts/Surfaces/BoundaryTolerance.hpp>
Classes | |
| struct | AbsoluteEuclideanParams |
| struct | Chi2BoundParams |
| struct | Chi2CartesianParams |
| struct | InfiniteParams |
| struct | NoneParams |
Public Types | |
| enum class | ToleranceMode { Extend , None , Shrink } |
| Enumeration defining how tolerance should be applied to boundaries. More... | |
Public Member Functions | |
| BoundaryTolerance (BoundaryTolerance &&other) noexcept=default | |
| Move constructor. | |
| BoundaryTolerance (const BoundaryTolerance &other) noexcept=default | |
| Copy constructor. | |
| constexpr const AbsoluteEuclideanParams & | asAbsoluteEuclidean () const |
| Get the tolerance as absolute Euclidean. | |
| constexpr const Chi2BoundParams & | asChi2Bound () const |
| Get the tolerance as chi2 bound. | |
| constexpr const Chi2CartesianParams & | asChi2Cartesian () const |
| Get the tolerance as chi2 Cartesian. | |
| constexpr bool | hasAbsoluteEuclidean () const |
| Check if the tolerance is absolute with Euclidean distance. | |
| constexpr bool | hasChi2Bound () const |
| Check if the tolerance is chi2 with bound coordinates. | |
| constexpr bool | hasChi2Cartesian () const |
| Check if the tolerance is chi2 with Cartesian coordinates. | |
| constexpr bool | isInfinite () const |
| Check if the tolerance is infinite. | |
| constexpr bool | isNone () const |
| Check if the is no tolerance. | |
| bool | isTolerated (const Vector2 &boundDelta, const SquareMatrix2 &boundToCartesian) const |
| Check if the bound position delta is tolerated. | |
| BoundaryTolerance & | operator= (BoundaryTolerance &&other) noexcept=default |
| Move assignment operator. | |
| BoundaryTolerance & | operator= (const BoundaryTolerance &other) noexcept=default |
| Copy assignment operator. | |
| ToleranceMode | toleranceMode () const |
| Get the tolerance mode. | |
Static Public Member Functions | |
| static constexpr auto | AbsoluteEuclidean (double tolerance) noexcept |
| Absolute tolerance in Euclidean distance. | |
| static auto | Chi2Bound (const SquareMatrix2 &weight, double maxChi2) noexcept |
| Chi2 tolerance in bound coordinates. | |
| static auto | Chi2Cartesian (const SquareMatrix2 &weight, double maxChi2) noexcept |
| Chi2 tolerance in Cartesian coordinates. | |
| static constexpr auto | Infinite () noexcept |
| Infinite tolerance i.e. | |
| static constexpr auto | None () noexcept |
| No tolerance i.e. | |
Variant-like type to capture different types of boundary tolerances.
Since our track hypothesis comes with uncertainties, we sometimes need to check if the track is not just within the boundary of the surface but also within a certain tolerance. This class captures different parameterizations of such tolerances. The surface class will then use these tolerances to check if a ray is within the boundary+tolerance of the surface.
Different types of boundary tolerances implemented:
The bound coordinates residual is defined as the difference between the point checked and the closest point on the boundary. The Jacobian is the derivative of the bound coordinates with respect to the Cartesian coordinates.
|
strong |
|
defaultnoexcept |
Copy constructor.
| other | The BoundaryTolerance object to copy |
|
defaultnoexcept |
Move constructor.
| other | The BoundaryTolerance object to move |
|
staticconstexprnoexcept |
Absolute tolerance in Euclidean distance.
| tolerance | The tolerance value in Euclidean distance |
|
constexpr |
Get the tolerance as absolute Euclidean.
|
constexpr |
Get the tolerance as chi2 bound.
|
constexpr |
Get the tolerance as chi2 Cartesian.
|
staticnoexcept |
Chi2 tolerance in bound coordinates.
| weight | The weight matrix for the chi2 calculation |
| maxChi2 | The maximum chi2 value allowed |
|
staticnoexcept |
Chi2 tolerance in Cartesian coordinates.
| weight | The weight matrix for the chi2 calculation |
| maxChi2 | The maximum chi2 value allowed |
|
constexpr |
Check if the tolerance is absolute with Euclidean distance.
|
constexpr |
Check if the tolerance is chi2 with bound coordinates.
|
constexpr |
Check if the tolerance is chi2 with Cartesian coordinates.
|
staticconstexprnoexcept |
Infinite tolerance i.e.
no boundary check
|
constexpr |
Check if the tolerance is infinite.
|
constexpr |
Check if the is no tolerance.
| bool Acts::BoundaryTolerance::isTolerated | ( | const Vector2 & | boundDelta, |
| const SquareMatrix2 & | boundToCartesian ) const |
Check if the bound position delta is tolerated.
| boundDelta | The delta in bound coordinates |
| boundToCartesian | The transformation matrix from bound to Cartesian |
|
staticconstexprnoexcept |
No tolerance i.e.
exact boundary check
|
defaultnoexcept |
Move assignment operator.
| other | The BoundaryTolerance object to move |
|
defaultnoexcept |
Copy assignment operator.
| other | The BoundaryTolerance object to copy |
| ToleranceMode Acts::BoundaryTolerance::toleranceMode | ( | ) | const |
Get the tolerance mode.