#include <GPUCACell.h>
Public Types | |
using | CellNeighbors = caConstants::CellNeighbors |
using | CellNeighborsVector = caConstants::CellNeighborsVector |
using | CellTracks = caConstants::CellTracks |
using | CellTracksVector = caConstants::CellTracksVector |
using | hindex_type = Hits::hindex_type |
using | HitContainer = pixelTrack::HitContainer |
using | Hits = TrackingRecHit2DSOAView |
using | OuterHitOfCell = caConstants::OuterHitOfCell |
using | PtrAsInt = unsigned long long |
using | Quality = pixelTrack::Quality |
using | TmpTuple = cms::cuda::VecArray< uint32_t, 6 > |
Public Member Functions | |
__device__ | __attribute__ ((always_inline)) auto inner_iphi(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) auto outer_iphi(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) CellNeighbors &outerNeighbors() |
__device__ | __attribute__ ((always_inline)) CellNeighbors const &outerNeighbors() const |
__device__ | __attribute__ ((always_inline)) CellTracks &tracks() |
__device__ | __attribute__ ((always_inline)) CellTracks const &tracks() const |
__device__ | __attribute__ ((always_inline)) float inner_detIndex(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_r(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_x(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_y(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_z(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_detIndex(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_r(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_x(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_y(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_z(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) int addOuterNeighbor(CellNeighbors |
__device__ | __attribute__ ((always_inline)) int addTrack(CellTracks |
__device__ | __attribute__ ((always_inline)) static bool areAlignedRZ(float r1 |
__device__ | __attribute__ ((always_inline)) void init(CellNeighborsVector &cellNeighbors |
assert (outerNeighbors().empty()) | |
assert (tracks().empty()) | |
__device__ bool | check_alignment (Hits const &hh, GPUCACell const &otherCell, const float ptmin, const float hardCurvCut, const float caThetaCutBarrel, const float caThetaCutForward, const float dcaCutInnerTriplet, const float dcaCutOuterTriplet) const |
GPUCACell ()=default | |
constexpr unsigned int | inner_hit_id () const |
constexpr unsigned int | outer_hit_id () const |
__device__ void | print_cell () const |
Static Public Attributes | |
static constexpr auto | bad = pixelTrack::Quality::bad |
static constexpr auto | maxCellsPerHit = caConstants::maxCellsPerHit |
Definition at line 20 of file GPUCACell.h.
Definition at line 26 of file GPUCACell.h.
Definition at line 28 of file GPUCACell.h.
Definition at line 27 of file GPUCACell.h.
Definition at line 29 of file GPUCACell.h.
Definition at line 32 of file GPUCACell.h.
Definition at line 36 of file GPUCACell.h.
Definition at line 31 of file GPUCACell.h.
Definition at line 25 of file GPUCACell.h.
using GPUCACell::PtrAsInt = unsigned long long |
Definition at line 22 of file GPUCACell.h.
Definition at line 37 of file GPUCACell.h.
using GPUCACell::TmpTuple = cms::cuda::VecArray<uint32_t, 6> |
Definition at line 34 of file GPUCACell.h.
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 66 of file GPUCACell.h.
References cms::cudacompat::__threadfence(), cms::cudacompat::atomicCAS(), cellNeighbors, relativeConstraints::empty, mps_fire::i, submitPVValidationJobs::t, theOuterNeighbors, and SiPixelPI::zero.
|
inline |
Definition at line 87 of file GPUCACell.h.
References cms::cudacompat::__threadfence(), cms::cudacompat::atomicCAS(), cellTracks, relativeConstraints::empty, cms::cuda::SimpleVector< T >::extend(), mps_fire::i, cms::cuda::SimpleVector< T >::reset(), submitPVValidationJobs::t, theTracks, tracks, and SiPixelPI::zero.
|
inline |
|
inline |
GPUCACell::assert | ( | outerNeighbors().empty() | ) |
|
inline |
Definition at line 137 of file GPUCACell.h.
References particleFlowDisplacedVertexCandidate_cfi::dcaCut, hh, PixelPluginsPhase0_cfi::isBarrel, caConstants::last_barrel_detIndex, caConstants::last_bpix1_detIndex, ptmin, diffTwoXMLs::r1, ri, ro, z1, zi, and zo.
|
inlineconstexpr |
Definition at line 126 of file GPUCACell.h.
|
inlineconstexpr |
|
inline |
Definition at line 129 of file GPUCACell.h.
References theDoubletId_, theLayerPairId_, and theOuterHitId.
|
staticconstexpr |
Definition at line 38 of file GPUCACell.h.
__device__ CellTracksVector& GPUCACell::cellTracks |
Definition at line 43 of file GPUCACell.h.
Referenced by __attribute__().
Definition at line 175 of file GPUCACell.h.
__device__ CellTracksVector Hits const int int GPUCACell::doubletId |
Definition at line 43 of file GPUCACell.h.
__device__ CellTracksVector Hits const& GPUCACell::hh |
Definition at line 43 of file GPUCACell.h.
Referenced by __attribute__(), and check_alignment().
__device__ CellTracksVector Hits const int int hindex_type GPUCACell::innerHitId |
Definition at line 43 of file GPUCACell.h.
__device__ CellTracksVector Hits const int GPUCACell::layerPairId |
Definition at line 43 of file GPUCACell.h.
|
staticconstexpr |
Definition at line 24 of file GPUCACell.h.
Referenced by gpuPixelDoublets::__attribute__().
__device__ CellTracksVector Hits const int int hindex_type hindex_type GPUCACell::outerHitId |
Definition at line 48 of file GPUCACell.h.
float GPUCACell::pMin = ptmin * std::sqrt(distance_13_squared) |
Definition at line 177 of file GPUCACell.h.
__device__ float float float float float const float GPUCACell::ptmin |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float GPUCACell::ri |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float GPUCACell::ro |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().
float GPUCACell::tan_12_13_half_mul_distance_13_squared = fabs(z1 * (ri - ro) + zi * (ro - r1) + zo * (r1 - ri)) |
Definition at line 180 of file GPUCACell.h.
GPUCACell::theDoubletId_ = doubletId |
Definition at line 51 of file GPUCACell.h.
Referenced by print_cell().
GPUCACell::theInnerR = hh.rGlobal(innerHitId) |
Definition at line 57 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theInnerZ = hh.zGlobal(innerHitId) |
Definition at line 56 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theLayerPairId_ = layerPairId |
Definition at line 52 of file GPUCACell.h.
Referenced by print_cell().
GPUCACell::theOuterHitId = outerHitId |
Definition at line 50 of file GPUCACell.h.
Referenced by __attribute__(), outer_hit_id(), and print_cell().
GPUCACell::theOuterNeighbors = &cellNeighbors[0] |
Definition at line 60 of file GPUCACell.h.
Referenced by __attribute__().
__device__ float float float float float const float const float GPUCACell::thetaCut |
Definition at line 173 of file GPUCACell.h.
GPUCACell::theTracks = &cellTracks[0] |
Definition at line 61 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theUsed_ = 0 |
Definition at line 53 of file GPUCACell.h.
__device__ float GPUCACell::z1 |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float GPUCACell::zi |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float float GPUCACell::zo |
Definition at line 173 of file GPUCACell.h.
Referenced by check_alignment().