ATLAS Offline Software
TrigInDetAccelEDM.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGACCELEVENT_TRIGINDETACCELEDM_H
6 #define TRIGACCELEVENT_TRIGINDETACCELEDM_H
7 
8 #include<cstdint>
9 
10 namespace TrigAccel {
11 
12  //A. GPU-accelerated track seeding
13 
14  static constexpr unsigned int MAX_SILICON_LAYERS = 216;
15  static constexpr unsigned int MAX_NUMBER_PIX_MODULES = 6300;
16  static constexpr unsigned int MAX_NUMBER_SCT_MODULES = 24600;
17  static constexpr unsigned int MAX_NUMBER_SPACEPOINTS = 300000;
18  static constexpr unsigned int MAX_PHI_SLICES = 100;
19  static constexpr unsigned int MAX_NUMBER_OUTPUT_SEEDS = 500000;
20 
21  typedef struct SiliconLayer {
22  public:
23  int m_subdet;//1 : Pixel, 2 : SCT
24  int m_type;//0: barrel, +/-n : endcap
25  float m_refCoord;
30 
32 
33  typedef struct DetectorModel {
34  public:
35  int m_nLayers;
37  SILICON_LAYER m_layers[MAX_SILICON_LAYERS];
38  int m_hashArray[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES];
39  float m_minRZ[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES];
40  float m_maxRZ[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES];
42 
43  typedef struct SpacePointLayerRange {
44  public:
45  int m_layerBegin[MAX_SILICON_LAYERS];
46  int m_layerEnd[MAX_SILICON_LAYERS];
48 
49  typedef struct SpacePointStorage {
50  public:
53  int m_nLayers;
54  int m_index[MAX_NUMBER_SPACEPOINTS];
55  int m_type[MAX_NUMBER_SPACEPOINTS];
56  float m_x[MAX_NUMBER_SPACEPOINTS];
57  float m_y[MAX_NUMBER_SPACEPOINTS];
58  float m_z[MAX_NUMBER_SPACEPOINTS];
59  float m_r[MAX_NUMBER_SPACEPOINTS];
60  float m_phi[MAX_NUMBER_SPACEPOINTS];
61  float m_covR[MAX_NUMBER_SPACEPOINTS];
62  float m_covZ[MAX_NUMBER_SPACEPOINTS];
65 
66  typedef struct SeedFinderSettings {
67  public:
69  float m_magFieldZ;
75  unsigned int m_maxTripletBufferLength;
80 
82 
83  typedef struct SeedMakingJob {
84  public:
88 
89  typedef struct OutputSeedStorage {
90  public:
91  int m_nSeeds;
93  int m_nI, m_nO;
95  int m_nErrors;
96  int m_innerIndex[MAX_NUMBER_OUTPUT_SEEDS];
97  int m_middleIndex[MAX_NUMBER_OUTPUT_SEEDS];
98  int m_outerIndex[MAX_NUMBER_OUTPUT_SEEDS];
99  float m_Q[MAX_NUMBER_OUTPUT_SEEDS];
101 
102 }
103 
104 #endif
TrigAccel::SiliconLayer::m_nElements
int m_nElements
Definition: TrigInDetAccelEDM.h:26
TrigAccel::SeedFinderSettings::m_maxSiliconLayer
unsigned int m_maxSiliconLayer
Definition: TrigInDetAccelEDM.h:68
TrigAccel::SpacePointLayerRange::m_layerEnd
int m_layerEnd[MAX_SILICON_LAYERS]
Definition: TrigInDetAccelEDM.h:46
TrigAccel::SEED_MAKING_JOB
struct TrigAccel::SeedMakingJob SEED_MAKING_JOB
TrigAccel::SeedFinderSettings::m_maxEta
float m_maxEta
Definition: TrigInDetAccelEDM.h:78
TrigAccel::OutputSeedStorage::m_middleIndex
int m_middleIndex[MAX_NUMBER_OUTPUT_SEEDS]
Definition: TrigInDetAccelEDM.h:97
TrigAccel::SeedMakingJob
Definition: TrigInDetAccelEDM.h:83
TrigAccel::SpacePointStorage::m_phiSlices
SPACEPOINT_LAYER_RANGE m_phiSlices[MAX_PHI_SLICES]
Definition: TrigInDetAccelEDM.h:63
TrigAccel::SeedFinderSettings::m_phiMinus
float m_phiMinus
Definition: TrigInDetAccelEDM.h:79
TrigAccel::SpacePointStorage
Definition: TrigInDetAccelEDM.h:49
TrigAccel::SpacePointLayerRange::m_layerBegin
int m_layerBegin[MAX_SILICON_LAYERS]
Definition: TrigInDetAccelEDM.h:45
TrigAccel::SpacePointStorage::m_y
float m_y[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:57
TrigAccel::OutputSeedStorage
Definition: TrigInDetAccelEDM.h:89
TrigAccel::OutputSeedStorage::m_innerIndex
int m_innerIndex[MAX_NUMBER_OUTPUT_SEEDS]
Definition: TrigInDetAccelEDM.h:96
TrigAccel::SpacePointStorage::m_phi
float m_phi[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:60
TrigAccel::SeedFinderSettings::m_maxTripletBufferLength
unsigned int m_maxTripletBufferLength
Definition: TrigInDetAccelEDM.h:75
TrigAccel::DetectorModel::m_nLayers
int m_nLayers
Definition: TrigInDetAccelEDM.h:35
TrigAccel::OutputSeedStorage::m_nSeeds
int m_nSeeds
Definition: TrigInDetAccelEDM.h:91
TrigAccel::SEED_FINDER_SETTINGS
struct TrigAccel::SeedFinderSettings SEED_FINDER_SETTINGS
TrigAccel::SpacePointStorage::m_covR
float m_covR[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:61
TrigAccel::SeedFinderSettings::m_magFieldZ
float m_magFieldZ
Definition: TrigInDetAccelEDM.h:69
TrigAccel::SiliconLayer
Definition: TrigInDetAccelEDM.h:21
TrigAccel::OutputSeedStorage::m_Q
float m_Q[MAX_NUMBER_OUTPUT_SEEDS]
Definition: TrigInDetAccelEDM.h:99
TrigAccel::SpacePointStorage::m_x
float m_x[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:56
TrigAccel::SiliconLayer::m_subdet
int m_subdet
Definition: TrigInDetAccelEDM.h:23
TrigAccel::SiliconLayer::m_type
int m_type
Definition: TrigInDetAccelEDM.h:24
TrigAccel::SILICON_LAYER
struct TrigAccel::SiliconLayer SILICON_LAYER
TrigAccel::SeedFinderSettings::m_maxEndcapPix
unsigned int m_maxEndcapPix
Definition: TrigInDetAccelEDM.h:68
TrigAccel::OutputSeedStorage::m_outerIndex
int m_outerIndex[MAX_NUMBER_OUTPUT_SEEDS]
Definition: TrigInDetAccelEDM.h:98
TrigAccel::SpacePointStorage::m_index
int m_index[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:54
TrigAccel::SpacePointStorage::m_nLayers
int m_nLayers
Definition: TrigInDetAccelEDM.h:53
TrigAccel::DetectorModel::m_maxRZ
float m_maxRZ[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES]
Definition: TrigInDetAccelEDM.h:40
TrigAccel::SiliconLayer::m_rzBinWidth
float m_rzBinWidth
Definition: TrigInDetAccelEDM.h:28
TrigAccel::OutputSeedStorage::m_nMiddleSps
int m_nMiddleSps
Definition: TrigInDetAccelEDM.h:92
TrigAccel::SeedFinderSettings::m_isFullScan
int m_isFullScan
Definition: TrigInDetAccelEDM.h:76
TrigAccel::SeedFinderSettings::m_minEndcapPix
unsigned int m_minEndcapPix
Definition: TrigInDetAccelEDM.h:68
TrigAccel::SiliconLayer::m_minBound
float m_minBound
Definition: TrigInDetAccelEDM.h:27
TrigAccel::DetectorModel::m_layers
SILICON_LAYER m_layers[MAX_SILICON_LAYERS]
Definition: TrigInDetAccelEDM.h:37
TrigAccel::SpacePointStorage::m_nSpacepoints
int m_nSpacepoints
Definition: TrigInDetAccelEDM.h:51
TrigAccel::SeedFinderSettings::m_tripletDoPSS
int m_tripletDoPSS
Definition: TrigInDetAccelEDM.h:73
TrigAccel::SeedFinderSettings
Definition: TrigInDetAccelEDM.h:66
TrigAccel::DetectorModel::m_nModules
int m_nModules
Definition: TrigInDetAccelEDM.h:36
TrigAccel::SpacePointStorage::m_r
float m_r[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:59
TrigAccel::SpacePointStorage::m_nPhiSlices
int m_nPhiSlices
Definition: TrigInDetAccelEDM.h:52
TrigAccel::SiliconLayer::m_phiBinWidth
float m_phiBinWidth
Definition: TrigInDetAccelEDM.h:28
TrigAccel::SeedFinderSettings::m_tripletPtMin
float m_tripletPtMin
Definition: TrigInDetAccelEDM.h:72
TrigAccel::DetectorModel::m_minRZ
float m_minRZ[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES]
Definition: TrigInDetAccelEDM.h:39
TrigAccel::SeedMakingJob::m_data
SPACEPOINT_STORAGE m_data
Definition: TrigInDetAccelEDM.h:86
TrigAccel::DetectorModel::m_hashArray
int m_hashArray[MAX_NUMBER_PIX_MODULES+MAX_NUMBER_SCT_MODULES]
Definition: TrigInDetAccelEDM.h:38
TrigAccel::SiliconLayer::m_maxBound
float m_maxBound
Definition: TrigInDetAccelEDM.h:27
TrigAccel::SpacePointStorage::m_z
float m_z[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:58
TrigAccel::SeedFinderSettings::m_doubletFilterRZ
int m_doubletFilterRZ
Definition: TrigInDetAccelEDM.h:73
TrigAccel::SeedFinderSettings::m_tripletD0Max
float m_tripletD0Max
Definition: TrigInDetAccelEDM.h:70
TrigAccel::SiliconLayer::m_nPhiSlices
int m_nPhiSlices
Definition: TrigInDetAccelEDM.h:29
TrigAccel::SeedFinderSettings::m_tripletDoPPS
int m_tripletDoPPS
Definition: TrigInDetAccelEDM.h:73
TrigAccel::SeedMakingJob::m_settings
SEED_FINDER_SETTINGS m_settings
Definition: TrigInDetAccelEDM.h:85
TrigAccel::OutputSeedStorage::m_nErrors
int m_nErrors
Definition: TrigInDetAccelEDM.h:95
TrigAccel::DETECTOR_MODEL
struct TrigAccel::DetectorModel DETECTOR_MODEL
TrigAccel::SeedFinderSettings::m_tripletD0_PPS_Max
float m_tripletD0_PPS_Max
Definition: TrigInDetAccelEDM.h:71
TrigAccel::SeedFinderSettings::m_phiPlus
float m_phiPlus
Definition: TrigInDetAccelEDM.h:79
TrigAccel::OutputSeedStorage::m_nO
int m_nO
Definition: TrigInDetAccelEDM.h:93
TrigAccel::OutputSeedStorage::m_nCandidates
int m_nCandidates
Definition: TrigInDetAccelEDM.h:94
TrigAccel::SPACEPOINT_LAYER_RANGE
struct TrigAccel::SpacePointLayerRange SPACEPOINT_LAYER_RANGE
TrigAccel::SpacePointStorage::m_type
int m_type[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:55
TrigAccel::SeedFinderSettings::m_maxBarrelPix
unsigned int m_maxBarrelPix
Definition: TrigInDetAccelEDM.h:68
TrigAccel::SpacePointStorage::m_covZ
float m_covZ[MAX_NUMBER_SPACEPOINTS]
Definition: TrigInDetAccelEDM.h:62
TrigAccel::SPACEPOINT_STORAGE
struct TrigAccel::SpacePointStorage SPACEPOINT_STORAGE
TrigAccel::SeedFinderSettings::m_minDoubletLength
float m_minDoubletLength
Definition: TrigInDetAccelEDM.h:78
TrigAccel::SeedFinderSettings::m_zedPlus
float m_zedPlus
Definition: TrigInDetAccelEDM.h:77
TrigAccel
Definition: DataExportBuffer.h:12
TrigAccel::OUTPUT_SEED_STORAGE
struct TrigAccel::OutputSeedStorage OUTPUT_SEED_STORAGE
TrigAccel::OutputSeedStorage::m_nI
int m_nI
Definition: TrigInDetAccelEDM.h:93
TrigAccel::SiliconLayer::m_refCoord
float m_refCoord
Definition: TrigInDetAccelEDM.h:25
TrigAccel::DetectorModel
Definition: TrigInDetAccelEDM.h:33
TrigAccel::SeedFinderSettings::m_maxDoubletLength
float m_maxDoubletLength
Definition: TrigInDetAccelEDM.h:78
TrigAccel::SpacePointLayerRange
Definition: TrigInDetAccelEDM.h:43
TrigAccel::SeedFinderSettings::m_zedMinus
float m_zedMinus
Definition: TrigInDetAccelEDM.h:77
TrigAccel::SeedFinderSettings::m_nMaxPhiSlice
int m_nMaxPhiSlice
Definition: TrigInDetAccelEDM.h:74