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

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

#include <ActsFatras/Digitization/UncorrelatedHitSmearer.hpp>

Collaboration diagram for ActsFatras::FreeParametersSmearer< 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
 Generate smeared measured for configured parameters.

Static Public Member Functions

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

Public Attributes

std::array< Acts::FreeIndices, kSize > indices {}
 Parameter indices that will be used to create the smeared measurements.
std::array< SingleParameterSmearFunction< generator_t >, kSize > smearFunctions
 Array of smearing functions for each free parameter.

Detailed Description

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

Uncorrelated smearing algorithm for fast digitisation of free 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.

Note
Uncorrelated smearing of the direction using each components individually is not recommended

Member Typedef Documentation

◆ CovarianceMatrix

template<typename generator_t, std::size_t kSize>
using ActsFatras::FreeParametersSmearer< 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::FreeParametersSmearer< 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::FreeParametersSmearer< 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::FreeParametersSmearer< generator_t, kSize >::operator() ( generator_t & rng,
const Hit & hit ) const

Generate smeared measured for configured parameters.

Parameters
rngRandom number generator
hitSimulated hit
Returns
Smeared free parameter set wrapped in a Result<...> object
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::FreeParametersSmearer< generator_t, kSize >::size ( )
staticconstexpr

Get the number of free parameters that will be smeared.

Returns
Number of free parameters (kSize)

Member Data Documentation

◆ indices

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

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

◆ smearFunctions

template<typename generator_t, std::size_t kSize>
std::array<SingleParameterSmearFunction<generator_t>, kSize> ActsFatras::FreeParametersSmearer< generator_t, kSize >::smearFunctions

Array of smearing functions for each free parameter.