EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::SingleFreeTrackParameters< charge_t > Class Template Reference

#include <acts/blob/sPHENIX/Core/include/Acts/EventData/SingleFreeTrackParameters.hpp>

+ Collaboration diagram for Acts::SingleFreeTrackParameters< charge_t >:

Public Types

using Scalar = FreeScalar
 
using ParametersVector = FreeVector
 
using CovarianceMatrix = FreeSymMatrix
 

Public Member Functions

 SingleFreeTrackParameters (const ParametersVector &params, Scalar q, std::optional< CovarianceMatrix > cov=std::nullopt)
 
template<typename T = charge_t, std::enable_if_t< std::is_default_constructible_v< T >, int > = 0>
 SingleFreeTrackParameters (const ParametersVector &params, std::optional< CovarianceMatrix > cov=std::nullopt)
 
 SingleFreeTrackParameters (const Vector4D &pos4, Scalar phi, Scalar theta, Scalar p, Scalar q, std::optional< CovarianceMatrix > cov=std::nullopt)
 
template<typename T = charge_t, std::enable_if_t< std::is_default_constructible_v< T >, int > = 0>
 SingleFreeTrackParameters (const Vector4D &pos4, Scalar phi, Scalar theta, Scalar qOverP, std::optional< CovarianceMatrix > cov=std::nullopt)
 
ParametersVector parameters () const
 Parameters vector.
 
const std::optional
< CovarianceMatrix > & 
covariance () const
 Optional covariance matrix.
 
template<FreeIndices kIndex>
Scalar get () const
 
template<FreeIndices kIndex>
Scalar uncertainty () const
 
Vector4D fourPosition () const
 Space-time position four-vector.
 
Vector3D position () const
 Spatial position three-vector.
 
Scalar time () const
 Time coordinate.
 
Vector3D unitDirection () const
 Unit direction three-vector, i.e. the normalized momentum three-vector.
 
Scalar absoluteMomentum () const
 Absolute momentum.
 
Scalar transverseMomentum () const
 Transverse momentum.
 
Vector3D momentum () const
 Momentum three-vector.
 
constexpr Scalar charge () const
 Particle electric charge.
 

Private Attributes

FullFreeParameterSet m_paramSet
 
charge_t m_chargeInterpreter
 

Friends

std::ostream & operator<< (std::ostream &os, const SingleFreeTrackParameters &tp)
 Print information to the output stream.
 

Detailed Description

template<class charge_t>
class Acts::SingleFreeTrackParameters< charge_t >

Track parameters not bound to a surface for a single track.

Template Parameters
charge_tHelper type to interpret the particle charge

Parameters and covariance matrix are stored using the free parametrization defined in enum FreeIndices.

Definition at line 29 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 29 of file SingleFreeTrackParameters.hpp

Member Typedef Documentation

template<class charge_t>
using Acts::SingleFreeTrackParameters< charge_t >::CovarianceMatrix = FreeSymMatrix

Definition at line 33 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 33 of file SingleFreeTrackParameters.hpp

template<class charge_t>
using Acts::SingleFreeTrackParameters< charge_t >::ParametersVector = FreeVector

Definition at line 32 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 32 of file SingleFreeTrackParameters.hpp

template<class charge_t>
using Acts::SingleFreeTrackParameters< charge_t >::Scalar = FreeScalar

Definition at line 31 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 31 of file SingleFreeTrackParameters.hpp

Constructor & Destructor Documentation

template<class charge_t>
Acts::SingleFreeTrackParameters< charge_t >::SingleFreeTrackParameters ( const ParametersVector params,
Scalar  q,
std::optional< CovarianceMatrix cov = std::nullopt 
)
inline

Construct from a parameters vector and and particle charge.

Parameters
paramsFree parameters vector
qParticle charge
covFree parameters covariance matrix

In principle, only the charge magnitude is needed her to allow unambigous extraction of the absolute momentum. The particle charge is required as an input here to be consistent with the other constructors below that that also take the charge as an input. The charge sign is only used in debug builds to check for consistency with the q/p parameter.

Definition at line 46 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 46 of file SingleFreeTrackParameters.hpp

References Acts::eFreeQOverP.

template<class charge_t>
template<typename T = charge_t, std::enable_if_t< std::is_default_constructible_v< T >, int > = 0>
Acts::SingleFreeTrackParameters< charge_t >::SingleFreeTrackParameters ( const ParametersVector params,
std::optional< CovarianceMatrix cov = std::nullopt 
)
inline

Construct from a parameters vector.

Parameters
paramsFree parameters vector
covFree parameters covariance matrix
Template Parameters
TInternal helper template be able to check charge type

This constructor is only available if there are no potential charge ambiguities, i.e. the charge interpretation type is default-constructible.

Definition at line 62 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 62 of file SingleFreeTrackParameters.hpp

template<class charge_t>
Acts::SingleFreeTrackParameters< charge_t >::SingleFreeTrackParameters ( const Vector4D pos4,
Scalar  phi,
Scalar  theta,
Scalar  p,
Scalar  q,
std::optional< CovarianceMatrix cov = std::nullopt 
)
inline

Construct from four-position, angles, absolute momentum, and charge.

Parameters
pos4Track position/time four-vector
phiTransverse track direction angle
thetaLongitudinal track direction angle
pAbsolute momentum
qParticle charge
covFree parameters covariance matrix

Definition at line 74 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 74 of file SingleFreeTrackParameters.hpp

References Acts::eFreeDir0, Acts::eFreeDir1, Acts::eFreeDir2, Acts::eFreePos0, Acts::eFreePos1, Acts::eFreePos2, Acts::eFreeQOverP, Acts::eFreeTime, Acts::eMom0, Acts::eMom1, Acts::eMom2, Acts::ePos0, Acts::ePos1, Acts::ePos2, Acts::eTime, Acts::SingleFreeTrackParameters< charge_t >::m_paramSet, Acts::makeDirectionUnitFromPhiTheta(), and p.

+ Here is the call graph for this function:

template<class charge_t>
template<typename T = charge_t, std::enable_if_t< std::is_default_constructible_v< T >, int > = 0>
Acts::SingleFreeTrackParameters< charge_t >::SingleFreeTrackParameters ( const Vector4D pos4,
Scalar  phi,
Scalar  theta,
Scalar  qOverP,
std::optional< CovarianceMatrix cov = std::nullopt 
)
inline

Construct from four-position, angles, and charge-over-momentum.

Parameters
pos4Track position/time four-vector
phiTransverse track direction angle
thetaLongitudinal track direction angle
qOverPCharge-over-momentum-like parameter
covFree parameters covariance matrix

This constructor is only available if there are no potential charge ambiguities, i.e. the charge interpretation type is default-constructible.

Definition at line 104 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 104 of file SingleFreeTrackParameters.hpp

References Acts::eFreeDir0, Acts::eFreeDir1, Acts::eFreeDir2, Acts::eFreePos0, Acts::eFreePos1, Acts::eFreePos2, Acts::eFreeQOverP, Acts::eFreeTime, Acts::eMom0, Acts::eMom1, Acts::eMom2, Acts::ePos0, Acts::ePos1, Acts::ePos2, Acts::eTime, Acts::SingleFreeTrackParameters< charge_t >::m_paramSet, and Acts::makeDirectionUnitFromPhiTheta().

+ Here is the call graph for this function:

Member Function Documentation

template<class charge_t>
Scalar Acts::SingleFreeTrackParameters< charge_t >::absoluteMomentum ( ) const
inline

Absolute momentum.

Definition at line 168 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 168 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::m_chargeInterpreter.

Referenced by Acts::SingleFreeTrackParameters< charge_t >::momentum(), and Acts::SingleFreeTrackParameters< charge_t >::transverseMomentum().

+ Here is the caller graph for this function:

template<class charge_t>
constexpr Scalar Acts::SingleFreeTrackParameters< charge_t >::charge ( ) const
inline

Particle electric charge.

Definition at line 187 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 187 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::m_chargeInterpreter.

template<class charge_t>
const std::optional<CovarianceMatrix>& Acts::SingleFreeTrackParameters< charge_t >::covariance ( ) const
inline

Optional covariance matrix.

Definition at line 126 of file SingleFreeTrackParameters.hpp.

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

References Acts::SingleFreeTrackParameters< charge_t >::m_paramSet.

Referenced by BOOST_DATA_TEST_CASE().

+ Here is the caller graph for this function:

template<class charge_t>
Vector4D Acts::SingleFreeTrackParameters< charge_t >::fourPosition ( ) const
inline

Space-time position four-vector.

Definition at line 148 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 148 of file SingleFreeTrackParameters.hpp

References Acts::ePos0, Acts::ePos1, Acts::ePos2, Acts::eTime, and Acts::Test::pos4().

+ Here is the call graph for this function:

template<class charge_t>
template<FreeIndices kIndex>
Scalar Acts::SingleFreeTrackParameters< charge_t >::get ( ) const
inline

Access a single parameter value indentified by its index.

Template Parameters
kIndexTrack parameter index

Definition at line 134 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 134 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::m_paramSet.

template<class charge_t>
Vector3D Acts::SingleFreeTrackParameters< charge_t >::momentum ( ) const
inline

Momentum three-vector.

Definition at line 184 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 184 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::absoluteMomentum(), and Acts::SingleFreeTrackParameters< charge_t >::unitDirection().

+ Here is the call graph for this function:

template<class charge_t>
ParametersVector Acts::SingleFreeTrackParameters< charge_t >::parameters ( ) const
inline

Parameters vector.

Definition at line 124 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 124 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::m_paramSet.

Referenced by Acts::SingleFreeTrackParameters< charge_t >::position(), and Acts::SingleFreeTrackParameters< charge_t >::unitDirection().

+ Here is the caller graph for this function:

template<class charge_t>
Vector3D Acts::SingleFreeTrackParameters< charge_t >::position ( ) const
inline

Spatial position three-vector.

Definition at line 157 of file SingleFreeTrackParameters.hpp.

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

References Acts::eFreePos0, and Acts::SingleFreeTrackParameters< charge_t >::parameters().

+ Here is the call graph for this function:

template<class charge_t>
Scalar Acts::SingleFreeTrackParameters< charge_t >::time ( ) const
inline

Time coordinate.

Definition at line 161 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 161 of file SingleFreeTrackParameters.hpp

template<class charge_t>
Scalar Acts::SingleFreeTrackParameters< charge_t >::transverseMomentum ( ) const
inline

Transverse momentum.

Definition at line 172 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 172 of file SingleFreeTrackParameters.hpp

References Acts::SingleFreeTrackParameters< charge_t >::absoluteMomentum().

+ Here is the call graph for this function:

template<class charge_t>
template<FreeIndices kIndex>
Scalar Acts::SingleFreeTrackParameters< charge_t >::uncertainty ( ) const
inline

Access a single parameter uncertainty identified by its index.

Template Parameters
kIndexTrack parameter index
Return values
zeroif the track parameters have no associated covariance
parameterstandard deviation if the covariance is available

Definition at line 143 of file SingleFreeTrackParameters.hpp.

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

References Acts::SingleFreeTrackParameters< charge_t >::m_paramSet.

template<class charge_t>
Vector3D Acts::SingleFreeTrackParameters< charge_t >::unitDirection ( ) const
inline

Unit direction three-vector, i.e. the normalized momentum three-vector.

Definition at line 164 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 164 of file SingleFreeTrackParameters.hpp

References Acts::eFreeDir0, and Acts::SingleFreeTrackParameters< charge_t >::parameters().

Referenced by Acts::SingleFreeTrackParameters< charge_t >::momentum().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

template<class charge_t>
std::ostream& operator<< ( std::ostream &  os,
const SingleFreeTrackParameters< charge_t > &  tp 
)
friend

Print information to the output stream.

Definition at line 197 of file SingleFreeTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 197 of file SingleFreeTrackParameters.hpp

Member Data Documentation

template<class charge_t>
charge_t Acts::SingleFreeTrackParameters< charge_t >::m_chargeInterpreter
private

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