Template Class InterpolatedBFieldMap¶
Defined in File InterpolatedBFieldMap.hpp
Nested Relationships¶
Nested Types¶
Inheritance Relationships¶
Base Type¶
public Acts::MagneticFieldProvider(Class MagneticFieldProvider)
Class Documentation¶
-
template<typename
Mapper_t>
classActs::InterpolatedBFieldMap: public Acts::MagneticFieldProvider¶ interpolate magnetic field value from field values on a given grid
This class implements a magnetic field service which is initialized by a field map defined by:
a list of field values on a regular grid in some n-Dimensional space,
a transformation of global 3D coordinates onto this n-Dimensional space.
a transformation of local n-Dimensional magnetic field coordinates into global (cartesian) 3D coordinates
The magnetic field value for a given global position is then determined by:
mapping the position onto the grid,
looking up the magnetic field values on the closest grid points,
doing a linear interpolation of these magnetic field values.
Public Functions
-
InterpolatedBFieldMap(Config config)¶ create interpolated magnetic field map
- Parameters
[in] config: configuration object
-
Config
getConfiguration() const¶ get configuration object
- Return
copy of the internal configuration object
-
Vector3
getField(const Vector3 &position, MagneticFieldProvider::Cache &gcache) const override¶
-
Vector3
getFieldGradient(const Vector3 &position, ActsMatrix<3, 3>&) const override¶ - Note
currently the derivative is not calculated
-
Vector3
getFieldGradient(const Vector3 &position, ActsMatrix<3, 3>&, MagneticFieldProvider::Cache&) const override¶ - Note
currently the derivative is not calculated
- Note
Cache is not used currently
-
Mapper_t
getMapper() const¶ convenience method to access underlying field mapper
- Return
the field mapper
-
double
getScale() const¶ get global scaling factor for magnetic field
- Return
global factor for scaling the magnetic field
-
bool
isInside(const Vector3 &position) const¶ check whether given 3D position is inside look-up domain
- Return
trueif position is inside the defined BField map, otherwisefalse- Parameters
[in] position: global 3D position
-
MagneticFieldProvider::Cache
makeCache(const MagneticFieldContext &mctx) const override¶
-
struct
Cache¶ Public Functions
-
Cache(const MagneticFieldContext&)¶ Constructor with magnetic field context.
- Parameters
mcfg: the magnetic field context
-
-
struct
Config¶ configuration object for magnetic field interpolation
Public Members
-
Mapper_t
mapper¶ object for global coordinate transformation and interpolation
This object performs the mapping of the global 3D coordinates onto the field grid and the interpolation of the field values on close-by grid points.
-
double
scale= 1.¶ global B-field scaling factor
- Note
Negative values for
scaleare accepted and will invert the direction of the magnetic field.
-
Mapper_t