ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly > Class Template Reference

#include <acts/blob/master/Core/include/Acts/EventData/MultiTrajectory.hpp>

Public Types

using SourceLink = source_link_t
 
using Parameters = typename Types< N, ReadOnly >::CoefficientsMap
 
using Covariance = typename Types< N, ReadOnly >::CovarianceMap
 
using Measurement = typename Types< M, ReadOnly >::CoefficientsMap
 
using MeasurementCovariance = typename Types< M, ReadOnly >::CovarianceMap
 
using Projector = Eigen::Matrix< typename Covariance::Scalar, M, N, ProjectorFlags >
 
using EffectiveProjector = Eigen::Matrix< typename Projector::Scalar, Eigen::Dynamic, Eigen::Dynamic, ProjectorFlags, M, N >
 

Public Member Functions

size_t index () const
 
size_t previous () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
IndexDatadata ()
 
const IndexDatadata () const
 
const SurfacereferenceSurface () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
void setReferenceSurface (std::shared_ptr< const Surface > srf)
 
Parameters parameters () const
 
Covariance covariance () const
 
Parameters predicted () const
 
BoundParameters predictedParameters (const Acts::GeometryContext &gctx) const
 
Covariance predictedCovariance () const
 
bool hasPredicted () const
 
Parameters filtered () const
 
Covariance filteredCovariance () const
 
BoundParameters filteredParameters (const Acts::GeometryContext &gctx) const
 
bool hasFiltered () const
 
Parameters smoothed () const
 
Covariance smoothedCovariance () const
 
BoundParameters smoothedParameters (const Acts::GeometryContext &gctx) const
 
bool hasSmoothed () const
 
Covariance jacobian () const
 
bool hasJacobian () const
 
Projector projector () const
 
bool hasProjector () const
 
EffectiveProjector effectiveProjector () const
 
template<typename Derived , bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
void setProjector (const Eigen::MatrixBase< Derived > &projector)
 
bool hasUncalibrated () const
 
const SourceLinkuncalibrated () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
SourceLinkuncalibrated ()
 
bool hasCalibrated () const
 
const SourceLinkcalibratedSourceLink () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
SourceLinkcalibratedSourceLink ()
 
Measurement calibrated () const
 
MeasurementCovariance calibratedCovariance () const
 
auto effectiveCalibrated () const
 
auto effectiveCalibratedCovariance () const
 
size_t calibratedSize () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>, ParID_t... params>
void setCalibrated (const Acts::Measurement< SourceLink, params...> &meas)
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>, ParID_t... params>
void resetCalibrated (const Acts::Measurement< SourceLink, params...> &meas)
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
double & chi2 ()
 
double chi2 () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
double & pathLength ()
 
double pathLength () const
 
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
TrackStateTypetypeFlags ()
 
TrackStateType typeFlags () const
 

Static Public Attributes

static constexpr auto ProjectorFlags = Eigen::RowMajor | Eigen::AutoAlign
 

Private Member Functions

 TrackStateProxy (ConstIf< MultiTrajectory< SourceLink >, ReadOnly > &trajectory, size_t istate)
 

Private Attributes

ConstIf< MultiTrajectory
< SourceLink >, ReadOnly > * 
m_traj
 
size_t m_istate
 

Friends

class Acts::MultiTrajectory< SourceLink >
 

Detailed Description

template<typename source_link_t, size_t N, size_t M, bool ReadOnly = true>
class Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >

Proxy object to access a single point on the trajectory.

Template Parameters
source_link_tType to link back to an original measurement
NNumber of track parameters
MMaximum number of measurement dimensions
ReadOnlytrue for read-only access to underlying storage

Definition at line 126 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 126 of file MultiTrajectory.hpp

Member Typedef Documentation

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::Covariance = typename Types<N, ReadOnly>::CovarianceMap

Definition at line 130 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 130 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::EffectiveProjector = Eigen::Matrix<typename Projector::Scalar, Eigen::Dynamic, Eigen::Dynamic, ProjectorFlags, M, N>

Definition at line 143 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 143 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::Measurement = typename Types<M, ReadOnly>::CoefficientsMap

Definition at line 131 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 131 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::MeasurementCovariance = typename Types<M, ReadOnly>::CovarianceMap

Definition at line 132 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 132 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::Parameters = typename Types<N, ReadOnly>::CoefficientsMap

Definition at line 129 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 129 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::Projector = Eigen::Matrix<typename Covariance::Scalar, M, N, ProjectorFlags>

Definition at line 140 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 140 of file MultiTrajectory.hpp

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
using Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::SourceLink = source_link_t

Definition at line 128 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 128 of file MultiTrajectory.hpp

Constructor & Destructor Documentation

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::TrackStateProxy ( ConstIf< MultiTrajectory< SourceLink >, ReadOnly > &  trajectory,
size_t  istate 
)
inlineprivate

Definition at line 22 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 22 of file MultiTrajectory.ipp

Member Function Documentation

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::calibrated ( ) const
inline

Full calibrated measurement vector. Might contain additional zeroed dimensions.

Returns
The measurement vector

Definition at line 140 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 140 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibrated(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

+ Here is the caller graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::calibratedCovariance ( ) const
inline

Full calibrated measurement covariance matrix. The effective covariance is located in the top left corner, everything else is zeroed.

Returns
The measurement covariance matrix

Definition at line 154 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 154 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibratedCovariance(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
size_t Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedSize ( ) const
inline

Return the (dynamic) number of dimensions stored for this measurement.

Note
The underlying storage is overallocated to MeasurementSizeMax regardless of this value
Returns
The number of dimensions

Definition at line 370 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 370 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::measdim.

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::calibratedSourceLink ( ) const
inline

The source link of the calibrated measurement. Const version

Note
This does not necessarily have to be the uncalibrated source link.
Returns
The source link

Definition at line 147 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 147 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
SourceLink& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedSourceLink ( )
inline

The source link of the calibrated measurement. Mutable version

Note
This does not necessarily have to be the uncalibrated source link.
This overload is only available if ReadOnly is false
Returns
The source link

Definition at line 341 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 341 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::icalibratedsourcelink, Acts::detail_lt::IndexData::kInvalid, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
double& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::chi2 ( )
inline

Getter/setter for chi2 value associated with the track state This overload returns a mutable reference, which allows setting a new value directly into the backing store.

Note
this overload is only enabled in case the proxy is not read-only
Returns
Mutable reference to the chi2 value

Definition at line 446 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 446 of file MultiTrajectory.hpp

References Acts::detail_lt::IndexData::chi2, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data().

Referenced by Acts::MultiTrajectory< source_link_t >::addTrackState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
double Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::chi2 ( ) const
inline

Getter for the chi2 value associated with the track state. This overload returns a copy of the chi2 value, and thus does not allow modification of the value in the backing storage.

Returns
the chi2 value of the track state

Definition at line 454 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 454 of file MultiTrajectory.hpp

References Acts::detail_lt::IndexData::chi2, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data().

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::covariance ( ) const
inline

Track parameters covariance matrix. This tries to be somewhat smart and return the first parameters that are set in this order: predicted -> filtered -> smoothed

Returns
one of predicted, filtered or smoothed covariances

Definition at line 42 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 42 of file MultiTrajectory.ipp

References incremental_prev_tag::idx.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
IndexData& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data ( )
inline

Return the index tuple that makes up this track state

Returns
Mutable ref to index tuple from the parent MultiTrajectory
Note
This overload is only present in case ReadOnly is false.

Definition at line 157 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 157 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_istate, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedSize(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedSourceLink(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::chi2(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibratedCovariance(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveProjector(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasCalibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasFiltered(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasJacobian(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasPredicted(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasProjector(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasSmoothed(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasUncalibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::pathLength(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::previous(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::referenceSurface(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::resetCalibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setProjector(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setReferenceSurface(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::typeFlags(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::uncalibrated().

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
const IndexData& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data ( ) const
inline

Return the index tuple that makes up this track state

Returns
Immutable ref to index tuple from the parent MultiTrajectory

Definition at line 163 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 163 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_istate, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
auto Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibrated ( ) const
inline

Dynamic measurement vector with only the valid dimensions.

Returns
The effective calibrated measurement vector

Definition at line 358 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 358 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibrated(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data().

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
auto Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveCalibratedCovariance ( ) const
inline

Dynamic measurement covariance matrix with only the valid dimensions.

Returns
The effective calibrated covariance matrix

Definition at line 362 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 362 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedCovariance(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data().

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
EffectiveProjector Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveProjector ( ) const
inline

Returns the projector (measurement mapping function) for this track state. It is derived from the uncalibrated measurement

Note
This function returns the effective projector. This means it is of dimension NxM, where N is the actual dimension of the measurement.
Returns
The effective projector

Definition at line 268 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 268 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::projector().

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::filtered ( ) const
inline

Filtered track parameters vector

Returns
The filtered parameters

Definition at line 77 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 77 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::filteredCovariance ( ) const
inline

Filtered track parameters covariance matrix

Returns
The filtered parameters covariance

Definition at line 84 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 84 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
BoundParameters Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::filteredParameters ( const Acts::GeometryContext gctx) const
inline

Filtered parameters in the form of BoundParameters

Returns
BoundParameters instance of the filtered parameters

Definition at line 91 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 91 of file MultiTrajectory.ipp

References Acts::Test::gctx.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasCalibrated ( ) const
inline

Check if the point has an associated calibrated measurement.

Returns
Whether it is set

Definition at line 327 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 327 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::icalibrated, and Acts::detail_lt::IndexData::kInvalid.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasFiltered ( ) const
inline

Return whether filtered parameters+covariance is set

Returns
Whether it is set

Definition at line 223 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 223 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::ifiltered, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasJacobian ( ) const
inline

Returns whether a jacobian is set for this trackstate

Returns
Whether it is set

Definition at line 247 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 247 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::ijacobian, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasPredicted ( ) const
inline

Check whether the predicted parameters+covariance is set

Returns
Whether it is set or not

Definition at line 207 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 207 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::ipredicted, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasProjector ( ) const
inline

Returns whether a projector is set

Returns
Whether it is set

Definition at line 260 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 260 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::iprojector, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasSmoothed ( ) const
inline

Return whether smoothed parameters+covariance is set

Returns
Whether it is set

Definition at line 239 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 239 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::ismoothed, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
bool Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasUncalibrated ( ) const
inline

Return whether an uncalibrated measurement (source link) is set

Returns
Whether it is set

Definition at line 308 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 308 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::iuncalibrated, and Acts::detail_lt::IndexData::kInvalid.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
size_t Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::index ( ) const
inline

Index within the trajectory.

Returns
the index

Definition at line 147 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 147 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_istate.

Referenced by pyinom().

+ Here is the caller graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::jacobian ( ) const
inline

Returns the jacobian from the previous trackstate to this one

Returns
The jacobian matrix

Definition at line 119 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 119 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::parameters ( ) const
inline

Track parameters vector. This tries to be somewhat smart and return the first parameters that are set in this order: predicted -> filtered -> smoothed

Returns
one of predicted, filtered or smoothed parameters

Definition at line 27 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 27 of file MultiTrajectory.ipp

References incremental_prev_tag::idx.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
double& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::pathLength ( )
inline

Getter for the path length associated with the track state. This overloaded is only enabled if not read-only, and returns a mutable reference.

Returns
Mutable reference to the pathlength.

Definition at line 461 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 461 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::pathLength.

Referenced by Acts::MultiTrajectory< source_link_t >::addTrackState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
double Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::pathLength ( ) const
inline

Getter for the path length. Returns a copy of the path length value.

Returns
The path length of this track state

Definition at line 467 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 467 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::pathLength.

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::predicted ( ) const
inline

Predicted track parameters vector

Returns
The predicted parameters

Definition at line 56 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 56 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::predictedCovariance ( ) const
inline

Predicted track parameters covariance matrix.

Returns
The predicted track parameter covariance

Definition at line 63 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 63 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
BoundParameters Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::predictedParameters ( const Acts::GeometryContext gctx) const
inline

Predicted parameters in the form of BoundParameters

Returns
BoundParameters instance of the predicted parameters

Definition at line 70 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 70 of file MultiTrajectory.ipp

References Acts::Test::gctx.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
size_t Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::previous ( ) const
inline

Return the index of the track state 'previous' in the track sequence

Returns
The index of the previous track state.

Definition at line 151 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 151 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::iprevious.

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::projector ( ) const
inline

Returns the projector (measurement mapping function) for this track state. It is derived from the uncalibrated measurement

Note
This function returns the overallocated projector. This means it is of dimension MxM, where M is the maximum number of measurement dimensions. The NxM submatrix, where N is the actual dimension of the measurement, is located in the top left corner, everything else is zero.
Returns
The overallocated projector

Definition at line 126 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 126 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::effectiveProjector().

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
const Surface& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::referenceSurface ( ) const
inline

Reference surface.

Returns
the reference surface

Definition at line 167 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 167 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::irefsurface, Acts::detail_lt::IndexData::kInvalid, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

+ Here is the call graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>, ParID_t... params>
void Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::resetCalibrated ( const Acts::Measurement< SourceLink, params...> &  meas)
inline

Setter for a full measurement object.

Note
This allocates new storage for the calibrated measurement. If this TrackState previously already had unique storage for these components, they will not be removed, but may become unaccessible.
Template Parameters
paramsThe parameter tags of the measurement
Parameters
measThe measurement object to set

Definition at line 420 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 420 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::icalibrated, Acts::detail_lt::IndexData::icalibratedsourcelink, Acts::detail_lt::IndexData::iprojector, Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

Referenced by Acts::MultiTrajectory< source_link_t >::addTrackState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>, ParID_t... params>
void Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated ( const Acts::Measurement< SourceLink, params...> &  meas)
inline

Setter for a full measurement object

Note
This assumes this TrackState stores it's own calibrated measurement. If storage is shared with another TrackState, both will be overwritten!. Also assumes none of the calibrated components is invalid (i.e. unset) for this TrackState..
Template Parameters
paramsThe parameter tags of the measurement
Parameters
measThe measurement object to set

Definition at line 381 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 381 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibrated(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedCovariance(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::calibratedSourceLink(), Acts::Measurement< source_link_t, params >::covariance(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::Surface::getSharedPtr(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::hasCalibrated(), Acts::detail_lt::IndexData::icalibratedsourcelink, Acts::detail_lt::IndexData::irefsurface, Acts::detail_lt::IndexData::kInvalid, Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj, Acts::detail_lt::IndexData::measdim, Acts::Measurement< source_link_t, params >::parameters(), Acts::Measurement< source_link_t, params >::projector(), Acts::Measurement< source_link_t, params >::referenceSurface(), Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setProjector(), Acts::Measurement< source_link_t, params >::size(), and Acts::Measurement< source_link_t, params >::sourceLink().

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::resetCalibrated().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<typename Derived , bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
void Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setProjector ( const Eigen::MatrixBase< Derived > &  projector)
inline

Set the projector on this track state This will convert the projector to a more compact bitset representation and store it.

Parameters
projectorThe projector in the form of a dense matrix
Note
projector is assumed to only have 0s or 1s as components.

Definition at line 279 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 279 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::iprojector, Acts::detail_lt::IndexData::kInvalid, Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj, and Acts::matrixToBitset().

Referenced by Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setCalibrated().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
void Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::setReferenceSurface ( std::shared_ptr< const Surface srf)
inline

Set the reference surface to a given value

Parameters
srfShared pointer to the surface to set
Note
This overload is only present in case ReadOnly is false.

Definition at line 176 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 176 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::irefsurface, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::smoothed ( ) const
inline

Smoothed track parameters vector

Returns
the parameter vector

Definition at line 98 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 98 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::smoothedCovariance ( ) const
inline

Smoothed track parameters covariance matrix

Returns
the parameter covariance matrix

Definition at line 105 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 105 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename SL , size_t N, size_t M, bool ReadOnly>
BoundParameters Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::smoothedParameters ( const Acts::GeometryContext gctx) const
inline

Smoothed parameters in the form of BoundParameters

Returns
BoundParameters instance of the smoothed parameters

Definition at line 112 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 112 of file MultiTrajectory.ipp

References Acts::Test::gctx.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
TrackStateType& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::typeFlags ( )
inline

Getter for the type flags associated with the track state. This overloaded is only enabled if not read-only, and returns a mutable reference.

Returns
reference to the type flags.

Definition at line 474 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 474 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::typeFlags.

Referenced by Acts::MultiTrajectory< source_link_t >::addTrackState().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
TrackStateType Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::typeFlags ( ) const
inline

Getter for the type flags. Returns a copy of the type flags value.

Returns
The type flags of this track state

Definition at line 480 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 480 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), and Acts::detail_lt::IndexData::typeFlags.

+ Here is the call graph for this function:

template<typename SL , size_t N, size_t M, bool ReadOnly>
auto Acts::detail_lt::TrackStateProxy< SL, N, M, ReadOnly >::uncalibrated ( ) const
inline

Uncalibrated measurement in the form of a source link. Const version

Returns
The uncalibrated measurement source link

Definition at line 133 of file MultiTrajectory.ipp.

View newest version in sPHENIX GitHub at line 133 of file MultiTrajectory.ipp

References Acts::detail_lt::IndexData::kInvalid.

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
template<bool RO = ReadOnly, typename = std::enable_if_t<!RO>>
SourceLink& Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::uncalibrated ( )
inline

Uncalibrated measurement in the form of a source link. Mutable version

Note
This overload is only available if ReadOnly is false
Returns
The uncalibrated measurement source link

Definition at line 320 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 320 of file MultiTrajectory.hpp

References Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::data(), Acts::detail_lt::IndexData::iuncalibrated, Acts::detail_lt::IndexData::kInvalid, and Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_traj.

+ Here is the call graph for this function:

Friends And Related Function Documentation

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
friend class Acts::MultiTrajectory< SourceLink >
friend

Definition at line 490 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 490 of file MultiTrajectory.hpp

Member Data Documentation

template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
size_t Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::m_istate
private
template<typename source_link_t , size_t N, size_t M, bool ReadOnly = true>
constexpr auto Acts::detail_lt::TrackStateProxy< source_link_t, N, M, ReadOnly >::ProjectorFlags = Eigen::RowMajor | Eigen::AutoAlign
static

Definition at line 138 of file MultiTrajectory.hpp.

View newest version in sPHENIX GitHub at line 138 of file MultiTrajectory.hpp


The documentation for this class was generated from the following files: