File UncorrelatedHitSmearer.hpp

namespace ActsFatras

Typedefs

using SingleParameterSmearFunction = std::function<Acts::Result<std::pair<double, double>>(double, generator_t&)>

Smearing function definition for single track parameters.

The function takes the unsmeared parameter and returns the smeared value and a standard deviation.

Template Parameters

generator_t – The type of the random generator.

template<typename generator_t, size_t kSize>
struct BoundParametersSmearer
#include <ActsFatras/Digitization/UncorrelatedHitSmearer.hpp>

Uncorrelated smearing algorithm for fast digitisation of bound parameters.

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

Template Parameters
  • generator_t – Random number generator type

  • kSize – Number of smeared parameters

Public Types

using CovarianceMatrix = Acts::ActsSymMatrix<kSize>
using ParametersVector = Acts::ActsVector<kSize>
using Result = Acts::Result<std::pair<ParametersVector, CovarianceMatrix>>
using Scalar = Acts::ActsScalar

Public Functions

inline Result operator()(generator_t &rng, const Hit &hit, const Acts::Surface &surface, const Acts::GeometryContext &geoCtx) const

Generate smeared measured for configured parameters.

Parameters
  • rng – Random number generator

  • hit – Simulated hit

  • surface – Local surface on which the hit is smeared

  • geoCtx – Geometry context

Return values
  • Smeared – parameters vector and associated covariance on success

  • Error – code for failure

Public Members

std::array<Acts::BoundIndices, kSize> indices

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

std::array<SingleParameterSmearFunction<generator_t>, kSize> smearFunctions

Public Static Functions

static inline constexpr size_t size()
template<typename generator_t, size_t kSize>
struct FreeParametersSmearer
#include <ActsFatras/Digitization/UncorrelatedHitSmearer.hpp>

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

Template Parameters
  • generator_t – Random number generator type

  • kSize – Number of smeared parameters

Public Types

using CovarianceMatrix = Acts::ActsSymMatrix<kSize>
using ParametersVector = Acts::ActsVector<kSize>
using Result = Acts::Result<std::pair<ParametersVector, CovarianceMatrix>>
using Scalar = Acts::ActsScalar

Public Functions

inline Result operator()(generator_t &rng, const Hit &hit) const

Generate smeared measured for configured parameters.

Parameters
  • rng – Random number generator

  • hit – Simulated hit

Return values
  • Smeared – parameters vector and associated covariance on success

  • Error – code for failure

Returns

Smeared free parameter set wrapped in a Result<…> object

Public Members

std::array<Acts::FreeIndices, kSize> indices

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

std::array<SingleParameterSmearFunction<generator_t>, kSize> smearFunctions

Public Static Functions

static inline constexpr size_t size()