Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GaussianMixtureReduction.hpp File Reference
#include "Acts/Definitions/Algebra.hpp"
#include "Acts/Definitions/TrackParametrization.hpp"
#include "Acts/Surfaces/CylinderSurface.hpp"
#include "Acts/Utilities/Identity.hpp"
#include "Acts/Utilities/detail/periodic.hpp"
#include <cmath>
#include <optional>
#include <tuple>
+ Include dependency graph for GaussianMixtureReduction.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Acts::detail::CyclicAngle< Idx >
 Angle descriptions for the combineBoundGaussianMixture function. More...
 
struct  Acts::detail::CyclicRadiusAngle< Idx >
 
struct  Acts::detail::AngleDescription< type_t >
 A compile time map to provide angle descriptions for different surfaces. More...
 
struct  Acts::detail::AngleDescription< Surface::Disc >
 
struct  Acts::detail::AngleDescription< Surface::Cylinder >
 

Namespaces

namespace  Acts
 Acts includes to create all necessary definitions.
 
namespace  Acts::detail
 These functions perform the transport of a covariance matrix using given Jacobians. The required data is provided by the stepper object with some additional data. Since this is a purely algebraic problem the calculations are identical for StraightLineStepper and EigenStepper. As a consequence the methods can be located in a separate file.
 

Enumerations

enum  Acts::MixtureReductionMethod
 

Functions

template<typename Callable >
auto Acts::detail::angleDescriptionSwitch (const Surface &surface, Callable &&callable)
 
template<int D, typename components_t , typename projector_t , typename angle_desc_t >
auto Acts::detail::gaussianMixtureCov (const components_t components, const ActsVector< D > &mean, double sumOfWeights, projector_t &&projector, const angle_desc_t &angleDesc)
 
template<typename components_t , typename projector_t = Identity, typename angle_desc_t = AngleDescription<Surface::Plane>::Desc>
auto Acts::detail::gaussianMixtureMeanCov (const components_t components, projector_t &&projector=projector_t{}, const angle_desc_t &angleDesc=angle_desc_t{})
 Combine multiple components into one representative track state object. The function takes iterators to allow for arbitrary ranges to be combined. The dimension of the vectors is infeared from the inputs.
 
template<typename mixture_t , typename projector_t = Acts::Identity>
auto Acts::reduceGaussianMixture (const mixture_t &mixture, const Surface &surface, MixtureReductionMethod method, projector_t &&projector=projector_t{})