Template Class SingleTrackParameters¶
Defined in File SingleTrackParameters.hpp
Inheritance Relationships¶
Derived Types¶
public Acts::SingleBoundTrackParameters< ChargePolicy >(Template Class SingleBoundTrackParameters)public Acts::SingleCurvilinearTrackParameters< ChargePolicy >(Template Class SingleCurvilinearTrackParameters)
Class Documentation¶
-
template<class
ChargePolicy>
classActs::SingleTrackParameters¶ base class for a single set of track parameters
This class implements the interface for charged/neutral track parameters for the case that it represents a single set of track parameters (opposed to a list of different sets of track parameters as used by e.g. GSF or multi-track fitters).
The track parameters and their uncertainty are defined in local reference frame which depends on the associated surface of the track parameters.
- Template Parameters
ChargePolicy: type for distinguishing charged and neutral tracks/particles (must be either ChargedPolicy or NeutralPolicy)
Subclassed by Acts::SingleBoundTrackParameters< ChargePolicy >, Acts::SingleCurvilinearTrackParameters< ChargePolicy >
Public Types
-
using
CovarianceMatrix= BoundSymMatrix¶ type of covariance matrix
-
using
ParametersVector= BoundVector¶ vector type for stored track parameters
-
using
Scalar= BoundParametersScalar¶
Public Functions
-
~SingleTrackParameters() = default¶ default destructor
-
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<BoundParametersIndices
par>
Scalarget() const¶ access track parameter
- Return
value of the requested track parameter
- See
ParameterSet::get
- Template Parameters
par: identifier of track parameter which is to be retrieved
-
const FullParameterSet &
getParameterSet() const¶ access to the internally stored ParameterSet
- Return
ParameterSet object holding parameter values and their covariance matrix
-
FullParameterSet &
getParameterSet()¶
-
Vector3D
momentum() const¶ access momentum in global coordinate system
- Return
3D vector with global momentum
-
bool
operator==(const SingleTrackParameters &rhs) const¶ equality operator
- Return
trueof both objects have the same charge policy, parameter values, position and momentum, otherwisefalse
-
ParametersVector
parameters() const¶ access track parameters
- Return
Eigen vector of dimension Acts::eBoundParametersSize with values of the track parameters (in the order as defined by the ParID_t enumeration)
-
Vector3D
position() const¶ access position in global coordinate system
- Return
3D vector with global position
-
const Surface &
referenceSurface() const = 0¶ access associated surface defining the coordinate system for track parameters and their covariance
- Return
associated surface
-
template<BoundParametersIndices
par>
Scalaruncertainty() const¶ access track parameter uncertainty
- Return
value of the requested track parameter uncertainty
- Template Parameters
par: identifier of track parameter which is to be retrieved
Protected Functions
-
template<typename
T= ChargePolicy, std::enable_if_t<std::is_same<T, ChargedPolicy>::value, int> = 0>SingleTrackParameters(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues, const Vector3D &position, const Vector3D &momentum)¶ standard constructor for track parameters of charged particles
- Parameters
cov: unique pointer to covariance matrix (nullptr is accepted)parValues: vector with parameter valuesposition: 3D vector with global positionmomentum: 3D vector with global momentum
-
template<typename
T= ChargePolicy, std::enable_if_t<std::is_same<T, NeutralPolicy>::value, int> = 0>SingleTrackParameters(std::optional<CovarianceMatrix> cov, const ParametersVector &parValues, const Vector3D &position, const Vector3D &momentum)¶ standard constructor for track parameters of neutral particles
- Parameters
cov: unique pointer to covariance matrix (nullptr is accepted)parValues: vector with parameter valuesposition: 3D vector with global positionmomentum: 3D vector with global momentum
-
SingleTrackParameters(const SingleTrackParameters<ChargePolicy> ©) = default¶ default copy constructor
-
SingleTrackParameters(SingleTrackParameters<ChargePolicy> &©) = default¶ default move constructor
-
SingleTrackParameters<ChargePolicy> &
operator=(const SingleTrackParameters<ChargePolicy> &rhs)¶ copy assignment operator
- Parameters
rhs: object to be copied
-
SingleTrackParameters<ChargePolicy> &
operator=(SingleTrackParameters<ChargePolicy> &&rhs)¶ move assignment operator
- Parameters
rhs: object to be movied into*this
-
template<typename
T>
voidupdateGlobalCoordinates(const GeometryContext&, const T&)¶ update global momentum from current parameter values
- Note
This function is triggered when called with an argument of a type different from Acts::local_parameter
- Parameters
[in] gctx: is the Context object that is forwarded to the surface for local to global coordinate transformation
-
void
updateGlobalCoordinates(const GeometryContext &gctx, const local_parameter&)¶ update global position from current parameter values
- Note
This function is triggered when called with an argument of a type Acts::local_parameter
Protected Attributes
-
ChargePolicy
m_oChargePolicy¶ charge policy object distinguishing between charged and neutral tracks
-
FullParameterSet
m_oParameters¶ ParameterSet object holding the parameter values and covariance matrix.