ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard Struct Reference

#include <CellContainer.h>

Collaboration diagram for ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard:

Public Member Functions

 ModuleRangeGuard (CellContainer &cell_container, unsigned int id_hash)
ClusterRange range () const
std::span< CellmoduleCellSpan ()
IdentifierHash identifyHash () const

Private Attributes

CellContainerm_cellContainer
unsigned int m_firstCell
unsigned int m_clusterBegin
unsigned int m_idHash

Detailed Description

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
struct ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard

Definition at line 71 of file CellContainer.h.

Constructor & Destructor Documentation

◆ ModuleRangeGuard()

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::ModuleRangeGuard ( CellContainer & cell_container,
unsigned int id_hash )
inline

Definition at line 72 of file CellContainer.h.

77 {
78 // The module guard should be constructed after startNewModule was called
79 // and before any cluster was added.
82 }
temporary cell container suitable for the in-place clusterization
std::vector< Cell > m_cells
std::vector< index_t > m_relativeClusterCellIndex

Member Function Documentation

◆ identifyHash()

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
IdentifierHash ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::identifyHash ( ) const
inline

Definition at line 94 of file CellContainer.h.

94 {
95 return m_idHash;
96 }

◆ moduleCellSpan()

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
std::span< Cell > ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::moduleCellSpan ( )
inline

Definition at line 89 of file CellContainer.h.

89 {
90 assert( m_cellContainer->m_cells.size() >= m_firstCell);
91 return std::span<Cell>(m_cellContainer->m_cells.begin()+m_firstCell,
92 m_cellContainer->m_cells.end());
93 }

◆ range()

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
ClusterRange ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::range ( ) const
inline

Definition at line 83 of file CellContainer.h.

83 {
84 return ClusterRange{.cellBeginIndex = m_firstCell,
85 .clusterRangeBeginIndex = m_clusterBegin,
86 .clusterRangeEndIndex = static_cast<unsigned int>(m_cellContainer->m_relativeClusterCellIndex.size()),
87 .idHash = m_idHash };
88 }

Member Data Documentation

◆ m_cellContainer

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
CellContainer* ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::m_cellContainer
private

Definition at line 98 of file CellContainer.h.

◆ m_clusterBegin

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
unsigned int ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::m_clusterBegin
private

Definition at line 100 of file CellContainer.h.

◆ m_firstCell

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
unsigned int ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::m_firstCell
private

Definition at line 99 of file CellContainer.h.

◆ m_idHash

template<typename coordinates_t, std::size_t NDIM, std::unsigned_integral index_t>
unsigned int ActsTrk::CellContainer< coordinates_t, NDIM, index_t >::ModuleRangeGuard::m_idHash
private

Definition at line 101 of file CellContainer.h.


The documentation for this struct was generated from the following file: