ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InttDefs.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file InttDefs.h
1 
7 #ifndef INTT_INTTDEFS_H
8 #define INTT_INTTDEFS_H
9 
10 #include <trackbase/TrkrDefs.h>
11 
12 #include <cstdint> // for uint8_t, uint16_t, uint32_t
13 
20 namespace InttDefs
21 {
22 // hitsetkey layout:
23 // Intt specific lower 16 bits
24 // 24 - 32 tracker id
25 // 16 - 24 layer
26 // 8 - 16 ladder z id
27 // 0 - 8 ladder phi id
28 static const unsigned int kBitShiftLadderZId __attribute__((unused)) = 8;
29 static const unsigned int kBitShiftLadderPhiId __attribute__((unused)) = 0;
30 // bit shift for hitkey
31 static const unsigned int kBitShiftCol __attribute__((unused)) = 16;
32 static const unsigned int kBitShiftRow __attribute__((unused)) = 0;
33 
40 
46 uint8_t getLadderZId(TrkrDefs::cluskey key);
47 
54 
61 
73 uint16_t getCol(TrkrDefs::hitkey key);
74 
80 uint16_t getRow(TrkrDefs::hitkey key);
81 
82  TrkrDefs::hitkey genHitKey(const uint16_t col, const uint16_t row);
83 
94 TrkrDefs::hitsetkey genHitSetKey(const uint8_t lyr, const uint8_t ladder_z_index, const uint8_t ladder_phi_index);
95 
104 TrkrDefs::cluskey genClusKey(const uint8_t lyr, const uint8_t LadderZId, const uint8_t LadderPhiId, const uint32_t clusid);
105 
112 TrkrDefs::cluskey genClusKey(const TrkrDefs::hitsetkey hskey, const uint32_t clusid);
113 
114 } // namespace InttDefs
115 
116 #endif //INTT_INTTDEFS_H