ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsFatras::BoundParametersSmearer< generator_t, kSize > Struct Template Reference

Uncorrelated smearing algorithm for fast digitisation of bound parameters. More...

#include <ActsFatras/Digitization/UncorrelatedHitSmearer.hpp>

Collaboration diagram for ActsFatras::BoundParametersSmearer< generator_t, kSize >:
[legend]

Public Types

using CovarianceMatrix = Acts::ActsSquareMatrix<kSize>
 Type alias for covariance matrix of dimension kSize x kSize.
using ParametersVector = Acts::ActsVector<kSize>
 Type alias for parameter vector of dimension kSize.
using Result = Acts::Result<std::pair<ParametersVector, CovarianceMatrix>>
 Type alias for smearing result containing parameters and covariance.

Public Member Functions

Result operator() (generator_t &rng, const Hit &hit, const Acts::Surface &surface, const Acts::GeometryContext &geoCtx) const
 Generate smeared measured for configured parameters.

Static Public Member Functions

static constexpr std::size_t size ()
 Get the number of bound parameters that will be smeared.

Public Attributes

std::array< bool, kSize > forcePositive = {}
 Array of flags to force positive values after smearing.
std::array< Acts::BoundIndices, kSize > indices {}
 Parameter indices that will be used to create the smeared measurements.
std::size_t maxRetries = 0
 Maximum number of retries for generating positive values when forced.
std::array< SingleParameterSmearFunction< generator_t >, kSize > smearFunctions {}
 Array of smearing functions for each measurement parameter.

Detailed Description

template<typename generator_t, std::size_t kSize>
struct ActsFatras::BoundParametersSmearer< generator_t, kSize >

Uncorrelated smearing algorithm for fast digitisation of bound parameters.

Template Parameters
generator_tRandom number generator type
kSizeNumber of smeared parameters

The smearer takes a single simulated Hit and generates a smeared parameter vector and associated covariance matrix.

Member Typedef Documentation

◆ CovarianceMatrix

template<typename generator_t, std::size_t kSize>
using ActsFatras::BoundParametersSmearer< generator_t, kSize >::CovarianceMatrix = Acts::ActsSquareMatrix<kSize>

Type alias for covariance matrix of dimension kSize x kSize.

◆ ParametersVector

template<typename generator_t, std::size_t kSize>
using ActsFatras::BoundParametersSmearer< generator_t, kSize >::ParametersVector = Acts::ActsVector<kSize>

Type alias for parameter vector of dimension kSize.

◆ Result

template<typename generator_t, std::size_t kSize>
using ActsFatras::BoundParametersSmearer< generator_t, kSize >::Result = Acts::Result<std::pair<ParametersVector, CovarianceMatrix>>

Type alias for smearing result containing parameters and covariance.

Member Function Documentation

◆ operator()()

template<typename generator_t, std::size_t kSize>
Result ActsFatras::BoundParametersSmearer< generator_t, kSize >::operator() ( generator_t & rng,
const Hit & hit,
const Acts::Surface & surface,
const Acts::GeometryContext & geoCtx ) const

Generate smeared measured for configured parameters.

Parameters
rngRandom number generator
hitSimulated hit
surfaceLocal surface on which the hit is smeared
geoCtxGeometry context
Return values
Smearedparameters vector and associated covariance on success
Errorcode for failure

◆ size()

template<typename generator_t, std::size_t kSize>
constexpr std::size_t ActsFatras::BoundParametersSmearer< generator_t, kSize >::size ( )
staticconstexpr

Get the number of bound parameters that will be smeared.

Returns
Number of bound parameters (kSize)

Member Data Documentation

◆ forcePositive

template<typename generator_t, std::size_t kSize>
std::array<bool, kSize> ActsFatras::BoundParametersSmearer< generator_t, kSize >::forcePositive = {}

Array of flags to force positive values after smearing.

◆ indices

template<typename generator_t, std::size_t kSize>
std::array<Acts::BoundIndices, kSize> ActsFatras::BoundParametersSmearer< generator_t, kSize >::indices {}

Parameter indices that will be used to create the smeared measurements.

◆ maxRetries

template<typename generator_t, std::size_t kSize>
std::size_t ActsFatras::BoundParametersSmearer< generator_t, kSize >::maxRetries = 0

Maximum number of retries for generating positive values when forced.

◆ smearFunctions

template<typename generator_t, std::size_t kSize>
std::array<SingleParameterSmearFunction<generator_t>, kSize> ActsFatras::BoundParametersSmearer< generator_t, kSize >::smearFunctions {}

Array of smearing functions for each measurement parameter.