Template Struct InterpolatedBFieldMapper¶
Defined in File InterpolatedBFieldMap.hpp
Nested Relationships¶
Nested Types¶
Struct Documentation¶
-
template<typename
G>
structActs::InterpolatedBFieldMapper¶ struct for mapping global 3D positions to field values
Global 3D positions are transformed into a
DIM_POSDimensional 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
positionmust 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
positionmust 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
-