|
ACTS
Experiment-independent tracking
|
Base class for interpolated magnetic field providers. More...
#include <Acts/MagneticField/InterpolatedBFieldMap.hpp>
Public Member Functions | |
| virtual Vector3 | getFieldUnchecked (const Vector3 &position) const =0 |
| Get a field value without checking if the lookup position is within the interpolation domain. | |
| virtual std::vector< double > | getMax () const =0 |
| get the maximum value of all axes of the field map | |
| virtual std::vector< double > | getMin () const =0 |
| get the minimum value of all axes of the field map | |
| virtual std::vector< std::size_t > | getNBins () const =0 |
| get the number of bins for all axes of the field map | |
| virtual bool | isInside (const Vector3 &position) const =0 |
| check whether given 3D position is inside look-up domain | |
| Public Member Functions inherited from Acts::MagneticFieldProvider | |
| virtual | ~MagneticFieldProvider ()=default |
| virtual Result< Vector3 > | getField (const Vector3 &position, Cache &cache) const =0 |
| Retrieve magnetic field value at a given location. | |
| virtual Cache | makeCache (const MagneticFieldContext &mctx) const =0 |
| Make an opaque cache for the magnetic field. | |
Additional Inherited Members | |
| Public Types inherited from Acts::MagneticFieldProvider | |
| using | Cache = Acts::AnyBase<sizeof(char) * 512> |
| Opaque cache type that can store arbitrary implementation specific cache data. | |
Base class for interpolated magnetic field providers.
This class can be used for non-trivial magnetic field implementations.
The key idea here is to calculate an interpolated value of the magnetic field from a grid of known field values. In 3D, this means the interpolation is done from the 8 corner points of a field cell. The field cell can be retrieved for any given position. Since during typical access patterns, e.g. the propagation, subsequent steps are relatively likely to not cross the field cell boundary, the field cell can be cached.
|
pure virtual |
Get a field value without checking if the lookup position is within the interpolation domain.
| position | The lookup position in 3D |
position Implemented in Acts::InterpolatedBFieldMap< grid_t >.
|
pure virtual |
get the maximum value of all axes of the field map
Implemented in Acts::InterpolatedBFieldMap< grid_t >.
|
pure virtual |
get the minimum value of all axes of the field map
Implemented in Acts::InterpolatedBFieldMap< grid_t >.
|
pure virtual |
get the number of bins for all axes of the field map
Implemented in Acts::InterpolatedBFieldMap< grid_t >.
|
pure virtual |
check whether given 3D position is inside look-up domain
| [in] | position | global 3D position |
true if position is inside the defined look-up grid, otherwise false Implemented in Acts::InterpolatedBFieldMap< grid_t >.