File SeedFinderUtils.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent


template<typename external_spacepoint_t>
LinCircle transformCoordinates(InternalSpacePoint<external_spacepoint_t> &sp, InternalSpacePoint<external_spacepoint_t> &spM, bool bottom)

Transform two spacepoints to a u-v space circle.

This function is a non-vectorized version of transformCoordinates.

Template Parameters

external_spacepoint_t – The external spacepoint type.

  • sp[in] The first spacepoint to use, either a bottom or top.

  • spM[in] The middle spacepoint to use.

  • bottom[in] Should be true if sp is a bottom SP.

template<typename external_spacepoint_t, typename callable_t>
LinCircle transformCoordinates(external_spacepoint_t &sp, external_spacepoint_t &spM, bool bottom, callable_t &&extractFunction)
template<typename external_spacepoint_t>
std::vector<std::size_t> transformCoordinates(std::vector<InternalSpacePoint<external_spacepoint_t>*> &vec, const InternalSpacePoint<external_spacepoint_t> &spM, bool bottom, std::vector<LinCircle> &linCircleVec)

Transform a vector of spacepoints to u-v space circles with respect to a given middle spacepoint.

Template Parameters

external_spacepoint_t – The external spacepoint type.

  • vec[in] The list of bottom or top spacepoints

  • spM[in] The middle spacepoint.

  • bottom[in] Should be true if vec are bottom spacepoints.

  • linCircleVec[out] The output vector to write to.


Vector of sorted indexes for the vectors (vec and linCircleVec)

template<typename external_spacepoint_t, typename callable_t>
std::vector<std::size_t> transformCoordinates(std::vector<external_spacepoint_t*> &vec, const external_spacepoint_t &spM, bool bottom, std::vector<LinCircle> &linCircleVec, callable_t &&extractFunction)
template<typename external_spacepoint_t, typename sp_range_t>
bool xyzCoordinateCheck(const Acts::SeedFinderConfig<external_spacepoint_t> &config, sp_range_t sp, const double *spacepointPosition, double *outputCoordinates)

Check the compatibility of spacepoint coordinates in xyz assuming the Bottom-Middle direction with the strip meassument details.

Template Parameters
  • external_spacepoint_t – The external spacepoint type.

  • sp_range_t – Container type for the space point collections.

  • config[in] SeedFinder config containing the delegates to the strip measurement details.

  • sp[in] Input space point used in the check.

  • spacepointPosition[in] Spacepoint coordinates in xyz plane.

  • outputCoordinates[out] The output vector to write to.


Boolean that says if spacepoint is compatible with being inside the detector element.

struct LinCircle
#include <Acts/Seeding/SeedFinderUtils.hpp>

A partial description of a circle in u-v space.

Public Members

float cotTheta
float Er
float iDeltaR
float r
float U
float V
float x
float y
float z
float Zo