@@ -1633,5 +1633,205 @@ template void computeTrackSeedHandler(TrackSeed<11>* trackSeeds,
16331633 const o2::base::Propagator* propagator,
16341634 const o2::base::PropagatorF::MatCorrType matCorrType,
16351635 o2::its::ExternalAllocator* alloc);
1636+
1637+ template void countTrackletsInROFsHandler<13 >(const IndexTableUtils<13 >* utils,
1638+ const ROFMaskTable<13 >::View& rofMask,
1639+ const int linkId,
1640+ const int fromLayer,
1641+ const int toLayer,
1642+ const ROFOverlapTable<13 >::View& rofOverlaps,
1643+ const ROFVertexLookupTable<13 >::View& vertexLUT,
1644+ const int vertexId,
1645+ const Vertex* vertices,
1646+ const int * rofPV,
1647+ const Cluster** clusters,
1648+ std::vector<unsigned int > nClusters,
1649+ const int ** ROFClusters,
1650+ const unsigned char ** usedClusters,
1651+ const int ** clustersIndexTables,
1652+ int ** trackletsLUTs,
1653+ gsl::span<int *> trackletsLUTsHost,
1654+ const bool selectUPCVertices,
1655+ const float NSigmaCut,
1656+ const TrackingTopology<13 >::View topology,
1657+ bounded_vector<float >& linkPhiCuts,
1658+ const float resolutionPV,
1659+ std::array<float , 13 >& minRs,
1660+ std::array<float , 13 >& maxRs,
1661+ bounded_vector<float >& resolutions,
1662+ std::vector<float >& radii,
1663+ bounded_vector<float >& linkMSAngles,
1664+ o2::its::ExternalAllocator* alloc,
1665+ gpu::Streams& streams);
1666+
1667+ template void computeTrackletsInROFsHandler<13 >(const IndexTableUtils<13 >* utils,
1668+ const ROFMaskTable<13 >::View& rofMask,
1669+ const int linkId,
1670+ const int fromLayer,
1671+ const int toLayer,
1672+ const ROFOverlapTable<13 >::View& rofOverlaps,
1673+ const ROFVertexLookupTable<13 >::View& vertexLUT,
1674+ const int vertexId,
1675+ const Vertex* vertices,
1676+ const int * rofPV,
1677+ const Cluster** clusters,
1678+ std::vector<unsigned int > nClusters,
1679+ const int ** ROFClusters,
1680+ const unsigned char ** usedClusters,
1681+ const int ** clustersIndexTables,
1682+ Tracklet** tracklets,
1683+ gsl::span<Tracklet*> spanTracklets,
1684+ gsl::span<int > nTracklets,
1685+ int ** trackletsLUTs,
1686+ gsl::span<int *> trackletsLUTsHost,
1687+ const bool selectUPCVertices,
1688+ const float NSigmaCut,
1689+ const TrackingTopology<13 >::View topology,
1690+ bounded_vector<float >& linkPhiCuts,
1691+ const float resolutionPV,
1692+ std::array<float , 13 >& minRs,
1693+ std::array<float , 13 >& maxRs,
1694+ bounded_vector<float >& resolutions,
1695+ std::vector<float >& radii,
1696+ bounded_vector<float >& linkMSAngles,
1697+ o2::its::ExternalAllocator* alloc,
1698+ gpu::Streams& streams);
1699+
1700+ template void countCellsHandler<13 >(const Cluster** sortedClusters,
1701+ const Cluster** unsortedClusters,
1702+ const TrackingFrameInfo** tfInfo,
1703+ Tracklet** tracklets,
1704+ int ** trackletsLUT,
1705+ const int nTracklets,
1706+ const int cellTopologyId,
1707+ const TrackingTopology<13 >::View topology,
1708+ CellSeed* cells,
1709+ int ** cellsLUTsArrayDevice,
1710+ int * cellsLUTsHost,
1711+ const float bz,
1712+ const float maxChi2ClusterAttachment,
1713+ const float cellDeltaTanLambdaSigma,
1714+ const float nSigmaCut,
1715+ const std::vector<float >& layerxX0Host,
1716+ o2::its::ExternalAllocator* alloc,
1717+ gpu::Streams& streams);
1718+
1719+ template void computeCellsHandler<13 >(const Cluster** sortedClusters,
1720+ const Cluster** unsortedClusters,
1721+ const TrackingFrameInfo** tfInfo,
1722+ Tracklet** tracklets,
1723+ int ** trackletsLUT,
1724+ const int nTracklets,
1725+ const int cellTopologyId,
1726+ const TrackingTopology<13 >::View topology,
1727+ CellSeed* cells,
1728+ int ** cellsLUTsArrayDevice,
1729+ int * cellsLUTsHost,
1730+ const float bz,
1731+ const float maxChi2ClusterAttachment,
1732+ const float cellDeltaTanLambdaSigma,
1733+ const float nSigmaCut,
1734+ const std::vector<float >& layerxX0Host,
1735+ gpu::Streams& streams);
1736+
1737+ template void countCellNeighboursHandler<13 >(CellSeed** cellsLayersDevice,
1738+ int * neighboursCursor,
1739+ int ** cellsLUTs,
1740+ const int sourceCellTopologyId,
1741+ const int targetCellTopologyId,
1742+ const float maxChi2ClusterAttachment,
1743+ const float bz,
1744+ const unsigned int nCells,
1745+ gpu::Stream& stream);
1746+
1747+ template void computeCellNeighboursHandler<13 >(CellSeed** cellsLayersDevice,
1748+ int * neighboursCursor,
1749+ int ** cellsLUTs,
1750+ CellNeighbour* cellNeighbours,
1751+ const int sourceCellTopologyId,
1752+ const int targetCellTopologyId,
1753+ const float maxChi2ClusterAttachment,
1754+ const float bz,
1755+ const unsigned int nCells,
1756+ gpu::Stream& stream);
1757+
1758+ template void processNeighboursHandler<13 >(const int startLevel,
1759+ const int defaultCellTopologyId,
1760+ CellSeed** allCellSeeds,
1761+ CellSeed* currentCellSeeds,
1762+ const int * currentCellTopologyIds,
1763+ const int * currentCellIds,
1764+ const int * nCells,
1765+ const unsigned char ** usedClusters,
1766+ CellNeighbour** neighbours,
1767+ int ** neighboursDeviceLUTs,
1768+ const TrackingFrameInfo** foundTrackingFrameInfo,
1769+ bounded_vector<TrackSeed<13 >>& seedsHost,
1770+ const float bz,
1771+ const float maxChi2ClusterAttachment,
1772+ const float maxChi2NDF,
1773+ const int maxHoles,
1774+ const int minSeedingClusters,
1775+ const LayerMask holeLayerMask,
1776+ const LayerMask nonSeedingLayerMask,
1777+ const std::vector<float >& layerxX0Host,
1778+ const o2::base::Propagator* propagator,
1779+ const o2::base::PropagatorF::MatCorrType matCorrType,
1780+ o2::its::ExternalAllocator* alloc);
1781+
1782+ template void countTrackSeedHandler (TrackSeed<13 >* trackSeeds,
1783+ const TrackingFrameInfo** foundTrackingFrameInfo,
1784+ const Cluster** unsortedClusters,
1785+ int * seedLUT,
1786+ const std::vector<float >& layerRadiiHost,
1787+ const std::vector<float >& minPtsHost,
1788+ const std::vector<float >& layerxX0Host,
1789+ const unsigned int nSeeds,
1790+ const float bz,
1791+ const float maxChi2ClusterAttachment,
1792+ const float maxChi2NDF,
1793+ const int reseedIfShorter,
1794+ const bool repeatRefitOut,
1795+ const bool shiftRefToCluster,
1796+ const o2::base::Propagator* propagator,
1797+ const o2::base::PropagatorF::MatCorrType matCorrType,
1798+ o2::its::ExternalAllocator* alloc);
1799+
1800+ template void computeTrackSeedHandler (TrackSeed<13 >* trackSeeds,
1801+ const TrackingFrameInfo** foundTrackingFrameInfo,
1802+ const Cluster** unsortedClusters,
1803+ const IndexTableUtils<13 >* utils,
1804+ const ROFMaskTable<13 >::View& rofMask,
1805+ const ROFOverlapTable<13 >::View& rofOverlaps,
1806+ const Cluster** clusters,
1807+ const unsigned char ** usedClusters,
1808+ const int ** clustersIndexTables,
1809+ const int ** ROFClusters,
1810+ o2::its::TrackITSExt* tracks,
1811+ int * trackIndices,
1812+ const int * seedLUT,
1813+ TrackExtensionHypothesis<13 >* activeHypotheses,
1814+ TrackExtensionHypothesis<13 >* nextHypotheses,
1815+ const std::vector<float >& layerRadiiHost,
1816+ const std::vector<float >& minPtsHost,
1817+ const std::vector<float >& layerxX0Host,
1818+ const unsigned int nSeeds,
1819+ const unsigned int nTracks,
1820+ const float bz,
1821+ const float maxChi2ClusterAttachment,
1822+ const float maxChi2NDF,
1823+ const int reseedIfShorter,
1824+ const bool repeatRefitOut,
1825+ const bool shiftRefToCluster,
1826+ const int nLayers,
1827+ const int phiBins,
1828+ const int maxHypotheses,
1829+ const bool extendTop,
1830+ const bool extendBot,
1831+ const float nSigmaCutPhi,
1832+ const float nSigmaCutZ,
1833+ const o2::base::Propagator* propagator,
1834+ const o2::base::PropagatorF::MatCorrType matCorrType,
1835+ o2::its::ExternalAllocator* alloc);
16361836#endif
16371837} // namespace o2::its
0 commit comments