Template Struct InterpolatedBFieldMapper¶
Defined in File InterpolatedBFieldMap.hpp
Struct Documentation¶
-
template<typename
G
>
structActs
::
InterpolatedBFieldMapper
¶ struct for mapping global 3D positions to field values
Global 3D positions are transformed into a
DIM_POS
Dimensional vector which is used to look up the magnetic field value in the underlying field map.- Template Parameters
DIM_POS
: Dimensionality of position in magnetic field mapDIM_BFIELD
: Dimensionality of BField in magnetic field map
Public Functions
-
InterpolatedBFieldMapper
(std::function<ActsVector<DIM_POS>(const Vector3&)> transformPos, std::function<Vector3(const FieldType&, const Vector3&)> transformBField, Grid_t grid, )¶ default constructor
- Parameters
[in] transformPos
: mapping of global 3D coordinates (cartesian) onto grid space[in] transformBField
: calculating the global 3D coordinates (cartesian) of the magnetic field with the local n dimensional field and the global 3D position as input[in] grid
: grid storing magnetic field values
-
Vector3
getField
(const Vector3 &position) const¶ retrieve field at given position
- Return
magnetic field value at the given position
- Pre
The given
position
must lie within the range of the underlying magnetic field map.- Parameters
[in] position
: global 3D position
-
FieldCell
getFieldCell
(const Vector3 &position) const¶ retrieve field cell for given position
- Return
field cell containing the given global position
- Pre
The given
position
must lie within the range of the underlying magnetic field map.- Parameters
[in] position
: global 3D position
-
const Grid_t &
getGrid
() const¶ Get a const reference on the underlying grid structure.
- Return
grid reference
-
std::vector<double>
getMax
() const¶ get the maximum value of all axes of the field map
- Return
vector returning the maxima of all field map axes
-
std::vector<double>
getMin
() const¶ get the minimum value of all axes of the field map
- Return
vector returning the minima of all field map axes
-
std::vector<size_t>
getNBins
() const¶ get the number of bins for all axes of the field map
- Return
vector returning number of bins for all field map axes
-
struct
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
-
FieldCell
(std::function<ActsVector<DIM_POS>(const Vector3&)> transformPos, std::array<double, DIM_POS> lowerLeft, std::array<double, DIM_POS> upperRight, std::array<Vector3, N> fieldValues, )¶ default constructor
- Parameters
[in] transform
: mapping of global 3D coordinates onto grid space[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
-