File TrackParametersConcept.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Concepts

Typedefs

template<typename T>
using ReturnTypeAbsoluteMomentum = decltype(std::declval<T>().absoluteMomentum())
template<typename T>
using ReturnTypeCharge = decltype(std::declval<T>().charge())
template<typename T>
using ReturnTypeCovariance = decltype(std::declval<T>().covariance())
template<typename T>
using ReturnTypeDirection = decltype(std::declval<T>().direction())
template<typename T>
using ReturnTypeFourPosition = decltype(std::declval<T>().fourPosition())
template<typename T>
using ReturnTypeFourPositionFromContext = decltype(std::declval<T>().fourPosition(std::declval<GeometryContext>()))
template<typename T>
using ReturnTypeParameters = decltype(std::declval<T>().parameters())
template<typename T>
using ReturnTypePosition = decltype(std::declval<T>().position())
template<typename T>
using ReturnTypePositionFromContext = decltype(std::declval<T>().position(std::declval<GeometryContext>()))
template<typename T>
using ReturnTypeReferenceSurface = decltype(std::declval<T>().referenceSurface())
template<typename T>
using ReturnTypeTime = decltype(std::declval<T>().time())
template<typename T>
using TypeCovarianceMatrix = typename T::CovarianceMatrix
template<typename T>
using TypeParametersVector = typename T::ParametersVector
template<typename T>
using TypeScalar = typename T::Scalar

Variables

template<typename parameters_t>
constexpr bool BoundTrackParametersConcept = BoundTrackParametersConceptImpl<parameters_t>::value
template<typename parameters_t>
constexpr bool FreeTrackParametersConcept = FreeTrackParametersConceptImpl<parameters_t>::value
template<typename T>
struct BoundTrackParametersConceptImpl
#include <Acts/EventData/TrackParametersConcept.hpp>

Public Static Attributes

static constexpr bool hasMethodAbsoluteMomentum = identical_to<TypeScalar<T>, ReturnTypeAbsoluteMomentum, const T>
static constexpr bool hasMethodCharge = identical_to<TypeScalar<T>, ReturnTypeCharge, const T>
static constexpr bool hasMethodCovariance = std::is_convertible_v<ReturnTypeCovariance<T>, std::optional<BoundSquareMatrix>>
static constexpr bool hasMethodDirection = identical_to<Vector3, ReturnTypeDirection, const T>
static constexpr bool hasMethodFourPositionFromContext = identical_to<Vector4, ReturnTypeFourPositionFromContext, const T>
static constexpr bool hasMethodParameters = std::is_convertible_v<ReturnTypeParameters<T>, BoundVector>
static constexpr bool hasMethodPositionFromContext = identical_to<Vector3, ReturnTypePositionFromContext, const T>
static constexpr bool hasMethodReferenceSurface = identical_to<const Surface&, ReturnTypeReferenceSurface, const T>
static constexpr bool hasMethodTime = identical_to<TypeScalar<T>, ReturnTypeTime, const T>
static constexpr bool hasTypeCovarianceMatrix = exists<TypeCovarianceMatrix, const T>
static constexpr bool hasTypeParametersVector = exists<TypeParametersVector, const T>
static constexpr bool hasTypeScalar = exists<TypeScalar, const T>
static constexpr bool value = require<hasTypeScalar, hasTypeParametersVector, hasTypeCovarianceMatrix, hasMethodParameters, hasMethodCovariance, hasMethodFourPositionFromContext, hasMethodPositionFromContext, hasMethodTime, hasMethodDirection, hasMethodAbsoluteMomentum, hasMethodCharge, hasMethodReferenceSurface>
template<typename T>
struct FreeTrackParametersConceptImpl
#include <Acts/EventData/TrackParametersConcept.hpp>

Public Static Attributes

static constexpr bool hasMethodAbsoluteMomentum = identical_to<TypeScalar<T>, ReturnTypeAbsoluteMomentum, const T>
static constexpr bool hasMethodCharge = identical_to<TypeScalar<T>, ReturnTypeCharge, const T>
static constexpr bool hasMethodCovariance = std::is_convertible_v<ReturnTypeCovariance<T>, std::optional<FreeSquareMatrix>>
static constexpr bool hasMethodDirection = identical_to<Vector3, ReturnTypeDirection, const T>
static constexpr bool hasMethodFourPosition = identical_to<Vector4, ReturnTypeFourPosition, const T>
static constexpr bool hasMethodParameters = std::is_convertible_v<ReturnTypeParameters<T>, FreeVector>
static constexpr bool hasMethodPosition = identical_to<Vector3, ReturnTypePosition, const T>
static constexpr bool hasMethodTime = identical_to<TypeScalar<T>, ReturnTypeTime, const T>
static constexpr bool hasTypeCovarianceMatrix = exists<TypeCovarianceMatrix, const T>
static constexpr bool hasTypeParametersVector = exists<TypeParametersVector, const T>
static constexpr bool hasTypeScalar = exists<TypeScalar, const T>
static constexpr bool value = require<hasTypeScalar, hasTypeParametersVector, hasTypeCovarianceMatrix, hasMethodParameters, hasMethodCovariance, hasMethodFourPosition, hasMethodPosition, hasMethodTime, hasMethodDirection, hasMethodAbsoluteMomentum, hasMethodCharge>