CMS 3D CMS Logo

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 = pixelTopology::AverageGeometry
 
using hindex_type = uint32_t
 
using PhiBinner = cms::cuda::HistoContainer< int16_t, 256, -1, 8 *sizeof(int16_t), hindex_type, pixelTopology::maxLayers >
 
using Status = SiPixelHitStatus
 

Public Member Functions

__device__ __attribute__ ((always_inline)) uint32_t nHits() const
 
__device__ __attribute__ ((always_inline)) uint32_t nMaxModules() 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 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
 
uint32_t m_nMaxModules
 
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

◆ AverageGeometry

Definition at line 26 of file TrackingRecHit2DSOAView.h.

◆ hindex_type

Definition at line 21 of file TrackingRecHit2DSOAView.h.

◆ PhiBinner

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

Definition at line 24 of file TrackingRecHit2DSOAView.h.

◆ Status

Definition at line 18 of file TrackingRecHit2DSOAView.h.

Member Function Documentation

◆ __attribute__() [1/35]

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

Definition at line 32 of file TrackingRecHit2DSOAView.h.

References m_nHits.

32 { return m_nHits; }

◆ __attribute__() [2/35]

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

Definition at line 33 of file TrackingRecHit2DSOAView.h.

References m_nMaxModules.

◆ __attribute__() [3/35]

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

Definition at line 35 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xl.

35 { return m_xl[i]; }

◆ __attribute__() [4/35]

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

Definition at line 36 of file TrackingRecHit2DSOAView.h.

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

36 { return __ldg(m_xl + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [5/35]

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

Definition at line 37 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yl.

37 { return m_yl[i]; }

◆ __attribute__() [6/35]

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

Definition at line 38 of file TrackingRecHit2DSOAView.h.

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

38 { return __ldg(m_yl + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [7/35]

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

Definition at line 40 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xerr.

◆ __attribute__() [8/35]

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

Definition at line 41 of file TrackingRecHit2DSOAView.h.

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

41 { return __ldg(m_xerr + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [9/35]

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

Definition at line 42 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yerr.

◆ __attribute__() [10/35]

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

Definition at line 43 of file TrackingRecHit2DSOAView.h.

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

43 { return __ldg(m_yerr + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [11/35]

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

Definition at line 45 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xg.

45 { return m_xg[i]; }

◆ __attribute__() [12/35]

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

Definition at line 46 of file TrackingRecHit2DSOAView.h.

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

46 { return __ldg(m_xg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [13/35]

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

Definition at line 47 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_yg.

47 { return m_yg[i]; }

◆ __attribute__() [14/35]

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

Definition at line 48 of file TrackingRecHit2DSOAView.h.

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

48 { return __ldg(m_yg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [15/35]

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

Definition at line 49 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_zg.

49 { return m_zg[i]; }

◆ __attribute__() [16/35]

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

Definition at line 50 of file TrackingRecHit2DSOAView.h.

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

50 { return __ldg(m_zg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [17/35]

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

Definition at line 51 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_rg.

51 { return m_rg[i]; }

◆ __attribute__() [18/35]

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

Definition at line 52 of file TrackingRecHit2DSOAView.h.

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

52 { return __ldg(m_rg + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [19/35]

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

Definition at line 54 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_iphi.

54 { return m_iphi[i]; }

◆ __attribute__() [20/35]

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

Definition at line 55 of file TrackingRecHit2DSOAView.h.

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

55 { return __ldg(m_iphi + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [21/35]

__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

◆ __attribute__() [22/35]

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

Definition at line 64 of file TrackingRecHit2DSOAView.h.

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

64 { return __ldg(m_chargeAndStatus + i) & 0xFFFFFF; }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [23/35]

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

Definition at line 66 of file TrackingRecHit2DSOAView.h.

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

66  {
67  uint8_t w = __ldg(m_chargeAndStatus + i) >> 24;
68  return *reinterpret_cast<Status*>(&w);
69  }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [24/35]

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

Definition at line 71 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_xsize.

71 { return m_xsize[i]; }

◆ __attribute__() [25/35]

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

Definition at line 72 of file TrackingRecHit2DSOAView.h.

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

72 { return __ldg(m_xsize + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [26/35]

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

Definition at line 73 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_ysize.

73 { return m_ysize[i]; }

◆ __attribute__() [27/35]

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

Definition at line 74 of file TrackingRecHit2DSOAView.h.

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

74 { return __ldg(m_ysize + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [28/35]

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

Definition at line 75 of file TrackingRecHit2DSOAView.h.

References mps_fire::i, and m_detInd.

75 { return m_detInd[i]; }

◆ __attribute__() [29/35]

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

Definition at line 76 of file TrackingRecHit2DSOAView.h.

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

76 { return __ldg(m_detInd + i); }
T __ldg(T const *x)
Definition: cudaCompat.h:113

◆ __attribute__() [30/35]

__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 78 of file TrackingRecHit2DSOAView.h.

References m_cpeParams.

78  { return *m_cpeParams; }
79 
80  __device__ __forceinline__ uint32_t hitsModuleStart(int i) const { return __ldg(m_hitsModuleStart + i); }
81 
82  __device__ __forceinline__ uint32_t* hitsLayerStart() { return m_hitsLayerStart; }
#define __forceinline__
Definition: cudaCompat.h:22
T __ldg(T const *x)
Definition: cudaCompat.h:113
pixelCPEforGPU::ParamsOnGPU const * m_cpeParams
#define __device__

◆ __attribute__() [31/35]

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

Definition at line 83 of file TrackingRecHit2DSOAView.h.

References m_hitsLayerStart.

◆ __attribute__() [32/35]

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

Definition at line 85 of file TrackingRecHit2DSOAView.h.

References m_phiBinner.

85 { return *m_phiBinner; }

◆ __attribute__() [33/35]

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

Definition at line 86 of file TrackingRecHit2DSOAView.h.

References m_phiBinner.

86 { return *m_phiBinner; }

◆ __attribute__() [34/35]

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

Definition at line 88 of file TrackingRecHit2DSOAView.h.

References m_averageGeometry.

88 { return *m_averageGeometry; }

◆ __attribute__() [35/35]

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

Definition at line 89 of file TrackingRecHit2DSOAView.h.

References m_averageGeometry.

89 { return *m_averageGeometry; }

◆ chargeMask()

static constexpr uint32_t TrackingRecHit2DSOAView::chargeMask ( )
inlinestaticprivate

Definition at line 101 of file TrackingRecHit2DSOAView.h.

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

Friends And Related Function Documentation

◆ TrackingRecHit2DHeterogeneous

template<typename >
friend class TrackingRecHit2DHeterogeneous
friend

Definition at line 29 of file TrackingRecHit2DSOAView.h.

◆ TrackingRecHit2DReduced

friend class TrackingRecHit2DReduced
friend

Definition at line 30 of file TrackingRecHit2DSOAView.h.

Member Data Documentation

◆ ich [1/2]

__device__ uint32_t TrackingRecHit2DSOAView::ich

Definition at line 57 of file TrackingRecHit2DSOAView.h.

◆ ich [2/2]

TrackingRecHit2DSOAView::ich = (w << 24)

Definition at line 60 of file TrackingRecHit2DSOAView.h.

◆ is

__device__ uint32_t Status TrackingRecHit2DSOAView::is
Initial value:

Definition at line 57 of file TrackingRecHit2DSOAView.h.

◆ m_averageGeometry

AverageGeometry* TrackingRecHit2DSOAView::m_averageGeometry
private

◆ m_chargeAndStatus [1/2]

TrackingRecHit2DSOAView::m_chargeAndStatus[i] = ich

◆ m_chargeAndStatus [2/2]

uint32_t* TrackingRecHit2DSOAView::m_chargeAndStatus
private

Definition at line 102 of file TrackingRecHit2DSOAView.h.

◆ m_cpeParams

pixelCPEforGPU::ParamsOnGPU const* TrackingRecHit2DSOAView::m_cpeParams
private

◆ m_detInd

uint16_t* TrackingRecHit2DSOAView::m_detInd
private

◆ m_hitsLayerStart

uint32_t* TrackingRecHit2DSOAView::m_hitsLayerStart
private

◆ m_hitsModuleStart

uint32_t const* TrackingRecHit2DSOAView::m_hitsModuleStart
private

◆ m_iphi

int16_t* TrackingRecHit2DSOAView::m_iphi
private

◆ m_nHits

uint32_t TrackingRecHit2DSOAView::m_nHits
private

◆ m_nMaxModules

uint32_t TrackingRecHit2DSOAView::m_nMaxModules
private

◆ m_phiBinner

PhiBinner* TrackingRecHit2DSOAView::m_phiBinner
private

◆ m_phiBinnerStorage

PhiBinner::index_type* TrackingRecHit2DSOAView::m_phiBinnerStorage
private

◆ m_rg

float * TrackingRecHit2DSOAView::m_rg
private

◆ m_xerr

float* TrackingRecHit2DSOAView::m_xerr
private

◆ m_xg

float* TrackingRecHit2DSOAView::m_xg
private

◆ m_xl

float* TrackingRecHit2DSOAView::m_xl
private

◆ m_xsize

int16_t* TrackingRecHit2DSOAView::m_xsize
private

◆ m_yerr

float * TrackingRecHit2DSOAView::m_yerr
private

◆ m_yg

float * TrackingRecHit2DSOAView::m_yg
private

◆ m_yl

float * TrackingRecHit2DSOAView::m_yl
private

◆ m_ysize

int16_t* TrackingRecHit2DSOAView::m_ysize
private

◆ m_zg

float * TrackingRecHit2DSOAView::m_zg
private

◆ w

uint32_t TrackingRecHit2DSOAView::w = *reinterpret_cast<uint8_t*>(&is)

Definition at line 59 of file TrackingRecHit2DSOAView.h.

Referenced by __attribute__().