|
ACTS
Experiment-independent tracking
|
struct representing smallest grid unit in magnetic field grid More...
#include <Acts/MagneticField/InterpolatedBFieldMap.hpp>
Public Member Functions | |
| FieldCell (std::array< double, DIM_POS > lowerLeft, std::array< double, DIM_POS > upperRight, std::array< Vector3, N > fieldValues) | |
| default constructor | |
| Vector3 | getField (const ActsVector< DIM_POS > &position) const |
| retrieve field at given position | |
| bool | isInside (const ActsVector< DIM_POS > &position) const |
| check whether given 3D position is inside this field cell | |
Static Public Attributes | |
| static constexpr unsigned int | N = 1 << DIM_POS |
| number of corner points defining the confining hyper-box | |
struct representing smallest grid unit in magnetic field grid
This type encapsulates all required information to perform linear interpolation of magnetic field values within a confined spatial region (hyper-box). The cell stores field values at all corner points and performs interpolation for any position within the cell boundaries. This allows for efficient repeated lookups within the same grid cell without consulting the full grid structure.
| Acts::InterpolatedBFieldMap< grid_t >::FieldCell::FieldCell | ( | std::array< double, DIM_POS > | lowerLeft, |
| std::array< double, DIM_POS > | upperRight, | ||
| std::array< Vector3, N > | fieldValues ) |
default constructor
| [in] | lowerLeft | generalized lower-left corner of hyper box (containing the minima of the hyper box along each Dimension) |
| [in] | upperRight | generalized upper-right corner of hyper box (containing the maxima of the hyper box along each Dimension) |
| [in] | fieldValues | field values at the hyper box corners sorted in the canonical order defined in Acts::interpolate |
| Vector3 Acts::InterpolatedBFieldMap< grid_t >::FieldCell::getField | ( | const ActsVector< DIM_POS > & | position | ) | const |
retrieve field at given position
| [in] | position | global 3D position |
position must lie within the current field cell. | bool Acts::InterpolatedBFieldMap< grid_t >::FieldCell::isInside | ( | const ActsVector< DIM_POS > & | position | ) | const |
check whether given 3D position is inside this field cell
| [in] | position | global 3D position |
true if position is inside the current field cell, otherwise false
|
staticconstexpr |
number of corner points defining the confining hyper-box