ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t > Class Template Referenceabstract

#include <ICellClusteringToolBase.h>

Inheritance diagram for ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >:
Collaboration diagram for ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >:

Public Types

using RDOContainer = T_RDO_Container
using RawDataCollection = typename RDOContainer::base_value_type
using ClusterContainer = T_OutputContainer
using CellContainer = ActsTrk::CellContainer<coordinate_t,NDIM,std::uint16_t>

Public Member Functions

virtual std::pair< unsigned int, unsigned int > countCells (const RDOContainer &rdo_collection, const std::vector< IdentifierHash > &listOfIds, const InDetDD::SiDetectorElementCollection &detector_elements) const =0
 count the number of cells and expected number of clusters for the given RDO collection.
virtual StatusCode clusterize (const EventContext &ctx, const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &stripDetElStatus, const InDetDD::SiDetectorElement &element, CellContainer &cell_container) const =0
 clusterize the given RDOs.
virtual std::any createEventDataCache (ClusterContainer &cont, std::size_t nClusterRDOs) const =0
 Create a per event cache which can be used to speed up the construction of the final cluster collection.
virtual StatusCode makeClusters (const EventContext &ctx, const RDOContainer &rdo_container, const CellContainer &cell_container, unsigned int module_i, const InDetDD::SiDetectorElement &element, unsigned int icluster, ClusterContainer &cont, std::any &vars) const =0
 create the final cluster collection based on the temporary cluster collection.

Detailed Description

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
class ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >

Definition at line 24 of file ICellClusteringToolBase.h.

Member Typedef Documentation

◆ CellContainer

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
using ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::CellContainer = ActsTrk::CellContainer<coordinate_t,NDIM,std::uint16_t>

Definition at line 30 of file ICellClusteringToolBase.h.

◆ ClusterContainer

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
using ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::ClusterContainer = T_OutputContainer

Definition at line 28 of file ICellClusteringToolBase.h.

◆ RawDataCollection

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
using ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::RawDataCollection = typename RDOContainer::base_value_type

Definition at line 27 of file ICellClusteringToolBase.h.

◆ RDOContainer

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
using ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::RDOContainer = T_RDO_Container

Definition at line 26 of file ICellClusteringToolBase.h.

Member Function Documentation

◆ clusterize()

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
virtual StatusCode ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::clusterize ( const EventContext & ctx,
const RawDataCollection & RDOs,
const InDet::SiDetectorElementStatus & stripDetElStatus,
const InDetDD::SiDetectorElement & element,
CellContainer & cell_container ) const
pure virtual

clusterize the given RDOs.

Will cluster the given RDOs. The result will be in the provided cell container, in which cells are sorted such that clusters are consecutive groups of cells.

◆ countCells()

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
virtual std::pair< unsigned int, unsigned int > ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::countCells ( const RDOContainer & rdo_collection,
const std::vector< IdentifierHash > & listOfIds,
const InDetDD::SiDetectorElementCollection & detector_elements ) const
pure virtual

count the number of cells and expected number of clusters for the given RDO collection.

Returns
a pair of the number of expected clusters, and the number of cells. These numbers will be used to reserve storage. Thus, too small numbers will likely introduce in-efficiencies caused by memory reallocation and copying, and too large numbers will increase temporary memory consumption.

◆ createEventDataCache()

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
virtual std::any ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::createEventDataCache ( ClusterContainer & cont,
std::size_t nClusterRDOs ) const
pure virtual

Create a per event cache which can be used to speed up the construction of the final cluster collection.

Parameters
nClusterRDOsthe total number of all RDOs/cells of all clusters.
Returns
the cache expected by makeClusters packed in an any.

◆ makeClusters()

template<typename T_RDO_Container, typename T_OutputContainer, std::size_t NDIM, std::integral coordinate_t = std::int16_t>
virtual StatusCode ActsTrk::ICellClusteringToolBase< T_RDO_Container, T_OutputContainer, NDIM, coordinate_t >::makeClusters ( const EventContext & ctx,
const RDOContainer & rdo_container,
const CellContainer & cell_container,
unsigned int module_i,
const InDetDD::SiDetectorElement & element,
unsigned int icluster,
ClusterContainer & cont,
std::any & vars ) const
pure virtual

create the final cluster collection based on the temporary cluster collection.

Parameters
rdo_containerthe RDO container
cell_containerthe result of clusterize
module_ithe index of the module for which the clusters are to be created.
elementthe detector element of this module.
iclusterthe index of the cluster in the output collection.
contthe cluster container.
varsthe event data cache created by createEventDataCache Will create the final cluster collection from the clustered cell container. The Final cluster container is expected to contain the exact amount of uninitialized clusters.

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