Struct Acts::InterpolatedBFieldMap::FieldCell¶
-
struct Acts::InterpolatedBFieldMap::FieldCell¶
struct representing smallest grid unit in magnetic field grid
This type encapsulate all required information to perform linear interpolation of magnetic field values within a confined 3D volume.
Public Functions
-
inline FieldCell(std::array<double, DIM_POS> lowerLeft, std::array<double, DIM_POS> upperRight, std::array<Vector3, N> fieldValues)¶
default constructor
- Parameters
lowerLeft – [in] generalized lower-left corner of hyper box (containing the minima of the hyper box along each Dimension)
upperRight – [in] generalized upper-right corner of hyper box (containing the maxima of the hyper box along each Dimension)
fieldValues – [in] field values at the hyper box corners sorted in the canonical order defined in Acts::interpolate
-
inline Vector3 getField(const ActsVector<DIM_POS> &position) const¶
retrieve field at given position
- Parameters
position – [in] global 3D position
- Returns
magnetic field value at the given position
- Pre
The given
position
must lie within the current field cell.
-
inline bool isInside(const ActsVector<DIM_POS> &position) const¶
check whether given 3D position is inside this field cell
- Parameters
position – [in] global 3D position
- Returns
true
if position is inside the current field cell, otherwisefalse
Public Static Attributes
-
static constexpr unsigned int N = 1 << DIM_POS¶
number of corner points defining the confining hyper-box
-
inline FieldCell(std::array<double, DIM_POS> lowerLeft, std::array<double, DIM_POS> upperRight, std::array<Vector3, N> fieldValues)¶