@@ -1258,4 +1258,185 @@ template void computeTrackSeedHandler(TrackSeed<7>* trackSeeds,
12581258 const o2::base::PropagatorF::MatCorrType matCorrType,
12591259 o2::its::ExternalAllocator* alloc);
12601260
1261+ // / Explicit instantiation of ALICE3 handlers
1262+ #ifdef ENABLE_UPGRADES
1263+ template void countTrackletsInROFsHandler<11 >(const IndexTableUtils<11 >* utils,
1264+ const ROFMaskTable<11 >::View& rofMask,
1265+ const int layer,
1266+ const ROFOverlapTable<11 >::View& rofOverlaps,
1267+ const ROFVertexLookupTable<11 >::View& vertexLUT,
1268+ const int vertexId,
1269+ const Vertex* vertices,
1270+ const int * rofPV,
1271+ const Cluster** clusters,
1272+ std::vector<unsigned int > nClusters,
1273+ const int ** ROFClusters,
1274+ const unsigned char ** usedClusters,
1275+ const int ** clustersIndexTables,
1276+ int ** trackletsLUTs,
1277+ gsl::span<int *> trackletsLUTsHost,
1278+ const int iteration,
1279+ const float NSigmaCut,
1280+ bounded_vector<float >& phiCuts,
1281+ const float resolutionPV,
1282+ std::array<float , 11 >& minRs,
1283+ std::array<float , 11 >& maxRs,
1284+ bounded_vector<float >& resolutions,
1285+ std::vector<float >& radii,
1286+ bounded_vector<float >& mulScatAng,
1287+ o2::its::ExternalAllocator* alloc,
1288+ gpu::Streams& streams);
1289+
1290+ template void computeTrackletsInROFsHandler<11 >(const IndexTableUtils<11 >* utils,
1291+ const ROFMaskTable<11 >::View& rofMask,
1292+ const int layer,
1293+ const ROFOverlapTable<11 >::View& rofOverlaps,
1294+ const ROFVertexLookupTable<11 >::View& vertexLUT,
1295+ const int vertexId,
1296+ const Vertex* vertices,
1297+ const int * rofPV,
1298+ const Cluster** clusters,
1299+ std::vector<unsigned int > nClusters,
1300+ const int ** ROFClusters,
1301+ const unsigned char ** usedClusters,
1302+ const int ** clustersIndexTables,
1303+ Tracklet** tracklets,
1304+ gsl::span<Tracklet*> spanTracklets,
1305+ gsl::span<int > nTracklets,
1306+ int ** trackletsLUTs,
1307+ gsl::span<int *> trackletsLUTsHost,
1308+ const int iteration,
1309+ const float NSigmaCut,
1310+ bounded_vector<float >& phiCuts,
1311+ const float resolutionPV,
1312+ std::array<float , 11 >& minRs,
1313+ std::array<float , 11 >& maxRs,
1314+ bounded_vector<float >& resolutions,
1315+ std::vector<float >& radii,
1316+ bounded_vector<float >& mulScatAng,
1317+ o2::its::ExternalAllocator* alloc,
1318+ gpu::Streams& streams);
1319+
1320+ template void countCellsHandler<11 >(const Cluster** sortedClusters,
1321+ const Cluster** unsortedClusters,
1322+ const TrackingFrameInfo** tfInfo,
1323+ Tracklet** tracklets,
1324+ int ** trackletsLUT,
1325+ const int nTracklets,
1326+ const int layer,
1327+ CellSeed* cells,
1328+ int ** cellsLUTsArrayDevice,
1329+ int * cellsLUTsHost,
1330+ const float bz,
1331+ const float maxChi2ClusterAttachment,
1332+ const float cellDeltaTanLambdaSigma,
1333+ const float nSigmaCut,
1334+ const std::vector<float >& layerxX0Host,
1335+ o2::its::ExternalAllocator* alloc,
1336+ gpu::Streams& streams);
1337+
1338+ template void computeCellsHandler<11 >(const Cluster** sortedClusters,
1339+ const Cluster** unsortedClusters,
1340+ const TrackingFrameInfo** tfInfo,
1341+ Tracklet** tracklets,
1342+ int ** trackletsLUT,
1343+ const int nTracklets,
1344+ const int layer,
1345+ CellSeed* cells,
1346+ int ** cellsLUTsArrayDevice,
1347+ int * cellsLUTsHost,
1348+ const float bz,
1349+ const float maxChi2ClusterAttachment,
1350+ const float cellDeltaTanLambdaSigma,
1351+ const float nSigmaCut,
1352+ const std::vector<float >& layerxX0Host,
1353+ gpu::Streams& streams);
1354+
1355+ template void countCellNeighboursHandler<11 >(CellSeed** cellsLayersDevice,
1356+ int * neighboursLUT,
1357+ int ** cellsLUTs,
1358+ gpuPair<int , int >* cellNeighbours,
1359+ int * neighboursIndexTable,
1360+ const Tracklet** tracklets,
1361+ const float maxChi2ClusterAttachment,
1362+ const float bz,
1363+ const int layerIndex,
1364+ const unsigned int nCells,
1365+ const unsigned int nCellsNext,
1366+ const int maxCellNeighbours,
1367+ o2::its::ExternalAllocator* alloc,
1368+ gpu::Stream& stream);
1369+
1370+ template void computeCellNeighboursHandler<11 >(CellSeed** cellsLayersDevice,
1371+ int * neighboursLUT,
1372+ int ** cellsLUTs,
1373+ gpuPair<int , int >* cellNeighbours,
1374+ int * neighboursIndexTable,
1375+ const Tracklet** tracklets,
1376+ const float maxChi2ClusterAttachment,
1377+ const float bz,
1378+ const int layerIndex,
1379+ const unsigned int nCells,
1380+ const unsigned int nCellsNext,
1381+ const int maxCellNeighbours,
1382+ gpu::Stream& stream);
1383+
1384+ template void processNeighboursHandler<11 >(const int startLayer,
1385+ const int startLevel,
1386+ CellSeed** allCellSeeds,
1387+ CellSeed* currentCellSeeds,
1388+ std::array<int , 9 >& nCells,
1389+ const unsigned char ** usedClusters,
1390+ std::array<int *, 9 >& neighbours,
1391+ gsl::span<int *> neighboursDeviceLUTs,
1392+ const TrackingFrameInfo** foundTrackingFrameInfo,
1393+ bounded_vector<TrackSeed<11 >>& seedsHost,
1394+ const float bz,
1395+ const float maxChi2ClusterAttachment,
1396+ const float maxChi2NDF,
1397+ const std::vector<float >& layerxX0Host,
1398+ const o2::base::Propagator* propagator,
1399+ const o2::base::PropagatorF::MatCorrType matCorrType,
1400+ o2::its::ExternalAllocator* alloc);
1401+
1402+ template void countTrackSeedHandler (TrackSeed<11 >* trackSeeds,
1403+ const TrackingFrameInfo** foundTrackingFrameInfo,
1404+ const Cluster** unsortedClusters,
1405+ int * seedLUT,
1406+ const std::vector<float >& layerRadiiHost,
1407+ const std::vector<float >& minPtsHost,
1408+ const std::vector<float >& layerxX0Host,
1409+ const unsigned int nSeeds,
1410+ const float bz,
1411+ const int startLevel,
1412+ const float maxChi2ClusterAttachment,
1413+ const float maxChi2NDF,
1414+ const int reseedIfShorter,
1415+ const bool repeatRefitOut,
1416+ const bool shiftRefToCluster,
1417+ const o2::base::Propagator* propagator,
1418+ const o2::base::PropagatorF::MatCorrType matCorrType,
1419+ o2::its::ExternalAllocator* alloc);
1420+
1421+ template void computeTrackSeedHandler (TrackSeed<11 >* trackSeeds,
1422+ const TrackingFrameInfo** foundTrackingFrameInfo,
1423+ const Cluster** unsortedClusters,
1424+ o2::its::TrackITSExt* tracks,
1425+ const int * seedLUT,
1426+ const std::vector<float >& layerRadiiHost,
1427+ const std::vector<float >& minPtsHost,
1428+ const std::vector<float >& layerxX0Host,
1429+ const unsigned int nSeeds,
1430+ const unsigned int nTracks,
1431+ const float bz,
1432+ const int startLevel,
1433+ const float maxChi2ClusterAttachment,
1434+ const float maxChi2NDF,
1435+ const int reseedIfShorter,
1436+ const bool repeatRefitOut,
1437+ const bool shiftRefToCluster,
1438+ const o2::base::Propagator* propagator,
1439+ const o2::base::PropagatorF::MatCorrType matCorrType,
1440+ o2::its::ExternalAllocator* alloc);
1441+ #endif
12611442} // namespace o2::its
0 commit comments