CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes | Static Private Member Functions | Private Attributes | Friends
TrackingRecHit2DSOAView Class Reference

#include <TrackingRecHit2DSOAView.h>

Public Types

using AverageGeometry = phase1PixelTopology::AverageGeometry
 
using hindex_type = uint32_t
 
using PhiBinner = cms::cuda::HistoContainer< int16_t, 128,-1, 8 *sizeof(int16_t), hindex_type, 10 >
 
using Status = SiPixelHitStatus
 

Public Member Functions

__device__ __attribute__ ((always_inline)) uint32_t nHits() const
 
__device__ __attribute__ ((always_inline)) float &xLocal(int i)
 
__device__ __attribute__ ((always_inline)) float xLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float &yLocal(int i)
 
__device__ __attribute__ ((always_inline)) float yLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float &xerrLocal(int i)
 
__device__ __attribute__ ((always_inline)) float xerrLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float &yerrLocal(int i)
 
__device__ __attribute__ ((always_inline)) float yerrLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float &xGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float xGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float &yGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float yGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float &zGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float zGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float &rGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float rGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t &iphi(int i)
 
__device__ __attribute__ ((always_inline)) int16_t iphi(int i) const
 
__device__ __attribute__ ((always_inline)) void setChargeAndStatus(int i
 
__device__ __attribute__ ((always_inline)) uint32_t charge(int i) const
 
__device__ __attribute__ ((always_inline)) Status status(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t &clusterSizeX(int i)
 
__device__ __attribute__ ((always_inline)) int16_t clusterSizeX(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t &clusterSizeY(int i)
 
__device__ __attribute__ ((always_inline)) int16_t clusterSizeY(int i) const
 
__device__ __attribute__ ((always_inline)) uint16_t &detectorIndex(int i)
 
__device__ __attribute__ ((always_inline)) uint16_t detectorIndex(int i) const
 
__device__ __attribute__((always_inline))
pixelCPEforGPU __device__ 
__attribute__ ((always_inline)) uint32_t hitsModuleStart(int i) const
 
__device__ __attribute__ ((always_inline)) uint32_t *hitsLayerStart()
 
__device__ __attribute__ ((always_inline)) uint32_t const *hitsLayerStart() const
 
__device__ __attribute__ ((always_inline)) PhiBinner &phiBinner()
 
__device__ __attribute__ ((always_inline)) PhiBinner const &phiBinner() const
 
__device__ __attribute__ ((always_inline)) AverageGeometry &averageGeometry()
 
__device__ __attribute__ ((always_inline)) AverageGeometry const &averageGeometry() const
 

Public Attributes

__device__ uint32_t ich
 
 ich = (w << 24)
 
__device__ uint32_t Status is
 
 m_chargeAndStatus [i] = ich
 
uint32_t w = *reinterpret_cast<uint8_t*>(&is)
 

Static Private Member Functions

static constexpr uint32_t chargeMask ()
 

Private Attributes

AverageGeometrym_averageGeometry
 
uint32_t * m_chargeAndStatus
 
pixelCPEforGPU::ParamsOnGPU const * m_cpeParams
 
uint16_t * m_detInd
 
uint32_t * m_hitsLayerStart
 
uint32_t const * m_hitsModuleStart
 
int16_t * m_iphi
 
uint32_t m_nHits
 
PhiBinnerm_phiBinner
 
PhiBinner::index_typem_phiBinnerStorage
 
float * m_rg
 
float * m_xerr
 
float * m_xg
 
float * m_xl
 
int16_t * m_xsize
 
float * m_yerr
 
float * m_yg
 
float * m_yl
 
int16_t * m_ysize
 
float * m_zg
 

Friends

template<typename >
class TrackingRecHit2DHeterogeneous
 
class TrackingRecHit2DReduced
 

Detailed Description

Definition at line 16 of file TrackingRecHit2DSOAView.h.

Member Typedef Documentation

Definition at line 25 of file TrackingRecHit2DSOAView.h.

Definition at line 21 of file TrackingRecHit2DSOAView.h.

using TrackingRecHit2DSOAView::PhiBinner = cms::cuda::HistoContainer<int16_t, 128, -1, 8 * sizeof(int16_t), hindex_type, 10>

Definition at line 23 of file TrackingRecHit2DSOAView.h.

Definition at line 18 of file TrackingRecHit2DSOAView.h.

Member Function Documentation

__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 31 of file TrackingRecHit2DSOAView.h.

References m_nHits.

31 { return m_nHits; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 33 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xl.

33 { return m_xl[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 34 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_xl.

34 { return __ldg(m_xl + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 35 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yl.

35 { return m_yl[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 36 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_yl.

36 { return __ldg(m_yl + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 38 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xerr.

38 { return m_xerr[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 39 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_xerr.

39 { return __ldg(m_xerr + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 40 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yerr.

40 { return m_yerr[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 41 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_yerr.

41 { return __ldg(m_yerr + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 43 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xg.

43 { return m_xg[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 44 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_xg.

44 { return __ldg(m_xg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 45 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yg.

45 { return m_yg[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 46 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_yg.

46 { return __ldg(m_yg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 47 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_zg.

47 { return m_zg[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 48 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_zg.

48 { return __ldg(m_zg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 49 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_rg.

49 { return m_rg[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 50 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_rg.

50 { return __ldg(m_rg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 52 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_iphi.

52 { return m_iphi[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 53 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_iphi.

53 { return __ldg(m_iphi + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 62 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_chargeAndStatus.

62 { return __ldg(m_chargeAndStatus + i) & 0xFFFFFF; }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 64 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), m_chargeAndStatus, and w.

64  {
65  uint8_t w = __ldg(m_chargeAndStatus + i) >> 24;
66  return *reinterpret_cast<Status*>(&w);
67  }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 69 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xsize.

69 { return m_xsize[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 70 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_xsize.

70 { return __ldg(m_xsize + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 71 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_ysize.

71 { return m_ysize[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 72 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_ysize.

72 { return __ldg(m_ysize + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 73 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_detInd.

73 { return m_detInd[i]; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 74 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_detInd.

74 { return __ldg(m_detInd + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ __attribute__ ((always_inline)) pixelCPEforGPU __device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 78 of file TrackingRecHit2DSOAView.h.

References cms::cudacompat::__ldg(), and m_hitsModuleStart.

78 { return __ldg(m_hitsModuleStart + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 80 of file TrackingRecHit2DSOAView.h.

References m_hitsLayerStart.

80 { return m_hitsLayerStart; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 81 of file TrackingRecHit2DSOAView.h.

References m_hitsLayerStart.

81 { return m_hitsLayerStart; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 83 of file TrackingRecHit2DSOAView.h.

References m_phiBinner.

83 { return *m_phiBinner; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 84 of file TrackingRecHit2DSOAView.h.

References m_phiBinner.

84 { return *m_phiBinner; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 86 of file TrackingRecHit2DSOAView.h.

References m_averageGeometry.

86 { return *m_averageGeometry; }
__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  ) const
inline

Definition at line 87 of file TrackingRecHit2DSOAView.h.

References m_averageGeometry.

87 { return *m_averageGeometry; }
static constexpr uint32_t TrackingRecHit2DSOAView::chargeMask ( )
inlinestaticprivate

Definition at line 99 of file TrackingRecHit2DSOAView.h.

99 { return (1 << 24) - 1; }

Friends And Related Function Documentation

template<typename >
friend class TrackingRecHit2DHeterogeneous
friend

Definition at line 28 of file TrackingRecHit2DSOAView.h.

friend class TrackingRecHit2DReduced
friend

Definition at line 29 of file TrackingRecHit2DSOAView.h.

Member Data Documentation

__device__ uint32_t TrackingRecHit2DSOAView::ich

Definition at line 55 of file TrackingRecHit2DSOAView.h.

TrackingRecHit2DSOAView::ich = (w << 24)

Definition at line 58 of file TrackingRecHit2DSOAView.h.

__device__ uint32_t Status TrackingRecHit2DSOAView::is
Initial value:

Definition at line 55 of file TrackingRecHit2DSOAView.h.

AverageGeometry* TrackingRecHit2DSOAView::m_averageGeometry
private
TrackingRecHit2DSOAView::m_chargeAndStatus[i] = ich
uint32_t* TrackingRecHit2DSOAView::m_chargeAndStatus
private

Definition at line 100 of file TrackingRecHit2DSOAView.h.

pixelCPEforGPU::ParamsOnGPU const* TrackingRecHit2DSOAView::m_cpeParams
private
uint16_t* TrackingRecHit2DSOAView::m_detInd
private
uint32_t* TrackingRecHit2DSOAView::m_hitsLayerStart
private
uint32_t const* TrackingRecHit2DSOAView::m_hitsModuleStart
private
int16_t* TrackingRecHit2DSOAView::m_iphi
private
uint32_t TrackingRecHit2DSOAView::m_nHits
private
PhiBinner* TrackingRecHit2DSOAView::m_phiBinner
private
PhiBinner::index_type* TrackingRecHit2DSOAView::m_phiBinnerStorage
private
float * TrackingRecHit2DSOAView::m_rg
private
float* TrackingRecHit2DSOAView::m_xerr
private
float* TrackingRecHit2DSOAView::m_xg
private
float* TrackingRecHit2DSOAView::m_xl
private
int16_t* TrackingRecHit2DSOAView::m_xsize
private
float * TrackingRecHit2DSOAView::m_yerr
private
float * TrackingRecHit2DSOAView::m_yg
private
float * TrackingRecHit2DSOAView::m_yl
private
int16_t* TrackingRecHit2DSOAView::m_ysize
private
float * TrackingRecHit2DSOAView::m_zg
private
uint32_t TrackingRecHit2DSOAView::w = *reinterpret_cast<uint8_t*>(&is)

Definition at line 57 of file TrackingRecHit2DSOAView.h.

Referenced by __attribute__().