Template Class SingleFreeTrackParameters¶
Defined in File SingleFreeTrackParameters.hpp
Class Documentation¶
-
template<class
ChargePolicy
>
classActs
::
SingleFreeTrackParameters
¶ Free track parameters not bound to a surface.
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
: Selection type if the particle is charged or neutral
Public Types
-
using
CovarianceMatrix
= FreeSymMatrix¶
-
using
ParametersVector
= FreeVector¶
-
using
Scalar
= FreeParametersScalar¶
Public Functions
-
template<typename
T
= ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>SingleFreeTrackParameters
(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues)¶ Construct track parameters for 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>SingleFreeTrackParameters
(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues)¶ Construct track parameters for neutral particles.
- Template Parameters
T
: Type of the charge policy (NeutralPolicy)
- Parameters
[in] cov
: The covariance matrix[in] parValues
: Vector with parameter values
-
const std::optional<CovarianceMatrix> &
covariance
() const¶ Access covariance matrix of track parameters.
- Note
The ownership of the covariance matrix is not transferred with this call.
- See
ParameterSet::getCovariance
-
template<FreeParametersIndices
kIndex
>
Scalarget
() const¶ Access to a single parameter.
- Return
Value of the requested parameter
- Template Parameters
kIndex
: Identifier of the parameter index which will be retrieved
-
const FullFreeParameterSet &
getParameterSet
() const¶ access to the internally stored FreeParameterSet
- Return
FreeParameterSet object holding parameter values and their covariance matrix
-
Vector3D
momentum
() const¶ access momentum in global coordinate system
- Return
3D vector with global momentum
-
bool
operator!=
(const SingleFreeTrackParameters &rhs) const¶ inequality operator
- Return
not (*this == rhs)
-
bool
operator==
(const SingleFreeTrackParameters &rhs) const¶ Equality operator.
- Return
Boolean value whether the objects can be casted into each other and the content of the member variables is the same
- Parameters
[in] rhs
: Object to compare*this
to
-
ParametersVector
parameters
() const¶ Access all parameters.
- Return
Vector containing the store parameters
-
Vector3D
position
() const¶ access position in global coordinate system
- Return
3D vector with global position
-
template<FreeParametersIndices
kIndex
>
voidset
(const GeometryContext&, Scalar newValue)¶ Update of the parameterisation.
- Note
The context is not used here but makes the API consistent with
SingleCurvilinearTrackParameters
andSingleBoundTrackParameters
- Parameters
gctx
: The current geometry context object, e.g. alignmentnewValue
: The new updaed value
- Template Parameters
kIndex
: Identifier of the parameter index which will be set
-
template<FreeParametersIndices
kIndex
>
Scalaruncertainty
() const¶ Access track parameter uncertainty.
- Return
Value of the requested parameter uncertainty
- Template Parameters
kIndex
: Identifier of the uncertainty index which will be retrieved