File HelicalTrackLinearizer.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

template<typename propagator_t, typename propagator_options_t = PropagatorOptions<>>
class HelicalTrackLinearizer
#include <Acts/Vertexing/HelicalTrackLinearizer.hpp>

Linearizes the measurement equation (dependance of track parameters on the vertex position and track momentum at vertex) at the vicinity of the user-provided linearization point.

The measurement equation is linearized in the following way:

q_k= A_k (x_k - x_0k) + B_k (p_k - p_0k) + c_k

where q_k are the parameters at perigee nearest to the lin point, x_k is the position of the vertex, p_k the track momentum at the vertex, and c_k is the constant term of expansion. A_k and B_k are matrices of derivatives, denoted hereafter as “positionJacobian” and “momentumJacobian” respectively.

Ref.(1) - CERN-THESIS-2010-027, Giacinto Piacquadio (Freiburg U.)

Template Parameters
  • propagator_t – Propagator type

  • propagator_options_t – Propagator options type

Public Types

using Propagator_t = propagator_t

Public Functions

inline HelicalTrackLinearizer(const Config &config, std::unique_ptr<const Logger> _logger = getDefaultLogger("HelTrkLinProp", Logging::INFO))


  • config – Configuration object

  • _logger – a logger instance

Result<LinearizedTrack> linearizeTrack(const BoundTrackParameters &params, const Vector4 &linPoint, const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, State &state) const

Function that linearizes BoundTrackParameters at given linearization point.

  • params – Parameters to linearize

  • linPoint – Linearization point

  • gctx – The geometry context

  • mctx – The magnetic field context

  • state – The state object


Linearized track

Private Functions

inline const Logger &logger() const

Private Members

const Config m_cfg

Configuration object.

std::unique_ptr<const Logger> m_logger
struct Config
#include <Acts/Vertexing/HelicalTrackLinearizer.hpp>

Configuration struct.

Public Functions

inline Config(std::shared_ptr<const MagneticFieldProvider> bIn, std::shared_ptr<const Propagator_t> prop)

@ Config constructor if magnetic field is present

  • bIn – The magnetic field

  • prop – The propagator

inline Config(std::shared_ptr<const Propagator_t> prop)

Config constructor without B field -> uses NullBField.


prop – The propagator

Public Members

std::shared_ptr<const MagneticFieldProvider> bField
double maxRho = 1e+15
double minQoP = 1e-15
std::shared_ptr<const Propagator_t> propagator
struct State
#include <Acts/Vertexing/HelicalTrackLinearizer.hpp>

State struct.

Public Functions

inline State(MagneticFieldProvider::Cache fieldCacheIn)

The state constructor.


fieldCacheIn – The magnetic field cache

Public Members

MagneticFieldProvider::Cache fieldCache

Magnetic field cache.