ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::GenericFreeTrackParameters< particle_hypothesis_t > Class Template Reference

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

#include <Acts/EventData/GenericFreeTrackParameters.hpp>

Inheritance diagram for Acts::GenericFreeTrackParameters< particle_hypothesis_t >:
[legend]

Public Types

using CovarianceMatrix = FreeSquareMatrix
 Type alias for free track covariance matrix.
using ParametersVector = FreeVector
 Type alias for free track parameters vector.
using ParticleHypothesis = particle_hypothesis_t
 Type alias for particle hypothesis used in reconstruction.

Public Member Functions

template<typename other_particle_hypothesis_t>
 GenericFreeTrackParameters (const GenericFreeTrackParameters< other_particle_hypothesis_t > &other)
 Converts a free track parameter with a different hypothesis.
 GenericFreeTrackParameters (const ParametersVector &params, std::optional< CovarianceMatrix > cov, ParticleHypothesis particleHypothesis)
 Construct from a parameters vector and particle charge.
 GenericFreeTrackParameters (const Vector4 &pos4, const Vector3 &dir, double qOverP, std::optional< CovarianceMatrix > cov, ParticleHypothesis particleHypothesis)
 Construct from four-position, direction, absolute momentum, and charge.
 GenericFreeTrackParameters (const Vector4 &pos4, double phi, double theta, double qOverP, std::optional< CovarianceMatrix > cov, ParticleHypothesis particleHypothesis)
 Construct from four-position, angles, absolute momentum, and charge.
double absoluteMomentum () const
 Absolute momentum.
double charge () const
 Particle electric charge.
const std::optional< CovarianceMatrix > & covariance () const
 Optional covariance matrix.
Vector3 direction () const
 Unit direction three-vector, i.e.
Vector4 fourPosition () const
 Space-time position four-vector.
template<FreeIndices kIndex>
double get () const
 Access a single parameter value identified by its index.
Vector3 momentum () const
 Momentum three-vector.
const ParametersVectorparameters () const
 Parameters vector.
const ParticleHypothesisparticleHypothesis () const
 Particle hypothesis.
double phi () const
 Phi direction.
Vector3 position () const
 Spatial position three-vector.
double qOverP () const
 Charge over momentum.
GenericFreeTrackParameters< ParticleHypothesisreflect () const
 Reflect the parameters.
void reflectInPlace ()
 Reflect the parameters in place.
double theta () const
 Theta direction.
double time () const
 Time coordinate.
double transverseMomentum () const
 Transverse momentum.

Static Public Member Functions

template<FreeTrackParametersConcept other_track_parameter_t>
static GenericFreeTrackParameters create (const other_track_parameter_t &other)
 Converts an unknown bound track parameter.

Detailed Description

template<class particle_hypothesis_t>
class Acts::GenericFreeTrackParameters< particle_hypothesis_t >

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

Template Parameters
particle_hypothesis_tHelper type to interpret the particle charge/momentum

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

Member Typedef Documentation

◆ CovarianceMatrix

template<class particle_hypothesis_t>
using Acts::GenericFreeTrackParameters< particle_hypothesis_t >::CovarianceMatrix = FreeSquareMatrix

Type alias for free track covariance matrix.

◆ ParametersVector

template<class particle_hypothesis_t>
using Acts::GenericFreeTrackParameters< particle_hypothesis_t >::ParametersVector = FreeVector

Type alias for free track parameters vector.

◆ ParticleHypothesis

template<class particle_hypothesis_t>
using Acts::GenericFreeTrackParameters< particle_hypothesis_t >::ParticleHypothesis = particle_hypothesis_t

Type alias for particle hypothesis used in reconstruction.

Constructor & Destructor Documentation

◆ GenericFreeTrackParameters() [1/4]

template<class particle_hypothesis_t>
Acts::GenericFreeTrackParameters< particle_hypothesis_t >::GenericFreeTrackParameters ( const ParametersVector & params,
std::optional< CovarianceMatrix > cov,
ParticleHypothesis particleHypothesis )

Construct from a parameters vector and particle charge.

Parameters
paramsFree parameters vector
covFree parameters covariance matrix
particleHypothesisParticle hypothesis

In principle, only the charge magnitude is needed her to allow unambiguous 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.

◆ GenericFreeTrackParameters() [2/4]

template<class particle_hypothesis_t>
Acts::GenericFreeTrackParameters< particle_hypothesis_t >::GenericFreeTrackParameters ( const Vector4 & pos4,
const Vector3 & dir,
double qOverP,
std::optional< CovarianceMatrix > cov,
ParticleHypothesis particleHypothesis )

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

Parameters
pos4Track position/time four-vector
dirTrack direction three-vector; normalization is ignored.
qOverPCharge over momentum
covFree parameters covariance matrix
particleHypothesisParticle hypothesis

◆ GenericFreeTrackParameters() [3/4]

template<class particle_hypothesis_t>
Acts::GenericFreeTrackParameters< particle_hypothesis_t >::GenericFreeTrackParameters ( const Vector4 & pos4,
double phi,
double theta,
double qOverP,
std::optional< CovarianceMatrix > cov,
ParticleHypothesis particleHypothesis )

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

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

◆ GenericFreeTrackParameters() [4/4]

template<class particle_hypothesis_t>
template<typename other_particle_hypothesis_t>
Acts::GenericFreeTrackParameters< particle_hypothesis_t >::GenericFreeTrackParameters ( const GenericFreeTrackParameters< other_particle_hypothesis_t > & other)
explicit

Converts a free track parameter with a different hypothesis.

Parameters
otherThe other free track parameters to convert from

Member Function Documentation

◆ absoluteMomentum()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::absoluteMomentum ( ) const

Absolute momentum.

Returns
The absolute momentum magnitude

◆ charge()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::charge ( ) const

Particle electric charge.

Returns
The particle electric charge

◆ covariance()

template<class particle_hypothesis_t>
const std::optional< CovarianceMatrix > & Acts::GenericFreeTrackParameters< particle_hypothesis_t >::covariance ( ) const

Optional covariance matrix.

Returns
Const reference to the optional covariance matrix

◆ create()

template<class particle_hypothesis_t>
template<FreeTrackParametersConcept other_track_parameter_t>
GenericFreeTrackParameters Acts::GenericFreeTrackParameters< particle_hypothesis_t >::create ( const other_track_parameter_t & other)
static

Converts an unknown bound track parameter.

Parameters
otherThe other track parameters to convert from
Returns
Free track parameters converted from the input parameters

◆ direction()

template<class particle_hypothesis_t>
Vector3 Acts::GenericFreeTrackParameters< particle_hypothesis_t >::direction ( ) const

Unit direction three-vector, i.e.

the normalized momentum three-vector.

Returns
Normalized direction vector

◆ fourPosition()

template<class particle_hypothesis_t>
Vector4 Acts::GenericFreeTrackParameters< particle_hypothesis_t >::fourPosition ( ) const

Space-time position four-vector.

Returns
Four-dimensional position vector (x, y, z, t)

◆ get()

template<class particle_hypothesis_t>
template<FreeIndices kIndex>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::get ( ) const

Access a single parameter value identified by its index.

Template Parameters
kIndexTrack parameter index
Returns
The parameter value at the specified index

◆ momentum()

template<class particle_hypothesis_t>
Vector3 Acts::GenericFreeTrackParameters< particle_hypothesis_t >::momentum ( ) const

Momentum three-vector.

Returns
Three-dimensional momentum vector

◆ parameters()

template<class particle_hypothesis_t>
const ParametersVector & Acts::GenericFreeTrackParameters< particle_hypothesis_t >::parameters ( ) const

Parameters vector.

Returns
Const reference to the free parameters vector

◆ particleHypothesis()

template<class particle_hypothesis_t>
const ParticleHypothesis & Acts::GenericFreeTrackParameters< particle_hypothesis_t >::particleHypothesis ( ) const

Particle hypothesis.

Returns
Reference to the particle hypothesis

◆ phi()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::phi ( ) const

Phi direction.

Returns
The azimuthal angle phi in radians

◆ position()

template<class particle_hypothesis_t>
Vector3 Acts::GenericFreeTrackParameters< particle_hypothesis_t >::position ( ) const

Spatial position three-vector.

Returns
Three-dimensional position vector (x, y, z)

◆ qOverP()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::qOverP ( ) const

Charge over momentum.

Returns
The charge over momentum ratio

◆ reflect()

template<class particle_hypothesis_t>
GenericFreeTrackParameters< ParticleHypothesis > Acts::GenericFreeTrackParameters< particle_hypothesis_t >::reflect ( ) const

Reflect the parameters.

Returns
Reflected parameters.

◆ reflectInPlace()

template<class particle_hypothesis_t>
void Acts::GenericFreeTrackParameters< particle_hypothesis_t >::reflectInPlace ( )

Reflect the parameters in place.

◆ theta()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::theta ( ) const

Theta direction.

Returns
The polar angle theta in radians

◆ time()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::time ( ) const

Time coordinate.

Returns
The time coordinate value

◆ transverseMomentum()

template<class particle_hypothesis_t>
double Acts::GenericFreeTrackParameters< particle_hypothesis_t >::transverseMomentum ( ) const

Transverse momentum.

Returns
The transverse momentum magnitude