File indexing completed on 2025-08-06 08:17:54
0001 #include "MvtxPixelDefs.h"
0002
0003 #include <trackbase/MvtxDefs.h>
0004 #include <trackbase/TrkrDefs.h>
0005
0006 #include <cstdint>
0007
0008
0009
0010 MvtxPixelDefs::pixelkey MvtxPixelDefs::gen_pixelkey(const uint32_t hitset_key, const uint32_t hitkey)
0011 {
0012 return ((uint64_t) hitset_key << MvtxPixelDefs::kBitShiftLadder) | ((uint64_t) hitkey & 0xFFFFFFFF);
0013 }
0014
0015 uint32_t MvtxPixelDefs::get_hitsetkey(const MvtxPixelDefs::pixelkey pkey)
0016 {
0017 return (uint32_t) (pkey >> MvtxPixelDefs::kBitShiftLadder);
0018 }
0019
0020 uint32_t MvtxPixelDefs::get_hitkey(const MvtxPixelDefs::pixelkey pkey)
0021 {
0022 return (uint32_t) pkey & 0xFFFFFFFF;
0023 }
0024
0025 MvtxPixelDefs::pixelkey MvtxPixelDefs::gen_pixelkey_from_coors(const uint8_t layer, const uint8_t stave, const uint8_t chip, const uint16_t row, const uint16_t col)
0026 {
0027 return MvtxPixelDefs::gen_pixelkey(MvtxDefs::genHitSetKey(layer, stave, chip, 0), MvtxDefs::genHitKey(col, row));
0028 }
0029
0030 MvtxPixelDefs::pixelkey MvtxPixelDefs::gen_pixelkey(MvtxRawHit *hit)
0031 {
0032 if (!hit)
0033 {
0034 return MvtxPixelDefs::VOID_PIXEL;
0035 }
0036 const TrkrDefs::hitkey this_hitkey = MvtxDefs::genHitKey(hit->get_col(), hit->get_row());
0037 const TrkrDefs::hitsetkey this_hitsetkey = MvtxDefs::genHitSetKey(hit->get_layer_id(), hit->get_stave_id(), hit->get_chip_id(), 0);
0038 MvtxPixelDefs::pixelkey this_pixelkey = MvtxPixelDefs::gen_pixelkey(this_hitsetkey, this_hitkey);
0039 return this_pixelkey;
0040 }
0041
0042 unsigned int MvtxPixelDefs::get_layer(const MvtxPixelDefs::pixelkey pkey)
0043 {
0044 uint32_t hitsetkey = get_hitsetkey(pkey);
0045 return TrkrDefs::getLayer(hitsetkey);
0046 }
0047
0048 unsigned int MvtxPixelDefs::get_stave(const MvtxPixelDefs::pixelkey pkey)
0049 {
0050 uint32_t hitsetkey = get_hitsetkey(pkey);
0051 return MvtxDefs::getStaveId(hitsetkey);
0052 }
0053
0054 unsigned int MvtxPixelDefs::get_chip(const MvtxPixelDefs::pixelkey pkey)
0055 {
0056 uint32_t hitsetkey = get_hitsetkey(pkey);
0057 return MvtxDefs::getChipId(hitsetkey);
0058 }
0059
0060 unsigned int MvtxPixelDefs::get_row(const MvtxPixelDefs::pixelkey pkey)
0061 {
0062 uint32_t hitkey = get_hitkey(pkey);
0063 return MvtxDefs::getRow(hitkey);
0064 }
0065
0066 unsigned int MvtxPixelDefs::get_col(const MvtxPixelDefs::pixelkey pkey)
0067 {
0068 uint32_t hitkey = get_hitkey(pkey);
0069 return MvtxDefs::getCol(hitkey);
0070 }