Template Class SingleFreeParameters

Class Documentation

template<class ChargePolicy>
class Acts::SingleFreeParameters

Container class for free parameters.

This is a base class for neutral and charged free parameters. All parameters and the corresponding covariance matrix is stored in global coordinates. It is assumed that the order of the parameters (and thereby the order of the entries of the covariance as well) is given as (position_x, position_y, position_z, time, direction_x, direction_y, direction_z, charge / |momentum|).

Note

It is assumed that a charged particle has a charge of +/-1

Template Parameters
  • ChargePolicy: Parameter that describes if the particle is charged or neutral

Public Types

using CovMatrix_t = FreeSymMatrix

Public typedefs Type of covariance matrix.

Public Functions

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>
SingleFreeParameters(std::optional<CovMatrix_t> cov, const FreeVector &parValues)

Standard constructor for track parameters of charged particles.

Template Parameters
  • T: Type of the charge policy (ChargedPolicy)

Parameters
  • [in] cov: The covariance matrix

  • [in] parValues: Vector with parameter values

template<typename T = ChargePolicy, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>
SingleFreeParameters(std::optional<CovMatrix_t> cov, const FreeVector &parValues)

Standard constructor for track parameters of neutral particles.

Template Parameters
  • T: Type of the charge policy (NeutralPolicy)

Parameters
  • [in] cov: The covariance matrix

  • [in] parValues: Vector with parameter values

SingleFreeParameters(const SingleFreeParameters<ChargePolicy> &copy)

Default copy constructor.

Parameters
  • [in] copy: The object to copy from

SingleFreeParameters(SingleFreeParameters<ChargePolicy> &&copy)

Default move constructor.

Parameters
  • [in] copy: The object to move from

~SingleFreeParameters() = default

Default virtual destructor.

SingleFreeParameters<ChargePolicy> &operator=(const SingleFreeParameters<ChargePolicy> &rhs)

Copy assignment operator.

Return

The assigned-to object *this

Parameters
  • [in] rhs: Object to be copied

SingleFreeParameters<ChargePolicy> &operator=(SingleFreeParameters<ChargePolicy> &&rhs)

Move assignment operator.

Return

The assigned-to object *this

Parameters
  • [in] rhs: object to be movied into *this

FreeVector parameters() const

Access all parameters.

Return

Vector containing the store parameters