|
ACTS
Experiment-independent tracking
|
This class is only a light wrapper around a surface and a vector of parameters. More...
#include <Acts/EventData/MultiComponentTrackParameters.hpp>
Public Types | |
| using | Component |
| Type alias for the component tuple. | |
| using | ConstructionTuple |
| Type alias for construction tuple containing weight, position, direction, q/p, and covariance. | |
| using | CovarianceMatrix = typename Parameters::CovarianceMatrix |
| Type alias for covariance matrix. | |
| using | Parameters = BoundTrackParameters |
| Type alias for bound track parameters. | |
| using | ParametersVector = typename Parameters::ParametersVector |
| Type alias for bound parameters vector. | |
Public Member Functions | |
| MultiComponentBoundTrackParameters ()=delete | |
| No default constructor, because we always need at least a surface and particle hypothesis. | |
| MultiComponentBoundTrackParameters (const MultiComponentBoundTrackParameters &)=default | |
| Copy constructor. | |
| MultiComponentBoundTrackParameters (MultiComponentBoundTrackParameters &&)=default | |
| Move constructor. | |
| MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, bool hasCovariance, ParticleHypothesis particleHypothesis) | |
| Construct from a surface and particle hypothesis, without components. | |
| MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, const BoundVector ¶ms, std::optional< BoundMatrix > cov, ParticleHypothesis particleHypothesis) | |
| Construct from a single component. | |
| template<std::ranges::range component_range_t, typename projector_t> requires detail::ComponentRangeAndProjectorWithCovarianceConcept< component_range_t, projector_t> | |
| MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, const component_range_t &cmps, const projector_t &proj, ParticleHypothesis particleHypothesis) | |
| Construct from multiple components with covariance. | |
| template<std::ranges::range component_range_t, typename projector_t> requires detail::ComponentRangeAndProjectorWithoutCovarianceConcept< component_range_t, projector_t> | |
| MultiComponentBoundTrackParameters (std::shared_ptr< const Surface > surface, const component_range_t &cmps, const projector_t &proj, ParticleHypothesis particleHypothesis) | |
| Construct from multiple components without covariance. | |
| void | clear () |
| Clear all components from the multi-component parameters. | |
| const std::vector< CovarianceMatrix > & | covariances () const |
| Access to the covariances of the components. | |
| bool | empty () const |
| Check if the multi-component parameters are empty. | |
| bool | hasCovariance () const |
| Check if covariance matrices are available for the components. | |
| BoundTrackParameters | merge (ComponentMergeMethod method) const |
| Merge component mixture into a single set of parameters using the specified method. | |
| void | normalizeWeights () |
| Normalize the weights of the components so that they sum up to 1. | |
| MultiComponentBoundTrackParameters & | operator= (const MultiComponentBoundTrackParameters &)=default |
| Copy assignment operator. | |
| MultiComponentBoundTrackParameters & | operator= (MultiComponentBoundTrackParameters &&)=default |
| Move assignment operator. | |
| std::pair< double, Parameters > | operator[] (std::size_t i) const |
| Get the weight and a GenericBoundTrackParameters object for one component. | |
| const std::vector< ParametersVector > & | parameters () const |
| Access to the parameters of the components. | |
| const ParticleHypothesis & | particleHypothesis () const |
| Particle hypothesis. | |
| void | pushComponent (double weight, const ParametersVector ¶ms) |
| Add a component to the multi-component parameters. | |
| void | pushComponent (double weight, const ParametersVector ¶ms, const CovarianceMatrix &cov) |
| Add a component with covariance to the multi-component parameters. | |
| void | pushComponent (double weight, const ParametersVector ¶ms, const std::optional< CovarianceMatrix > &cov) |
| Add a component with optional covariance to the multi-component parameters. | |
| const Surface & | referenceSurface () const |
| Reference surface onto which the parameters are bound. | |
| void | reserve (std::size_t n) |
| Reserve space for a number of components in the multi-component parameters. | |
| std::size_t | size () const |
| Size of the multi-component parameters. | |
| MultiComponentBoundTrackParameters | toBound () const |
| Comply with bound convertible, in this case return a copy. | |
| std::vector< Component > | toComponents () const |
| Convert the multi-component parameters to a vector of components. | |
| const std::vector< double > & | weights () const |
| Access to the weights of the components. | |
Static Public Member Functions | |
| static MultiComponentBoundTrackParameters | createCurvilinear (const GeometryContext &geoCtx, const std::vector< ConstructionTuple > &curvi, ParticleHypothesis particleHypothesis) |
| We need this helper function in order to construct the base class properly. | |
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
Type alias for the component tuple.
Type alias for construction tuple containing weight, position, direction, q/p, and covariance.
| Acts::MultiComponentBoundTrackParameters::MultiComponentBoundTrackParameters | ( | std::shared_ptr< const Surface > | surface, |
| bool | hasCovariance, | ||
| ParticleHypothesis | particleHypothesis ) |
Construct from a surface and particle hypothesis, without components.
| surface | Reference surface the parameters are defined on |
| hasCovariance | Flag indicating if covariance matrices will be provided for the |
| particleHypothesis | Particle hypothesis for the parameters |
| Acts::MultiComponentBoundTrackParameters::MultiComponentBoundTrackParameters | ( | std::shared_ptr< const Surface > | surface, |
| const BoundVector & | params, | ||
| std::optional< BoundMatrix > | cov, | ||
| ParticleHypothesis | particleHypothesis ) |
Construct from a single component.
| surface | Reference surface the parameters are defined on |
| params | Bound parameters vector |
| cov | Bound parameters covariance matrix |
| particleHypothesis | Particle hypothesis for these parameters |
| Acts::MultiComponentBoundTrackParameters::MultiComponentBoundTrackParameters | ( | std::shared_ptr< const Surface > | surface, |
| const component_range_t & | cmps, | ||
| const projector_t & | proj, | ||
| ParticleHypothesis | particleHypothesis ) |
Construct from multiple components without covariance.
| surface | Surface on which the parameters are bound |
| cmps | Vector of weight, parameters vector, and covariance components |
| proj | Projector to use for the parameters |
| particleHypothesis | Particle hypothesis for the parameters |
| Acts::MultiComponentBoundTrackParameters::MultiComponentBoundTrackParameters | ( | std::shared_ptr< const Surface > | surface, |
| const component_range_t & | cmps, | ||
| const projector_t & | proj, | ||
| ParticleHypothesis | particleHypothesis ) |
Construct from multiple components with covariance.
| surface | Surface on which the parameters are bound |
| cmps | Vector of weight, parameters vector, and covariance components |
| proj | Projector to use for the parameters |
| particleHypothesis | Particle hypothesis for the parameters |
| const std::vector< CovarianceMatrix > & Acts::MultiComponentBoundTrackParameters::covariances | ( | ) | const |
Access to the covariances of the components.
| std::runtime_error | if covariance matrices are not available for this multi-component parameters |
|
static |
We need this helper function in order to construct the base class properly.
| geoCtx | Geometry context for construction |
| curvi | Vector of construction tuples containing component data |
| particleHypothesis | Particle hypothesis for the parameters |
| bool Acts::MultiComponentBoundTrackParameters::empty | ( | ) | const |
Check if the multi-component parameters are empty.
| bool Acts::MultiComponentBoundTrackParameters::hasCovariance | ( | ) | const |
Check if covariance matrices are available for the components.
| BoundTrackParameters Acts::MultiComponentBoundTrackParameters::merge | ( | ComponentMergeMethod | method | ) | const |
Merge component mixture into a single set of parameters using the specified method.
| method | Method to use for merging the components into a single set of parameters |
|
default |
Copy assignment operator.
|
default |
Move assignment operator.
| std::pair< double, Parameters > Acts::MultiComponentBoundTrackParameters::operator[] | ( | std::size_t | i | ) | const |
Get the weight and a GenericBoundTrackParameters object for one component.
| i | Index of the component to access |
| const std::vector< ParametersVector > & Acts::MultiComponentBoundTrackParameters::parameters | ( | ) | const |
Access to the parameters of the components.
| const ParticleHypothesis & Acts::MultiComponentBoundTrackParameters::particleHypothesis | ( | ) | const |
Particle hypothesis.
| void Acts::MultiComponentBoundTrackParameters::pushComponent | ( | double | weight, |
| const ParametersVector & | params ) |
Add a component to the multi-component parameters.
| weight | Weight of the new component |
| params | Parameters vector of the new component |
| void Acts::MultiComponentBoundTrackParameters::pushComponent | ( | double | weight, |
| const ParametersVector & | params, | ||
| const CovarianceMatrix & | cov ) |
Add a component with covariance to the multi-component parameters.
| weight | Weight of the new component |
| params | Parameters vector of the new component |
| cov | Covariance matrix of the new component |
| void Acts::MultiComponentBoundTrackParameters::pushComponent | ( | double | weight, |
| const ParametersVector & | params, | ||
| const std::optional< CovarianceMatrix > & | cov ) |
Add a component with optional covariance to the multi-component parameters.
| weight | Weight of the new component |
| params | Parameters vector of the new component |
| cov | Optional covariance matrix of the new component |
| const Surface & Acts::MultiComponentBoundTrackParameters::referenceSurface | ( | ) | const |
Reference surface onto which the parameters are bound.
| void Acts::MultiComponentBoundTrackParameters::reserve | ( | std::size_t | n | ) |
Reserve space for a number of components in the multi-component parameters.
| n | Number of components to reserve space for |
| std::size_t Acts::MultiComponentBoundTrackParameters::size | ( | ) | const |
Size of the multi-component parameters.
| MultiComponentBoundTrackParameters Acts::MultiComponentBoundTrackParameters::toBound | ( | ) | const |
Comply with bound convertible, in this case return a copy.
| std::vector< Component > Acts::MultiComponentBoundTrackParameters::toComponents | ( | ) | const |
Convert the multi-component parameters to a vector of components.
| const std::vector< double > & Acts::MultiComponentBoundTrackParameters::weights | ( | ) | const |
Access to the weights of the components.