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
CovMatrix_t
= BoundSymMatrix¶ type of covariance matrix
-
using
ParVector_t
= BoundVector¶ vector type for stored track parameters
Public Functions
-
~SingleTrackParameters
() = default¶ default destructor
-
double
charge
() const¶ retrieve electric charge
- Return
value of electric charge
-
const std::optional<CovMatrix_t> &
covariance
() const¶ access covariance matrix of track parameters
- Note
The ownership of the covariance matrix is not transferred with this call.
- Return
raw pointer to covariance matrix (can be a nullptr)
- See
ParameterSet::getCovariance
-
double
eta
() const¶ convenience method to retrieve pseudorapidity
-
template<ParID_t
par
>
ParValue_tget
() 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
true
of both objects have the same charge policy, parameter values, position and momentum, otherwisefalse
-
ParVector_t
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
-
double
pT
() const¶ convenience method to retrieve transverse momentum
-
const Surface &
referenceSurface
() const = 0¶ access associated surface defining the coordinate system for track parameters and their covariance
- Return
associated surface
-
double
time
() const¶ retrieve time
- Return
value of time
-
template<ParID_t
par
>
ParValue_tuncertainty
() 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<CovMatrix_t> cov, const ParVector_t &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<CovMatrix_t> cov, const ParVector_t &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
-
std::ostream &
print
(std::ostream &sl) const¶ print information to output stream
- Return
modified output stream object
-
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.
Friends
-
friend std::ostream &
operator<<
(std::ostream &out, const SingleTrackParameters &stp)¶ output stream operator
Prints information about this object to the output stream using the virtual TrackParameters::print or SingleFreeParameters::print method.
- Return
modified output stream object