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

Builder for cylindrical space point KD-trees. More...

#include <Acts/Seeding2/CylindricalSpacePointKDTree.hpp>

Public Types

using Dim = CylindricalSpacePointKDTree::Dim
 Enumeration of the different dimensions in which we can apply cuts.
using SpacePointIndex = CylindricalSpacePointKDTree::SpacePointIndex
 space point index type used in the grid.
using Tree = CylindricalSpacePointKDTree::Tree
 The k-d tree type used by this seeder internally, which is three-dimensional, contains internal space point pointers, uses the Acts scalar type for coordinates, stores its coordinates in std::arrays, and has leaf size 4.

Public Member Functions

 CylindricalSpacePointKDTreeBuilder (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.
CylindricalSpacePointKDTree build ()
 Build the KD-tree from accumulated space points.
void clear ()
 Clear the grid and drop all state.
void extend (const SpacePointContainer2::ConstRange &spacePoints)
 Fill the grid with space points from the container.
void insert (const ConstSpacePointProxy2 &sp)
 Insert a space point into the grid.
void insert (SpacePointIndex index, float phi, float r, float z)
 Insert a space point into the grid.
void reserve (std::size_t n)
 Reserve space for space points.
std::size_t size () const
 Get the number of space points in the grid.

Static Public Attributes

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

Detailed Description

Builder for cylindrical space point KD-trees.

Constructor & Destructor Documentation

◆ CylindricalSpacePointKDTreeBuilder()

Acts::Experimental::CylindricalSpacePointKDTreeBuilder::CylindricalSpacePointKDTreeBuilder ( 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.

Parameters
loggerOptional logger instance

Member Function Documentation

◆ build()

CylindricalSpacePointKDTree Acts::Experimental::CylindricalSpacePointKDTreeBuilder::build ( )

Build the KD-tree from accumulated space points.

Returns
The constructed cylindrical space point KD-tree

◆ clear()

void Acts::Experimental::CylindricalSpacePointKDTreeBuilder::clear ( )

Clear the grid and drop all state.

The object will behave like a newly constructed one.

◆ extend()

void Acts::Experimental::CylindricalSpacePointKDTreeBuilder::extend ( const SpacePointContainer2::ConstRange & spacePoints)

Fill the grid with space points from the container.

Parameters
spacePointsThe space point container to fill the grid with

◆ insert() [1/2]

void Acts::Experimental::CylindricalSpacePointKDTreeBuilder::insert ( const ConstSpacePointProxy2 & sp)

Insert a space point into the grid.

Parameters
spThe space point to insert

◆ insert() [2/2]

void Acts::Experimental::CylindricalSpacePointKDTreeBuilder::insert ( SpacePointIndex index,
float phi,
float r,
float z )

Insert a space point into the grid.

Parameters
indexThe index of the space point to insert
phiThe azimuthal angle of the space point in radians
rThe radial distance of the space point from the origin
zThe z-coordinate of the space point

◆ reserve()

void Acts::Experimental::CylindricalSpacePointKDTreeBuilder::reserve ( std::size_t n)

Reserve space for space points.

Parameters
nNumber of space points to reserve space for

◆ size()

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

Get the number of space points in the grid.

Returns
The number of space points in the grid

Member Data Documentation

◆ NDims

std::size_t Acts::Experimental::CylindricalSpacePointKDTreeBuilder::NDims = CylindricalSpacePointKDTree::NDims
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.