Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:50

0001 #ifndef CUDADataFormats_HGCal_HGCRecHitSoA_h
0002 #define CUDADataFormats_HGCal_HGCRecHitSoA_h
0003 
0004 #include <cstdint>
0005 
0006 class HGCRecHitSoA {
0007 public:
0008   float *energy_;       //calibrated energy of the rechit
0009   float *time_;         //time jitter of the UncalibRecHit
0010   float *timeError_;    //time resolution
0011   uint32_t *id_;        //rechit detId
0012   uint32_t *flagBits_;  //rechit flags describing its status (DataFormats/HGCRecHit/interface/HGCRecHit.h)
0013   uint8_t *son_;        //signal over noise
0014 
0015   uint32_t nbytes_;  //number of bytes of the SoA
0016   uint32_t nhits_;   //number of hits stored in the SoA
0017   uint32_t pad_;     //pad of memory block (used for warp alignment, slightly larger than 'nhits_')
0018 };
0019 
0020 namespace memory {
0021   namespace npointers {
0022     constexpr unsigned float_hgcrechits_soa = 3;   //number of float pointers in the rechits SoA
0023     constexpr unsigned uint32_hgcrechits_soa = 2;  //number of uint32_t pointers in the rechits SoA
0024     constexpr unsigned uint8_hgcrechits_soa = 1;   //number of uint8_t pointers in the rechits SoA
0025     constexpr unsigned ntypes_hgcrechits_soa = 3;  //number of different pointer types in the rechits SoA
0026   }  // namespace npointers
0027 }  // namespace memory
0028 
0029 #endif  //CUDADataFormats_HGCal_HGCRecHitSoA_h