File TrackParametersConcept.hpp

namespace Acts

Note

This file is foreseen for the Geometry module to replace Extent

namespace Concepts

Typedefs

using ReturnTypeAbsoluteMomentum = decltype(std::declval<T>().absoluteMomentum())
using ReturnTypeCharge = decltype(std::declval<T>().charge())
using ReturnTypeCovariance = decltype(std::declval<T>().covariance())
using ReturnTypeFourPosition = decltype(std::declval<T>().fourPosition())
using ReturnTypeFourPositionFromContext = decltype(std::declval<T>().fourPosition(std::declval<GeometryContext>()))
using ReturnTypeParameters = decltype(std::declval<T>().parameters())
using ReturnTypePosition = decltype(std::declval<T>().position())
using ReturnTypePositionFromContext = decltype(std::declval<T>().position(std::declval<GeometryContext>()))
using ReturnTypeReferenceSurface = decltype(std::declval<T>().referenceSurface())
using ReturnTypeTime = decltype(std::declval<T>().time())
using ReturnTypeUnitDirection = decltype(std::declval<T>().unitDirection())
using TypeCovarianceMatrix = typename T::CovarianceMatrix
using TypeParametersVector = typename T::ParametersVector
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<BoundSymMatrix>>
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 hasMethodUnitDirection = identical_to<Vector3, ReturnTypeUnitDirection, 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, hasMethodUnitDirection, 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<FreeSymMatrix>>
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 hasMethodUnitDirection = identical_to<Vector3, ReturnTypeUnitDirection, 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, hasMethodUnitDirection, hasMethodAbsoluteMomentum, hasMethodCharge>