Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CUDADataFormats_HGCal_HGCUncalibRecHitSoA_h
0002 #define CUDADataFormats_HGCal_HGCUncalibRecHitSoA_h
0003 
0004 #include <cstdint>
0005 
0006 class HGCUncalibRecHitSoA {
0007 public:
0008   float *amplitude_;     //uncalib rechit amplitude, i.e., the average number of MIPs
0009   float *pedestal_;      //reconstructed pedestal
0010   float *jitter_;        //reconstructed time jitter
0011   float *chi2_;          //chi2 of the pulse
0012   float *OOTamplitude_;  //out-of-time reconstructed amplitude
0013   float *OOTchi2_;       //out-of-time chi2
0014   std::uint32_t *
0015       flags_;  //uncalibrechit flags describing its status (DataFormats/HGCRecHit/interface/HGCUncalibRecHit.h); to be propagated to the rechits
0016   std::uint32_t *aux_;  //aux word; first 8 bits contain time (jitter) error
0017   std::uint32_t *id_;   //uncalibrechit detector id
0018 
0019   std::uint32_t nbytes_;  //number of bytes of the SoA
0020   std::uint32_t nhits_;   //number of hits stored in the SoA
0021   std::uint32_t pad_;     //pad of memory block (used for warp alignment, slighlty larger than 'nhits_')
0022 };
0023 
0024 namespace memory {
0025   namespace npointers {
0026     constexpr unsigned float_hgcuncalibrechits_soa = 6;   //number of float pointers in the uncalibrated rechits SoA
0027     constexpr unsigned uint32_hgcuncalibrechits_soa = 3;  //number of uint32_t pointers in the uncalibrated rechits SoA
0028     constexpr unsigned ntypes_hgcuncalibrechits_soa =
0029         2;  //number of different pointer types in the uncalibrated rechits SoA
0030   }  // namespace npointers
0031 }  // namespace memory
0032 
0033 #endif