ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::SingleTrackParameters< ChargePolicy > Class Template Referenceabstract

base class for a single set of track parameters More...

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

+ Inheritance diagram for Acts::SingleTrackParameters< ChargePolicy >:

Public Types

using ParVector_t = BoundVector
 vector type for stored track parameters
 
using CovMatrix_t = BoundSymMatrix
 type of covariance matrix
 

Public Member Functions

virtual ~SingleTrackParameters ()=default
 default destructor
 
Vector3D position () const
 access position in global coordinate system
 
Vector3D momentum () const
 access momentum in global coordinate system
 
bool operator== (const SingleTrackParameters &rhs) const
 equality operator
 
double charge () const
 retrieve electric charge
 
double time () const
 retrieve time
 
const FullParameterSet & getParameterSet () const
 access to the internally stored ParameterSet
 
virtual const SurfacereferenceSurface () const =0
 access associated surface defining the coordinate system for track parameters and their covariance
 
const std::optional
< CovMatrix_t > & 
covariance () const
 access covariance matrix of track parameters
 
ParVector_t parameters () const
 access track parameters
 
template<ParID_t par>
ParValue_t get () const
 access track parameter
 
template<ParID_t par>
ParValue_t uncertainty () const
 access track parameter uncertainty
 
double pT () const
 convenience method to retrieve transverse momentum
 
double eta () const
 convenience method to retrieve pseudorapidity
 
FullParameterSet & getParameterSet ()
 

Protected Member 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
 
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
 
 SingleTrackParameters (const SingleTrackParameters< ChargePolicy > &copy)=default
 default copy constructor
 
 SingleTrackParameters (SingleTrackParameters< ChargePolicy > &&copy)=default
 default move constructor
 
SingleTrackParameters
< ChargePolicy > & 
operator= (const SingleTrackParameters< ChargePolicy > &rhs)
 copy assignment operator
 
SingleTrackParameters
< ChargePolicy > & 
operator= (SingleTrackParameters< ChargePolicy > &&rhs)
 move assignment operator
 
template<typename T >
void updateGlobalCoordinates (const GeometryContext &, const T &)
 update global momentum from current parameter values
 
void updateGlobalCoordinates (const GeometryContext &gctx, const local_parameter &)
 update global position from current parameter values
 
std::ostream & print (std::ostream &sl) const
 print information to output stream
 

Protected Attributes

ChargePolicy m_oChargePolicy
 
FullParameterSet m_oParameters
 
Vector3D m_vPosition
 3D vector with global position
 
Vector3D m_vMomentum
 3D vector with global momentum
 

Friends

std::ostream & operator<< (std::ostream &out, const SingleTrackParameters &stp)
 output stream operator
 

Detailed Description

template<class ChargePolicy>
class Acts::SingleTrackParameters< ChargePolicy >

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
ChargePolicytype for distinguishing charged and neutral tracks/particles (must be either ChargedPolicy or NeutralPolicy)

Definition at line 35 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 35 of file SingleTrackParameters.hpp

Member Typedef Documentation

template<class ChargePolicy>
using Acts::SingleTrackParameters< ChargePolicy >::CovMatrix_t = BoundSymMatrix

type of covariance matrix

Definition at line 48 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 48 of file SingleTrackParameters.hpp

template<class ChargePolicy>
using Acts::SingleTrackParameters< ChargePolicy >::ParVector_t = BoundVector

vector type for stored track parameters

Definition at line 45 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 45 of file SingleTrackParameters.hpp

Constructor & Destructor Documentation

template<class ChargePolicy>
virtual Acts::SingleTrackParameters< ChargePolicy >::~SingleTrackParameters ( )
virtualdefault

default destructor

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, ChargedPolicy >::value, int > = 0>
Acts::SingleTrackParameters< ChargePolicy >::SingleTrackParameters ( std::optional< CovMatrix_t cov,
const ParVector_t parValues,
const Vector3D position,
const Vector3D momentum 
)
inlineprotected

standard constructor for track parameters of charged particles

Parameters
covunique pointer to covariance matrix (nullptr is accepted)
parValuesvector with parameter values
position3D vector with global position
momentum3D vector with global momentum

Definition at line 172 of file SingleTrackParameters.hpp.

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

template<class ChargePolicy>
template<typename T = ChargePolicy, std::enable_if_t< std::is_same< T, NeutralPolicy >::value, int > = 0>
Acts::SingleTrackParameters< ChargePolicy >::SingleTrackParameters ( std::optional< CovMatrix_t cov,
const ParVector_t parValues,
const Vector3D position,
const Vector3D momentum 
)
inlineprotected

standard constructor for track parameters of neutral particles

Parameters
covunique pointer to covariance matrix (nullptr is accepted)
parValuesvector with parameter values
position3D vector with global position
momentum3D vector with global momentum

Definition at line 189 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 189 of file SingleTrackParameters.hpp

template<class ChargePolicy>
Acts::SingleTrackParameters< ChargePolicy >::SingleTrackParameters ( const SingleTrackParameters< ChargePolicy > &  copy)
protecteddefault

default copy constructor

template<class ChargePolicy>
Acts::SingleTrackParameters< ChargePolicy >::SingleTrackParameters ( SingleTrackParameters< ChargePolicy > &&  copy)
protecteddefault

default move constructor

Member Function Documentation

template<class ChargePolicy>
double Acts::SingleTrackParameters< ChargePolicy >::charge ( ) const
inline

retrieve electric charge

Returns
value of electric charge

Definition at line 82 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 82 of file SingleTrackParameters.hpp

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::SingleTrackParameters< ChargedPolicy >::print().

+ Here is the caller graph for this function:

template<class ChargePolicy>
const std::optional<CovMatrix_t>& Acts::SingleTrackParameters< ChargePolicy >::covariance ( ) const
inline

access covariance matrix of track parameters

Note
The ownership of the covariance matrix is not transferred with this call.
Returns
raw pointer to covariance matrix (can be a nullptr)
See Also
ParameterSet::getCovariance

Definition at line 109 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 109 of file SingleTrackParameters.hpp

Referenced by Acts::TrackDensity::addTrack(), FW::ResPlotTool::fill(), Acts::IterativeVertexFinder< vfitter_t, sfinder_t >::fillPerigeesToFit(), Acts::ImpactPointEstimator< input_track_t, propagator_t, propagator_options_t >::get3dVertexCompatibility(), Acts::HelicalTrackLinearizer< propagator_t, propagator_options_t >::linearizeTrack(), Acts::CKFSourceLinkSelector::operator()(), Acts::SingleTrackParameters< ChargedPolicy >::print(), Acts::StraightLineStepper::update(), Acts::EigenStepper< bfield_t, extensionlist_t, auctioneer_t >::update(), and Acts::AtlasStepper< ConstantBField >::update().

+ Here is the caller graph for this function:

template<class ChargePolicy>
double Acts::SingleTrackParameters< ChargePolicy >::eta ( ) const
inline

convenience method to retrieve pseudorapidity

Definition at line 146 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 146 of file SingleTrackParameters.hpp

template<class ChargePolicy>
template<ParID_t par>
ParValue_t Acts::SingleTrackParameters< ChargePolicy >::get ( ) const
inline

access track parameter

Template Parameters
paridentifier of track parameter which is to be retrieved
Returns
value of the requested track parameter
See Also
ParameterSet::get

Definition at line 128 of file SingleTrackParameters.hpp.

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

Referenced by Acts::HelicalTrackLinearizer< propagator_t, propagator_options_t >::linearizeTrack(), and Acts::Test::runTest().

+ Here is the caller graph for this function:

template<class ChargePolicy>
const FullParameterSet& Acts::SingleTrackParameters< ChargePolicy >::getParameterSet ( ) const
inline

access to the internally stored ParameterSet

Returns
ParameterSet object holding parameter values and their covariance matrix

Definition at line 93 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 93 of file SingleTrackParameters.hpp

Referenced by Acts::SingleTrackParameters< ChargedPolicy >::covariance(), Acts::SingleTrackParameters< ChargedPolicy >::get(), Acts::SingleTrackParameters< ChargedPolicy >::parameters(), Acts::Measurement< source_link_t, params >::residual(), Acts::SingleCurvilinearTrackParameters< ChargePolicy >::set(), Acts::SingleBoundTrackParameters< ChargedPolicy >::set(), Acts::SingleTrackParameters< ChargedPolicy >::uncertainty(), and Acts::SingleTrackParameters< ChargedPolicy >::updateGlobalCoordinates().

+ Here is the caller graph for this function:

template<class ChargePolicy>
FullParameterSet& Acts::SingleTrackParameters< ChargePolicy >::getParameterSet ( )
inline

Definition at line 148 of file SingleTrackParameters.hpp.

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

template<class ChargePolicy>
Vector3D Acts::SingleTrackParameters< ChargePolicy >::momentum ( ) const
inline
template<class ChargePolicy>
SingleTrackParameters<ChargePolicy>& Acts::SingleTrackParameters< ChargePolicy >::operator= ( const SingleTrackParameters< ChargePolicy > &  rhs)
inlineprotected

copy assignment operator

Parameters
rhsobject to be copied

Definition at line 207 of file SingleTrackParameters.hpp.

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

Referenced by Acts::SingleCurvilinearTrackParameters< ChargePolicy >::operator=(), and Acts::SingleBoundTrackParameters< ChargedPolicy >::operator=().

+ Here is the caller graph for this function:

template<class ChargePolicy>
SingleTrackParameters<ChargePolicy>& Acts::SingleTrackParameters< ChargePolicy >::operator= ( SingleTrackParameters< ChargePolicy > &&  rhs)
inlineprotected

move assignment operator

Parameters
rhsobject to be movied into *this

Definition at line 223 of file SingleTrackParameters.hpp.

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

template<class ChargePolicy>
bool Acts::SingleTrackParameters< ChargePolicy >::operator== ( const SingleTrackParameters< ChargePolicy > &  rhs) const
inline

equality operator

Returns
true of both objects have the same charge policy, parameter values, position and momentum, otherwise false

Definition at line 67 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 67 of file SingleTrackParameters.hpp

template<class ChargePolicy>
ParVector_t Acts::SingleTrackParameters< ChargePolicy >::parameters ( ) const
inline
template<class ChargePolicy>
std::ostream& Acts::SingleTrackParameters< ChargePolicy >::print ( std::ostream &  sl) const
inlineprotected

print information to output stream

Returns
modified output stream object

Definition at line 264 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 264 of file SingleTrackParameters.hpp

template<class ChargePolicy>
double Acts::SingleTrackParameters< ChargePolicy >::pT ( ) const
inline

convenience method to retrieve transverse momentum

Definition at line 143 of file SingleTrackParameters.hpp.

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

template<class ChargePolicy>
virtual const Surface& Acts::SingleTrackParameters< ChargePolicy >::referenceSurface ( ) const
pure virtual

access associated surface defining the coordinate system for track parameters and their covariance

Returns
associated surface

Implemented in Acts::SingleBoundTrackParameters< ChargePolicy >, Acts::SingleBoundTrackParameters< ChargedPolicy >, and Acts::SingleCurvilinearTrackParameters< ChargePolicy >.

Referenced by Acts::Test::runTest(), and Acts::SingleTrackParameters< ChargedPolicy >::updateGlobalCoordinates().

+ Here is the caller graph for this function:

template<class ChargePolicy>
double Acts::SingleTrackParameters< ChargePolicy >::time ( ) const
inline

retrieve time

Returns
value of time

Definition at line 87 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 87 of file SingleTrackParameters.hpp

Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), Acts::StraightLineStepper::update(), Acts::EigenStepper< bfield_t, extensionlist_t, auctioneer_t >::update(), and Acts::AtlasStepper< ConstantBField >::update().

+ Here is the caller graph for this function:

template<class ChargePolicy>
template<ParID_t par>
ParValue_t Acts::SingleTrackParameters< ChargePolicy >::uncertainty ( ) const
inline

access track parameter uncertainty

Template Parameters
paridentifier of track parameter which is to be retrieved
Returns
value of the requested track parameter uncertainty

Definition at line 138 of file SingleTrackParameters.hpp.

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

template<class ChargePolicy>
template<typename T >
void Acts::SingleTrackParameters< ChargePolicy >::updateGlobalCoordinates ( const GeometryContext ,
const T  
)
inlineprotected

update global momentum from current parameter values

Parameters
[in]gctxis the Context object that is forwarded to the surface for local to global coordinate transformation
Note
This function is triggered when called with an argument of a type different from Acts::local_parameter

Definition at line 245 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 245 of file SingleTrackParameters.hpp

Referenced by Acts::SingleCurvilinearTrackParameters< ChargePolicy >::set(), and Acts::SingleBoundTrackParameters< ChargedPolicy >::set().

+ Here is the caller graph for this function:

template<class ChargePolicy>
void Acts::SingleTrackParameters< ChargePolicy >::updateGlobalCoordinates ( const GeometryContext gctx,
const local_parameter  
)
inlineprotected

update global position from current parameter values

Note
This function is triggered when called with an argument of a type Acts::local_parameter

Definition at line 255 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 255 of file SingleTrackParameters.hpp

Friends And Related Function Documentation

template<class ChargePolicy>
std::ostream& operator<< ( std::ostream &  out,
const SingleTrackParameters< ChargePolicy > &  stp 
)
friend

output stream operator

Prints information about this object to the output stream using the virtual TrackParameters::print or SingleFreeParameters::print method.

Returns
modified output stream object

Definition at line 157 of file SingleTrackParameters.hpp.

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

Member Data Documentation

template<class ChargePolicy>
ChargePolicy Acts::SingleTrackParameters< ChargePolicy >::m_oChargePolicy
protected

charge policy object distinguishing between charged and neutral tracks

Definition at line 290 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 290 of file SingleTrackParameters.hpp

Referenced by Acts::SingleTrackParameters< ChargedPolicy >::charge(), Acts::SingleTrackParameters< ChargedPolicy >::operator=(), and Acts::SingleTrackParameters< ChargedPolicy >::operator==().

template<class ChargePolicy>
FullParameterSet Acts::SingleTrackParameters< ChargePolicy >::m_oParameters
protected

ParameterSet object holding the parameter values and covariance matrix

Definition at line 292 of file SingleTrackParameters.hpp.

View newest version in sPHENIX GitHub at line 292 of file SingleTrackParameters.hpp

Referenced by Acts::SingleTrackParameters< ChargedPolicy >::getParameterSet(), Acts::SingleTrackParameters< ChargedPolicy >::operator=(), and Acts::SingleTrackParameters< ChargedPolicy >::operator==().


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