Class MagneticFieldProvider

Inheritance Relationships

Derived Types

Class Documentation

class Acts::MagneticFieldProvider

Base class for all magnetic field providers.

Subclassed by Acts::ConstantBField, Acts::InterpolatedBFieldMap< grid_t >, Acts::NullBField, Acts::SharedBField< BField >, Acts::SolenoidBField

Public Types

using Cache = detail::SmallObjectCache

Public Functions

~MagneticFieldProvider()
Result<Vector3> getField(const Vector3 &position, Cache &cache) const = 0

retrieve magnetic field value

Return

magnetic field vector at given position

Parameters
  • [in] position: global 3D position

Result<Vector3> getFieldGradient(const Vector3 &position, ActsMatrix<3, 3> &derivative, Cache &cache) const = 0

retrieve magnetic field value & its gradient

Return

magnetic field vector

Parameters
  • [in] position: global 3D position

  • [out] derivative: gradient of magnetic field vector as (3x3) matrix

  • [inout] cache: Cache object. Contains field cell used for

Cache makeCache(const MagneticFieldContext &mctx) const = 0

Make an opaque cache for the magnetic field.

Return

Cache The opaque cache object

Parameters
  • mctx: The magnetic field context to generate cache for