Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:17:54

0001 /*!
0002  * \file MvtxPixelDefs.h
0003  * \brief Defines pixel ids and keys
0004  * \author Tanner Mengel <tmengel@bnl.gov>
0005  * \version $Version: 2.0.1 $
0006  * \date $Date: 05/23/2025.
0007  */
0008 
0009 
0010 #ifndef MVTX_MVTXPIXELDEFS_H
0011 #define MVTX_MVTXPIXELDEFS_H
0012 
0013 #include <climits>
0014 #include <cstdint>
0015 #include <memory>
0016 
0017 #include <ffarawobjects/MvtxRawHit.h>
0018 
0019 namespace MvtxPixelDefs
0020 {
0021 
0022   typedef uint64_t pixelkey;  // (hitsetkey << 32) | hitkey
0023   static MvtxPixelDefs::pixelkey VOID_PIXEL __attribute__((unused)) = UINT64_MAX;
0024   static const unsigned int kBitShiftLadder __attribute__((unused)) = 32;
0025 
0026   MvtxPixelDefs::pixelkey gen_pixelkey(const uint32_t hitset_key, const uint32_t hitkey);
0027   uint32_t get_hitsetkey(const MvtxPixelDefs::pixelkey key);
0028   uint32_t get_hitkey(const MvtxPixelDefs::pixelkey key);
0029   MvtxPixelDefs::pixelkey gen_pixelkey_from_coors(const uint8_t layer, const uint8_t stave, const uint8_t chip, const uint16_t row, const uint16_t col);
0030   MvtxPixelDefs::pixelkey gen_pixelkey(MvtxRawHit *hit);
0031 
0032   unsigned int get_layer(const MvtxPixelDefs::pixelkey key);
0033   unsigned int get_stave(const MvtxPixelDefs::pixelkey key);
0034   unsigned int get_chip(const MvtxPixelDefs::pixelkey key);
0035   unsigned int get_row(const MvtxPixelDefs::pixelkey key);
0036   unsigned int get_col(const MvtxPixelDefs::pixelkey key);
0037 }  // namespace MvtxPixelDefs
0038 
0039 #endif  // MVTX_MVTXPIXELDEFS_H