ATLAS Offline Software
SeedMakingDataStructures_ITk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGINDETCUDA_SEEDMAKINGDATASTRUCTURES_ITk_H
6 #define TRIGINDETCUDA_SEEDMAKINGDATASTRUCTURES_ITk_H
7 
8 #include "CommonStructures.h"
9 
10 static constexpr unsigned int MAX_MIDDLE_SP_ITk = 300000;
11 static constexpr unsigned int MAX_DOUBLET_ITk = 5000000;
12 static constexpr unsigned int NUM_MIDDLE_THREADS_ITk = 32;
13 static constexpr unsigned int OUTER_THREADS_MULTIPLIER_ITk = 4; // i.e thread block is 32 x 4*192/32
14 static constexpr unsigned int MAX_NUMBER_DOUBLETS_ITk = 1500;
15 static constexpr unsigned int NUM_TRIPLET_BLOCKS_ITk = 1024;
16 static constexpr unsigned int NUM_TRIPLET_THREADS_ITk = 1024;
17 static constexpr unsigned int NUM_DOUBLET_THREADS_ITk = 16;
18 static constexpr unsigned int MAX_TRIPLETS_ITk = 300;
19 static constexpr unsigned int TRIPLET_BUFFER_DEPTH_ITk = 3;
20 
21 typedef struct doubletInfoITk {
22 public:
23  int m_nInner[MAX_MIDDLE_SP_ITk];
24  int m_nOuter[MAX_MIDDLE_SP_ITk];
25  char m_good[MAX_MIDDLE_SP_ITk];
27 
28 typedef struct doubletStorageITk {
29 public:
30  int m_nItems;
31  int m_nI;
32  int m_nO;
33  int m_spmIdx[MAX_MIDDLE_SP_ITk];
34  int m_innerStart[MAX_MIDDLE_SP_ITk];
35  int m_outerStart[MAX_MIDDLE_SP_ITk];
36  int m_inner[MAX_DOUBLET_ITk];
37  int m_outer[MAX_DOUBLET_ITk];
39 
40 #endif
CommonStructures.h
doubletInfoITk::m_good
char m_good[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:25
doubletStorageITk
Definition: SeedMakingDataStructures_ITk.h:28
DOUBLET_STORAGE_ITk
struct doubletStorageITk DOUBLET_STORAGE_ITk
doubletStorageITk::m_outerStart
int m_outerStart[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:35
doubletInfoITk::m_nOuter
int m_nOuter[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:24
doubletStorageITk::m_outer
int m_outer[MAX_DOUBLET_ITk]
Definition: SeedMakingDataStructures_ITk.h:37
doubletInfoITk
Definition: SeedMakingDataStructures_ITk.h:21
doubletStorageITk::m_nI
int m_nI
Definition: SeedMakingDataStructures_ITk.h:31
doubletStorageITk::m_inner
int m_inner[MAX_DOUBLET_ITk]
Definition: SeedMakingDataStructures_ITk.h:36
doubletStorageITk::m_nItems
int m_nItems
Definition: SeedMakingDataStructures_ITk.h:30
doubletStorageITk::m_spmIdx
int m_spmIdx[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:33
DOUBLET_INFO_ITk
struct doubletInfoITk DOUBLET_INFO_ITk
doubletStorageITk::m_innerStart
int m_innerStart[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:34
doubletInfoITk::m_nInner
int m_nInner[MAX_MIDDLE_SP_ITk]
Definition: SeedMakingDataStructures_ITk.h:23
doubletStorageITk::m_nO
int m_nO
Definition: SeedMakingDataStructures_ITk.h:32