File indexing completed on 2025-12-16 09:20:34
0001
0002
0003
0004
0005
0006
0007 #include "TpcDefs.h"
0008
0009 #include "TrkrDefs.h" // for hitsetkey, cluskey, hitkey, kBitShif...
0010
0011 namespace
0012 {
0013
0014
0015
0016
0017
0018
0019
0020 static constexpr unsigned int kBitShiftSectorId = 8;
0021 static constexpr unsigned int kBitShiftSide = 0;
0022
0023
0024
0025
0026 static constexpr unsigned int kBitShiftPad = 16;
0027 static constexpr unsigned int kBitShiftTBin = 0;
0028 }
0029
0030 uint8_t
0031 TpcDefs::getSectorId(TrkrDefs::hitsetkey key)
0032 {
0033 TrkrDefs::hitsetkey tmp = (key >> kBitShiftSectorId);
0034 return tmp;
0035 }
0036
0037 uint8_t
0038 TpcDefs::getSectorId(TrkrDefs::cluskey key)
0039 {
0040 const TrkrDefs::hitsetkey tmp = TrkrDefs::getHitSetKeyFromClusKey(key);
0041 return getSectorId(tmp);
0042 }
0043
0044 uint8_t
0045 TpcDefs::getSide(TrkrDefs::hitsetkey key)
0046 {
0047 TrkrDefs::hitsetkey tmp = (key >> kBitShiftSide);
0048 return tmp;
0049 }
0050
0051 uint8_t
0052 TpcDefs::getSide(TrkrDefs::cluskey key)
0053 {
0054 const TrkrDefs::hitsetkey tmp = TrkrDefs::getHitSetKeyFromClusKey(key);
0055 return getSide(tmp);
0056 }
0057
0058 uint16_t
0059 TpcDefs::getPad(TrkrDefs::hitkey key)
0060 {
0061 TrkrDefs::hitkey tmp = (key >> kBitShiftPad);
0062 return tmp;
0063 }
0064
0065 uint16_t
0066 TpcDefs::getTBin(TrkrDefs::hitkey key)
0067 {
0068 TrkrDefs::hitkey tmp = (key >> kBitShiftTBin);
0069 return tmp;
0070 }
0071
0072 TrkrDefs::hitkey
0073 TpcDefs::genHitKey(const uint16_t pad, const uint16_t tbin)
0074 {
0075 TrkrDefs::hitkey key = (pad << kBitShiftPad);
0076 TrkrDefs::hitkey tmp = (tbin << kBitShiftTBin);
0077 key |= tmp;
0078 return key;
0079 }
0080
0081 TrkrDefs::hitsetkey
0082 TpcDefs::genHitSetKey(const uint8_t lyr, const uint8_t sector, const uint8_t side)
0083 {
0084 TrkrDefs::hitsetkey key = TrkrDefs::genHitSetKey(TrkrDefs::TrkrId::tpcId, lyr);
0085 TrkrDefs::hitsetkey tmp = sector;
0086 key |= (tmp << kBitShiftSectorId);
0087 tmp = side;
0088 key |= (tmp << kBitShiftSide);
0089 return key;
0090 }
0091
0092 TrkrDefs::cluskey
0093 TpcDefs::genClusKey(const uint8_t lyr, const uint8_t sector, const uint8_t side, const uint32_t clusid)
0094 {
0095 const auto key = genHitSetKey(lyr, sector, side);
0096 return TrkrDefs::genClusKey(key, clusid);
0097 }