Template Class SharedBField

Inheritance Relationships

Base Type

Class Documentation

template<typename BField>
class Acts::SharedBField : public Acts::MagneticFieldProvider

allows to use a shared magnetic field in several places and with multiple steppers mainly targeted to save memory

Public Types

using Cache = typename BField::Cache

Public Functions

SharedBField() = delete

Disallow construction without a valid underlying field.

SharedBField(std::shared_ptr<const BField> bField)

Constructur with a shared pointer from a shared pointer.

Note

Since it is a shared field, we enforce it to be const

Template Parameters
  • bField: is the shared BField to be stored

Result<Vector3> getField(const Vector3 &position, MagneticFieldProvider::Cache &cache) const override
Result<Vector3> getFieldGradient(const Vector3 &position, ActsMatrix<3, 3> &derivative, MagneticFieldProvider::Cache &cache) const override
MagneticFieldProvider::Cache makeCache(const MagneticFieldContext &mctx) const override