ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Experimental::CylindricalSpacePointKDTree Class Reference

A cylindrical space point KD-tree used for seeding in a cylindrical detector geometry. More...

#include <Acts/Seeding2/CylindricalSpacePointKDTree.hpp>

Classes

struct  Candidates
struct  Options

Public Types

enum  Dim { DimPhi = 0 , DimR = 1 , DimZ = 2 }
 Enumeration of the different dimensions in which we can apply cuts. More...
using SpacePointIndex = std::uint32_t
 Space point index type used in the grid.
using Tree = KDTree<NDims, SpacePointIndex, float, std::array, 4>
 The k-d tree type used by this seeder internally, which is three-dimensional, contains internal spacepoint pointers, uses the Acts scalar type for coordinates, stores its coordinates in std::arrays, and has leaf size 4.

Public Member Functions

 CylindricalSpacePointKDTree (Tree tree, std::unique_ptr< const Logger > logger=getDefaultLogger("CylindricalSpacePointKDTree", Logging::Level::INFO))
 Construct a cylindrical space point grid with the given configuration and an optional logger.
auto begin () const
auto end () const
std::size_t size () const
Tree::range_t validTupleOrthoRangeHL (const Options &options, const ConstSpacePointProxy2 &high) const
Tree::range_t validTupleOrthoRangeLH (const Options &options, const ConstSpacePointProxy2 &low) const
void validTuples (const Options &lhOptions, const Options &hlOptions, const ConstSpacePointProxy2 &spM, std::size_t nTopSeedConf, Candidates &candidates) const

Static Public Attributes

static constexpr std::size_t NDims = 3
 Set the number of dimensions in which to embed points.

Detailed Description

A cylindrical space point KD-tree used for seeding in a cylindrical detector geometry.

The tree is defined in cylindrical coordinates (phi, r, z) and allows for efficient access to space points based on their azimuthal angle, radial distance, and z-coordinate.

Member Typedef Documentation

◆ SpacePointIndex

Space point index type used in the grid.

◆ Tree

The k-d tree type used by this seeder internally, which is three-dimensional, contains internal spacepoint pointers, uses the Acts scalar type for coordinates, stores its coordinates in std::arrays, and has leaf size 4.

Member Enumeration Documentation

◆ Dim

Enumeration of the different dimensions in which we can apply cuts.

Enumerator
DimPhi 
DimR 
DimZ 

Constructor & Destructor Documentation

◆ CylindricalSpacePointKDTree()

Acts::Experimental::CylindricalSpacePointKDTree::CylindricalSpacePointKDTree ( Tree tree,
std::unique_ptr< const Logger > logger = getDefaultLogger("CylindricalSpacePointKDTree", Logging::Level::INFO) )
explicit

Construct a cylindrical space point grid with the given configuration and an optional logger.

Member Function Documentation

◆ begin()

auto Acts::Experimental::CylindricalSpacePointKDTree::begin ( ) const

◆ end()

auto Acts::Experimental::CylindricalSpacePointKDTree::end ( ) const

◆ size()

std::size_t Acts::Experimental::CylindricalSpacePointKDTree::size ( ) const

◆ validTupleOrthoRangeHL()

Tree::range_t Acts::Experimental::CylindricalSpacePointKDTree::validTupleOrthoRangeHL ( const Options & options,
const ConstSpacePointProxy2 & high ) const

◆ validTupleOrthoRangeLH()

Tree::range_t Acts::Experimental::CylindricalSpacePointKDTree::validTupleOrthoRangeLH ( const Options & options,
const ConstSpacePointProxy2 & low ) const

◆ validTuples()

void Acts::Experimental::CylindricalSpacePointKDTree::validTuples ( const Options & lhOptions,
const Options & hlOptions,
const ConstSpacePointProxy2 & spM,
std::size_t nTopSeedConf,
Candidates & candidates ) const

Member Data Documentation

◆ NDims

std::size_t Acts::Experimental::CylindricalSpacePointKDTree::NDims = 3
staticconstexpr

Set the number of dimensions in which to embed points.

This is just 3 for now (phi, r, and z), but we might want to increase or decrease this number in the future.