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 = 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)) AverageGeometry &averageGeometry()
 
__device__ __attribute__ ((always_inline)) AverageGeometry const &averageGeometry() const
 
__device__ __attribute__ ((always_inline)) float &rGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float &xerrLocal(int i)
 
__device__ __attribute__ ((always_inline)) float &xGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float &xLocal(int i)
 
__device__ __attribute__ ((always_inline)) float &yerrLocal(int i)
 
__device__ __attribute__ ((always_inline)) float &yGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float &yLocal(int i)
 
__device__ __attribute__ ((always_inline)) float &zGlobal(int i)
 
__device__ __attribute__ ((always_inline)) float rGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float xerrLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float xGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float xLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float yerrLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float yGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) float yLocal(int i) const
 
__device__ __attribute__ ((always_inline)) float zGlobal(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t &clusterSizeX(int i)
 
__device__ __attribute__ ((always_inline)) int16_t &clusterSizeY(int i)
 
__device__ __attribute__ ((always_inline)) int16_t &iphi(int i)
 
__device__ __attribute__ ((always_inline)) int16_t clusterSizeX(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t clusterSizeY(int i) const
 
__device__ __attribute__ ((always_inline)) int16_t iphi(int i) const
 
__device__ __attribute__ ((always_inline)) PhiBinner &phiBinner()
 
__device__ __attribute__ ((always_inline)) PhiBinner const &phiBinner() const
 
__device__ __attribute__ ((always_inline)) pixelCPEforGPU
 
__device__ __attribute__ ((always_inline)) Status status(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)) uint32_t charge(int i) const
 
__device__ __attribute__ ((always_inline)) uint32_t const *hitsLayerStart() const
 
__device__ __attribute__ ((always_inline)) uint32_t nHits() const
 
__device__ __attribute__ ((always_inline)) void setChargeAndStatus(int i
 

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

◆ AverageGeometry

Definition at line 25 of file TrackingRecHit2DSOAView.h.

◆ hindex_type

Definition at line 21 of file TrackingRecHit2DSOAView.h.

◆ PhiBinner

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.

◆ Status

Definition at line 18 of file TrackingRecHit2DSOAView.h.

Member Function Documentation

◆ __attribute__() [1/34]

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

Definition at line 86 of file TrackingRecHit2DSOAView.h.

86 { return *m_averageGeometry; }

References m_averageGeometry.

◆ __attribute__() [2/34]

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

Definition at line 87 of file TrackingRecHit2DSOAView.h.

87 { return *m_averageGeometry; }

References m_averageGeometry.

◆ __attribute__() [3/34]

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

Definition at line 49 of file TrackingRecHit2DSOAView.h.

49 { return m_rg[i]; }

References mps_fire::i, and m_rg.

◆ __attribute__() [4/34]

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

Definition at line 38 of file TrackingRecHit2DSOAView.h.

38 { return m_xerr[i]; }

References mps_fire::i, and m_xerr.

◆ __attribute__() [5/34]

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

Definition at line 43 of file TrackingRecHit2DSOAView.h.

43 { return m_xg[i]; }

References mps_fire::i, and m_xg.

◆ __attribute__() [6/34]

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

Definition at line 33 of file TrackingRecHit2DSOAView.h.

33 { return m_xl[i]; }

References mps_fire::i, and m_xl.

◆ __attribute__() [7/34]

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

Definition at line 40 of file TrackingRecHit2DSOAView.h.

40 { return m_yerr[i]; }

References mps_fire::i, and m_yerr.

◆ __attribute__() [8/34]

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

Definition at line 45 of file TrackingRecHit2DSOAView.h.

45 { return m_yg[i]; }

References mps_fire::i, and m_yg.

◆ __attribute__() [9/34]

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

Definition at line 35 of file TrackingRecHit2DSOAView.h.

35 { return m_yl[i]; }

References mps_fire::i, and m_yl.

◆ __attribute__() [10/34]

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

Definition at line 47 of file TrackingRecHit2DSOAView.h.

47 { return m_zg[i]; }

References mps_fire::i, and m_zg.

◆ __attribute__() [11/34]

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

Definition at line 50 of file TrackingRecHit2DSOAView.h.

50 { return __ldg(m_rg + i); }

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

◆ __attribute__() [12/34]

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

Definition at line 39 of file TrackingRecHit2DSOAView.h.

39 { return __ldg(m_xerr + i); }

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

◆ __attribute__() [13/34]

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

Definition at line 44 of file TrackingRecHit2DSOAView.h.

44 { return __ldg(m_xg + i); }

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

◆ __attribute__() [14/34]

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

Definition at line 34 of file TrackingRecHit2DSOAView.h.

34 { return __ldg(m_xl + i); }

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

◆ __attribute__() [15/34]

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

Definition at line 41 of file TrackingRecHit2DSOAView.h.

41 { return __ldg(m_yerr + i); }

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

◆ __attribute__() [16/34]

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

Definition at line 46 of file TrackingRecHit2DSOAView.h.

46 { return __ldg(m_yg + i); }

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

◆ __attribute__() [17/34]

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

Definition at line 36 of file TrackingRecHit2DSOAView.h.

36 { return __ldg(m_yl + i); }

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

◆ __attribute__() [18/34]

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

Definition at line 48 of file TrackingRecHit2DSOAView.h.

48 { return __ldg(m_zg + i); }

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

◆ __attribute__() [19/34]

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

Definition at line 69 of file TrackingRecHit2DSOAView.h.

69 { return m_xsize[i]; }

References mps_fire::i, and m_xsize.

◆ __attribute__() [20/34]

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

Definition at line 71 of file TrackingRecHit2DSOAView.h.

71 { return m_ysize[i]; }

References mps_fire::i, and m_ysize.

◆ __attribute__() [21/34]

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

Definition at line 52 of file TrackingRecHit2DSOAView.h.

52 { return m_iphi[i]; }

References mps_fire::i, and m_iphi.

◆ __attribute__() [22/34]

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

Definition at line 70 of file TrackingRecHit2DSOAView.h.

70 { return __ldg(m_xsize + i); }

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

◆ __attribute__() [23/34]

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

Definition at line 72 of file TrackingRecHit2DSOAView.h.

72 { return __ldg(m_ysize + i); }

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

◆ __attribute__() [24/34]

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

Definition at line 53 of file TrackingRecHit2DSOAView.h.

53 { return __ldg(m_iphi + i); }

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

◆ __attribute__() [25/34]

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

Definition at line 83 of file TrackingRecHit2DSOAView.h.

83 { return *m_phiBinner; }

References m_phiBinner.

◆ __attribute__() [26/34]

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

Definition at line 84 of file TrackingRecHit2DSOAView.h.

84 { return *m_phiBinner; }

References m_phiBinner.

◆ __attribute__() [27/34]

__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

Definition at line 76 of file TrackingRecHit2DSOAView.h.

76  { return *m_cpeParams; }
77 
78  __device__ __forceinline__ uint32_t hitsModuleStart(int i) const { return __ldg(m_hitsModuleStart + i); }
79 
80  __device__ __forceinline__ uint32_t* hitsLayerStart() { return m_hitsLayerStart; }

References m_cpeParams.

◆ __attribute__() [28/34]

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

Definition at line 64 of file TrackingRecHit2DSOAView.h.

64  {
65  uint8_t w = __ldg(m_chargeAndStatus + i) >> 24;
66  return *reinterpret_cast<Status*>(&w);
67  }

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

◆ __attribute__() [29/34]

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

Definition at line 73 of file TrackingRecHit2DSOAView.h.

73 { return m_detInd[i]; }

References mps_fire::i, and m_detInd.

◆ __attribute__() [30/34]

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

Definition at line 74 of file TrackingRecHit2DSOAView.h.

74 { return __ldg(m_detInd + i); }

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

◆ __attribute__() [31/34]

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

Definition at line 62 of file TrackingRecHit2DSOAView.h.

62 { return __ldg(m_chargeAndStatus + i) & 0xFFFFFF; }

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

◆ __attribute__() [32/34]

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

Definition at line 81 of file TrackingRecHit2DSOAView.h.

81 { return m_hitsLayerStart; }

References m_hitsLayerStart.

◆ __attribute__() [33/34]

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

Definition at line 31 of file TrackingRecHit2DSOAView.h.

31 { return m_nHits; }

References m_nHits.

◆ __attribute__() [34/34]

__device__ TrackingRecHit2DSOAView::__attribute__ ( (always_inline)  )
inline

◆ chargeMask()

static constexpr uint32_t TrackingRecHit2DSOAView::chargeMask ( )
inlinestaticconstexprprivate

Definition at line 99 of file TrackingRecHit2DSOAView.h.

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

Friends And Related Function Documentation

◆ TrackingRecHit2DHeterogeneous

template<typename >
friend class TrackingRecHit2DHeterogeneous
friend

Definition at line 28 of file TrackingRecHit2DSOAView.h.

◆ TrackingRecHit2DReduced

friend class TrackingRecHit2DReduced
friend

Definition at line 29 of file TrackingRecHit2DSOAView.h.

Member Data Documentation

◆ ich [1/2]

__device__ uint32_t TrackingRecHit2DSOAView::ich

Definition at line 55 of file TrackingRecHit2DSOAView.h.

◆ ich [2/2]

TrackingRecHit2DSOAView::ich = (w << 24)

Definition at line 58 of file TrackingRecHit2DSOAView.h.

◆ is

__device__ uint32_t Status TrackingRecHit2DSOAView::is
Initial value:

Definition at line 55 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 100 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_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 57 of file TrackingRecHit2DSOAView.h.

Referenced by __attribute__().

TrackingRecHit2DSOAView::m_iphi
int16_t * m_iphi
Definition: TrackingRecHit2DSOAView.h:96
TrackingRecHit2DSOAView::m_yg
float * m_yg
Definition: TrackingRecHit2DSOAView.h:95
TrackingRecHit2DSOAView::m_hitsLayerStart
uint32_t * m_hitsLayerStart
Definition: TrackingRecHit2DSOAView.h:111
TrackingRecHit2DSOAView::m_xerr
float * m_xerr
Definition: TrackingRecHit2DSOAView.h:92
mps_fire.i
i
Definition: mps_fire.py:428
min
T min(T a, T b)
Definition: MathUtil.h:58
TrackingRecHit2DSOAView::ich
__device__ uint32_t ich
Definition: TrackingRecHit2DSOAView.h:55
TrackingRecHit2DSOAView::m_xl
float * m_xl
Definition: TrackingRecHit2DSOAView.h:91
TrackingRecHit2DSOAView::m_nHits
uint32_t m_nHits
Definition: TrackingRecHit2DSOAView.h:116
TrackingRecHit2DSOAView::m_ysize
int16_t * m_ysize
Definition: TrackingRecHit2DSOAView.h:102
TrackingRecHit2DSOAView::m_averageGeometry
AverageGeometry * m_averageGeometry
Definition: TrackingRecHit2DSOAView.h:107
TrackingRecHit2DSOAView::w
uint32_t w
Definition: TrackingRecHit2DSOAView.h:57
TrackingRecHit2DSOAView::m_cpeParams
pixelCPEforGPU::ParamsOnGPU const * m_cpeParams
Definition: TrackingRecHit2DSOAView.h:108
TrackingRecHit2DSOAView::m_yerr
float * m_yerr
Definition: TrackingRecHit2DSOAView.h:92
__device__
#define __device__
Definition: SiPixelGainForHLTonGPU.h:15
__forceinline__
#define __forceinline__
Definition: cudaCompat.h:22
TrackingRecHit2DSOAView::m_phiBinner
PhiBinner * m_phiBinner
Definition: TrackingRecHit2DSOAView.h:113
TrackingRecHit2DSOAView::m_chargeAndStatus
m_chargeAndStatus[i]
Definition: TrackingRecHit2DSOAView.h:59
TrackingRecHit2DSOAView::m_yl
float * m_yl
Definition: TrackingRecHit2DSOAView.h:91
TrackingRecHit2DSOAView::chargeMask
static constexpr uint32_t chargeMask()
Definition: TrackingRecHit2DSOAView.h:99
TrackingRecHit2DSOAView::m_xg
float * m_xg
Definition: TrackingRecHit2DSOAView.h:95
TrackingRecHit2DSOAView::m_xsize
int16_t * m_xsize
Definition: TrackingRecHit2DSOAView.h:101
cms::cudacompat::__ldg
T __ldg(T const *x)
Definition: cudaCompat.h:113
TrackingRecHit2DSOAView::m_detInd
uint16_t * m_detInd
Definition: TrackingRecHit2DSOAView.h:103
TrackingRecHit2DSOAView::m_hitsModuleStart
uint32_t const * m_hitsModuleStart
Definition: TrackingRecHit2DSOAView.h:109
TrackingRecHit2DSOAView::m_rg
float * m_rg
Definition: TrackingRecHit2DSOAView.h:95
TrackingRecHit2DSOAView::m_zg
float * m_zg
Definition: TrackingRecHit2DSOAView.h:95