28void TrackingGeometryUser::loadBField(
const std::string& path,
29 const std::vector<double>& map_offset) {
31 ldmx_log(warn) <<
"No B-field map path provided — using zero B-field";
33 std::make_shared<Acts::ConstantBField>(Acts::Vector3(0., 0., 0.));
36 auto transform_pos = [map_offset](
const Acts::Vector3& pos) {
37 return Acts::Vector3(pos(1) + map_offset[0], pos(2) + map_offset[1],
38 pos(0) + DIPOLE_OFFSET + map_offset[2]);
40 auto transform_b = [](
const Acts::Vector3& field,
const Acts::Vector3&) {
41 return Acts::Vector3(field(2), field(0), field(1));
43 b_field_ = std::make_shared<InterpolatedMagneticField3>(
44 loadDefaultBField(path, transform_pos, transform_b));