13 #include "Acts/Definitions/Algebra.hpp"
14 #include "Acts/MagneticField/MagneticFieldContext.hpp"
15 #include "Acts/MagneticField/MagneticFieldProvider.hpp"
16 #include "Acts/Utilities/Result.hpp"
18 #include "DD4hep/Detector.h"
19 #include "DD4hep/DD4hepUnits.h"
36 std::shared_ptr<dd4hep::Detector>
m_det;
40 Cache(
const Acts::MagneticFieldContext& ) { }
43 Acts::MagneticFieldProvider::Cache
makeCache(
const Acts::MagneticFieldContext& mctx)
const override
45 return Acts::MagneticFieldProvider::Cache::make<Cache>(mctx);
63 Acts::Result<Acts::Vector3>
getField(
const Acts::Vector3& position, Acts::MagneticFieldProvider::Cache& cache)
const override;
78 Acts::Result<Acts::Vector3>
getFieldGradient(
const Acts::Vector3& position, Acts::ActsMatrix<3, 3>& ,
79 Acts::MagneticFieldProvider::Cache& cache)
const override;
82 using BFieldVariant = std::variant<std::shared_ptr<const DD4hepBField>>;