Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/EventData/MultiComponentTrackParameters.hpp>
Public Types | |
using | Parameters = BoundTrackParameters |
using | ParticleHypothesis = Parameters::ParticleHypothesis |
using | Scalar = typename Parameters::Scalar |
using | ParametersVector = typename Parameters::ParametersVector |
using | CovarianceMatrix = typename Parameters::CovarianceMatrix |
Public Member Functions | |
template<typename covariance_t > | |
MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, const std::vector< std::tuple< double, BoundVector, covariance_t >> &cmps, ParticleHypothesis particleHypothesis) | |
Construct from multiple components. | |
MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, const BoundVector ¶ms, std::optional< BoundSquareMatrix > cov, ParticleHypothesis particleHypothesis) | |
MultiComponentBoundTrackParameters ()=delete | |
Parameters are not default constructible due to the charge type. | |
MultiComponentBoundTrackParameters (const MultiComponentBoundTrackParameters &)=default | |
MultiComponentBoundTrackParameters (MultiComponentBoundTrackParameters &&)=default | |
~MultiComponentBoundTrackParameters ()=default | |
MultiComponentBoundTrackParameters & | operator= (const MultiComponentBoundTrackParameters &)=default |
MultiComponentBoundTrackParameters & | operator= (MultiComponentBoundTrackParameters &&)=default |
const auto & | components () const |
Access the parameters. | |
const Surface & | referenceSurface () const |
Reference surface onto which the parameters are bound. | |
std::pair< double, Parameters > | operator[] (std::size_t i) const |
Get the weight and a GenericBoundTrackParameters object for one component. | |
ParametersVector | parameters () const |
Parameters vector. | |
std::optional< CovarianceMatrix > | covariance () const |
Optional covariance matrix. | |
template<BoundIndices kIndex> | |
Scalar | get () const |
Vector4 | fourPosition (const GeometryContext &geoCtx) const |
Vector3 | position (const GeometryContext &geoCtx) const |
Scalar | time () const |
Time coordinate. | |
Vector3 | direction () const |
Scalar | phi () const |
Phi direction. | |
Scalar | theta () const |
Theta direction. | |
Scalar | qOverP () const |
Charge over momentum. | |
Scalar | absoluteMomentum () const |
Absolute momentum. | |
Scalar | transverseMomentum () const |
Transverse momentum. | |
Vector3 | momentum () const |
Momentum three-vector. | |
Scalar | charge () const |
Particle electric charge. | |
const ParticleHypothesis & | particleHypothesis () const |
Particle hypothesis. | |
Private Member Functions | |
template<typename projector_t > | |
auto | reduce (projector_t &&proj) const |
Helper function to reduce the component vector to a single representation. | |
Private Attributes | |
std::vector< std::tuple < double, BoundVector, std::optional < BoundSquareMatrix > > > | m_components |
std::shared_ptr< const Surface > | m_surface |
ParticleHypothesis | m_particleHypothesis |
This class is only a light wrapper around a surface and a vector of parameters. Its main purpose is to provide many constructors for the underlying vector. Most accessors are generated from the BoundTrackParameters equivalent and thus may be expensive
Definition at line 33 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 33 of file MultiComponentTrackParameters.hpp
using Acts::MultiComponentBoundTrackParameters::CovarianceMatrix = typename Parameters::CovarianceMatrix |
Definition at line 39 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 39 of file MultiComponentTrackParameters.hpp
Definition at line 35 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 35 of file MultiComponentTrackParameters.hpp
using Acts::MultiComponentBoundTrackParameters::ParametersVector = typename Parameters::ParametersVector |
Definition at line 38 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 38 of file MultiComponentTrackParameters.hpp
Definition at line 36 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 36 of file MultiComponentTrackParameters.hpp
using Acts::MultiComponentBoundTrackParameters::Scalar = typename Parameters::Scalar |
Definition at line 37 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 37 of file MultiComponentTrackParameters.hpp
|
inline |
Construct from multiple components.
Definition at line 73 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 73 of file MultiComponentTrackParameters.hpp
References Acts::Test::cov, and m_components.
|
inline |
Construct from a parameters vector on the surface and particle charge.
surface | Reference surface the parameters are defined on |
params | Bound parameters vector |
particleHypothesis | Particle hypothesis for these parameters |
cov | Bound parameters covariance matrix |
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.
Definition at line 104 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 104 of file MultiComponentTrackParameters.hpp
References m_components, and testing::internal::move().
|
delete |
Parameters are not default constructible due to the charge type.
|
default |
|
default |
|
default |
|
inline |
Absolute momentum.
Definition at line 204 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 204 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::absoluteMomentum(), merge_hashes::p, and reduce().
|
inline |
Particle electric charge.
Definition at line 219 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 219 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::charge(), merge_hashes::p, and reduce().
|
inline |
Access the parameters.
Definition at line 126 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 126 of file MultiComponentTrackParameters.hpp
References m_components.
Referenced by Acts::MultiEigenStepperLoop< extensionlist_t, component_reducer_t, auctioneer_t >::State::State().
|
inline |
Optional covariance matrix.
Definition at line 146 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 146 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::covariance(), merge_hashes::p, and reduce().
|
inline |
Unit direction three-vector, i.e. the normalized momentum three-vector.
Definition at line 189 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 189 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::direction(), merge_hashes::p, and reduce().
Referenced by phi(), and theta().
|
inline |
Space-time position four-vector.
[in] | geoCtx | Geometry context for the local-to-global transformation |
Definition at line 170 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 170 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::fourPosition(), merge_hashes::p, and reduce().
|
inline |
Access a single parameter value identified by its index.
kIndex | Track parameter index |
Definition at line 162 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 162 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::get(), merge_hashes::p, and reduce().
|
inline |
Momentum three-vector.
Definition at line 214 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 214 of file MultiComponentTrackParameters.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::momentum(), merge_hashes::p, and reduce().
|
default |
|
default |
|
inline |
Get the weight and a GenericBoundTrackParameters object for one component.
Definition at line 132 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 132 of file MultiComponentTrackParameters.hpp
References m_components, m_particleHypothesis, and m_surface.
|
inline |
Parameters vector.
Definition at line 141 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 141 of file MultiComponentTrackParameters.hpp
References merge_hashes::p, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::parameters(), and reduce().
|
inline |
Particle hypothesis.
Definition at line 224 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 224 of file MultiComponentTrackParameters.hpp
References m_particleHypothesis.
|
inline |
Phi direction.
Definition at line 195 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 195 of file MultiComponentTrackParameters.hpp
References direction(), and Acts::VectorHelpers::phi().
|
inline |
Spatial position three-vector.
[in] | geoCtx | Geometry context for the local-to-global transformation |
Definition at line 178 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 178 of file MultiComponentTrackParameters.hpp
References merge_hashes::p, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::position(), and reduce().
|
inline |
Charge over momentum.
Definition at line 201 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 201 of file MultiComponentTrackParameters.hpp
|
inlineprivate |
Helper function to reduce the component vector to a single representation.
Definition at line 51 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 51 of file MultiComponentTrackParameters.hpp
References i, m_components, and proj().
Referenced by absoluteMomentum(), charge(), covariance(), direction(), fourPosition(), get(), momentum(), parameters(), position(), pysigh(), pystrf(), time(), and transverseMomentum().
|
inline |
Reference surface onto which the parameters are bound.
Definition at line 129 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 129 of file MultiComponentTrackParameters.hpp
References m_surface.
Referenced by Acts::MultiEigenStepperLoop< extensionlist_t, component_reducer_t, auctioneer_t >::State::State().
|
inline |
Theta direction.
Definition at line 198 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 198 of file MultiComponentTrackParameters.hpp
References direction(), and Acts::VectorHelpers::theta().
|
inline |
Time coordinate.
Definition at line 183 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 183 of file MultiComponentTrackParameters.hpp
References merge_hashes::p, reduce(), and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::time().
|
inline |
Transverse momentum.
Definition at line 209 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 209 of file MultiComponentTrackParameters.hpp
References merge_hashes::p, reduce(), and Acts::GenericBoundTrackParameters< particle_hypothesis_t >::transverseMomentum().
|
private |
Definition at line 43 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 43 of file MultiComponentTrackParameters.hpp
Referenced by components(), MultiComponentBoundTrackParameters(), operator[](), and reduce().
|
private |
Definition at line 47 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 47 of file MultiComponentTrackParameters.hpp
Referenced by operator[](), and particleHypothesis().
|
private |
Definition at line 44 of file MultiComponentTrackParameters.hpp.
View newest version in sPHENIX GitHub at line 44 of file MultiComponentTrackParameters.hpp
Referenced by operator[](), and referenceSurface().