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

Container for doublets found by the doublet seed finder. More...

#include <Acts/Seeding2/DoubletSeedFinder.hpp>

Classes

struct  IndexAndCotTheta
 Pair of doublet index and cotTheta value. More...
class  Proxy
 Proxy accessor for a single doublet entry. More...
class  Proxy2
 Same as Proxy but also contains cotTheta. More...
class  Range
 Range view over doublets in the container. More...
class  Subset
 Subset view of doublets addressed by indices. More...
class  Subset2
 Subset view of doublets addressed by index and cotTheta pairs. More...

Public Types

using const_iterator
 Type alias for const iterator over doublets in container.
using Index = std::uint32_t
 Type alias for index type used in doublets container.
using IndexAndCotThetaSubset = std::span<const IndexAndCotTheta>
 Type alias for subset of index and cotTheta pairs.
using IndexRange = std::pair<Index, Index>
 Type alias for range of indices in doublets container.
using IndexSubset = std::span<const Index>
 Type alias for subset of indices in doublets container.

Public Member Functions

const_iterator begin () const
 Get iterator to beginning of doublets container.
void clear ()
 Clear all stored doublets and associated data.
const std::vector< float > & cotTheta () const
 Get reference to cotTheta values container.
void emplace_back (SpacePointIndex2 sp, float cotTheta, float iDeltaR, float er, float u, float v, float x, float y)
 Add a new doublet with associated parameters.
bool empty () const
 Check if the doublets container is empty.
const_iterator end () const
 Get iterator to end of doublets container.
Proxy operator[] (Index index) const
 Access doublet by index.
Proxy2 operator[] (IndexAndCotTheta indexAndCotTheta) const
 Access doublet by index and cotTheta pair.
Range range () const noexcept
 Get range view of all doublets.
Range range (const IndexRange &range) const noexcept
 Get range view of doublets within specified index range.
Index size () const
 Get the number of doublets in container.
void sortByCotTheta (const IndexRange &range, std::vector< IndexAndCotTheta > &indexAndCotTheta) const
 Sort doublets by cotTheta within given range.
const std::vector< SpacePointIndex2 > & spacePoints () const
 Get reference to space point indices container.
Subset2 subset (const IndexAndCotThetaSubset &subset) const noexcept
 Create subset view from index and cotTheta subset.
Subset subset (const IndexSubset &subset) const noexcept
 Create subset view from index subset.

Detailed Description

Container for doublets found by the doublet seed finder.

This implementation uses partial AoS/SoA depending on the access pattern in the doublet finding process.

Member Typedef Documentation

◆ const_iterator

Initial value:
detail::ContainerIterator<DoubletsForMiddleSp, Proxy, Index, true>

Type alias for const iterator over doublets in container.

Member Function Documentation

◆ begin()

const_iterator Acts::DoubletsForMiddleSp::begin ( ) const

Get iterator to beginning of doublets container.

Returns
Const iterator to first doublet

◆ cotTheta()

const std::vector< float > & Acts::DoubletsForMiddleSp::cotTheta ( ) const

Get reference to cotTheta values container.

Returns
Const reference to cotTheta values vector

◆ emplace_back()

void Acts::DoubletsForMiddleSp::emplace_back ( SpacePointIndex2 sp,
float cotTheta,
float iDeltaR,
float er,
float u,
float v,
float x,
float y )

Add a new doublet with associated parameters.

Parameters
spspace point index for the doublet
cotThetaCotangent of polar angle
iDeltaRInverse delta R parameter
erError in R coordinate
uU coordinate parameter
vV coordinate parameter
xX coordinate
yY coordinate

◆ empty()

bool Acts::DoubletsForMiddleSp::empty ( ) const
nodiscard

Check if the doublets container is empty.

Returns
True if container has no doublets

◆ end()

const_iterator Acts::DoubletsForMiddleSp::end ( ) const

Get iterator to end of doublets container.

Returns
Const iterator past the last doublet

◆ operator[]() [1/2]

Proxy Acts::DoubletsForMiddleSp::operator[] ( Index index) const

Access doublet by index.

Parameters
indexIndex of the doublet to access
Returns
Proxy object for the doublet

◆ operator[]() [2/2]

Proxy2 Acts::DoubletsForMiddleSp::operator[] ( IndexAndCotTheta indexAndCotTheta) const

Access doublet by index and cotTheta pair.

Parameters
indexAndCotThetaIndex and cotTheta pair for the doublet
Returns
Proxy2 object for the doublet with precomputed cotTheta

◆ range() [1/2]

Range Acts::DoubletsForMiddleSp::range ( ) const
noexcept

Get range view of all doublets.

Returns
Range object covering all doublets

◆ range() [2/2]

Range Acts::DoubletsForMiddleSp::range ( const IndexRange & range) const
noexcept

Get range view of doublets within specified index range.

Parameters
rangeIndex range to create view for
Returns
Range object covering specified doublets

◆ size()

Index Acts::DoubletsForMiddleSp::size ( ) const
nodiscard

Get the number of doublets in container.

Returns
Number of doublets stored

◆ sortByCotTheta()

void Acts::DoubletsForMiddleSp::sortByCotTheta ( const IndexRange & range,
std::vector< IndexAndCotTheta > & indexAndCotTheta ) const

Sort doublets by cotTheta within given range.

Parameters
rangeIndex range to sort within
indexAndCotThetaOutput vector containing sorted index and cotTheta pairs

◆ spacePoints()

const std::vector< SpacePointIndex2 > & Acts::DoubletsForMiddleSp::spacePoints ( ) const

Get reference to space point indices container.

Returns
Const reference to space point indices vector

◆ subset() [1/2]

Subset2 Acts::DoubletsForMiddleSp::subset ( const IndexAndCotThetaSubset & subset) const
noexcept

Create subset view from index and cotTheta subset.

Parameters
subsetSpan of index and cotTheta pairs to include
Returns
Subset2 object with precomputed cotTheta values

◆ subset() [2/2]

Subset Acts::DoubletsForMiddleSp::subset ( const IndexSubset & subset) const
noexcept

Create subset view from index subset.

Parameters
subsetSpan of indices to include in subset
Returns
Subset object for the specified indices