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