#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 | OuterHitOfCellContainer = caConstants::OuterHitOfCellContainer |
using | PtrAsInt = unsigned long long |
using | Quality = pixelTrack::Quality |
enum | StatusBit : uint16_t { StatusBit::kUsed = 1, StatusBit::kInTrack = 2, StatusBit::kKilled = 1 << 15 } |
using | TmpTuple = cms::cuda::VecArray< uint32_t, 6 > |
Public Member Functions | |
__device__ | __attribute__ ((always_inline)) void init(CellNeighborsVector &cellNeighbors |
__device__ | __attribute__ ((always_inline)) int addOuterNeighbor(CellNeighbors |
__device__ | __attribute__ ((always_inline)) int addTrack(CellTracks |
__device__ | __attribute__ ((always_inline)) CellTracks &tracks() |
__device__ | __attribute__ ((always_inline)) CellTracks const &tracks() const |
__device__ | __attribute__ ((always_inline)) CellNeighbors &outerNeighbors() |
__device__ | __attribute__ ((always_inline)) CellNeighbors const &outerNeighbors() const |
__device__ | __attribute__ ((always_inline)) float inner_x(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_x(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_y(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_y(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_z(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_z(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float inner_r(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_r(Hits const &hh) const |
__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)) float inner_detIndex(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) float outer_detIndex(Hits const &hh) const |
__device__ | __attribute__ ((always_inline)) static bool areAlignedRZ(float r1 |
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 27 of file GPUCACell.h.
Definition at line 29 of file GPUCACell.h.
Definition at line 28 of file GPUCACell.h.
Definition at line 30 of file GPUCACell.h.
Definition at line 33 of file GPUCACell.h.
Definition at line 37 of file GPUCACell.h.
Definition at line 32 of file GPUCACell.h.
Definition at line 26 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 38 of file GPUCACell.h.
using GPUCACell::TmpTuple = cms::cuda::VecArray<uint32_t, 6> |
Definition at line 35 of file GPUCACell.h.
|
strong |
Enumerator | |
---|---|
kUsed | |
kInTrack | |
kKilled |
Definition at line 41 of file GPUCACell.h.
|
default |
|
inline |
|
inline |
Definition at line 68 of file GPUCACell.h.
References cms::cudacompat::__threadfence(), cms::cudacompat::atomicCAS(), relativeConstraints::empty, cms::cuda::SimpleVector< T >::extend(), mps_fire::i, cms::cuda::SimpleVector< T >::reset(), theOuterNeighbors, and SiPixelPI::zero.
|
inline |
Definition at line 90 of file GPUCACell.h.
References cms::cudacompat::__threadfence(), cms::cudacompat::atomicCAS(), relativeConstraints::empty, cms::cuda::SimpleVector< T >::extend(), mps_fire::i, cms::cuda::SimpleVector< T >::reset(), theTracks, tracks, and SiPixelPI::zero.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 113 of file GPUCACell.h.
|
inline |
|
inline |
Definition at line 115 of file GPUCACell.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 124 of file GPUCACell.h.
|
inline |
|
inline |
Definition at line 127 of file GPUCACell.h.
|
inline |
|
inline |
GPUCACell::assert | ( | outerNeighbors().empty() | ) |
GPUCACell::assert | ( | tracks().empty() | ) |
|
inline |
Definition at line 140 of file GPUCACell.h.
References PixelPluginsPhase0_cfi::isBarrel, caConstants::last_barrel_detIndex, caConstants::last_bpix1_detIndex, diffTwoXMLs::r1, ri, ro, z1, zi, and zo.
|
inline |
Definition at line 130 of file GPUCACell.h.
|
inline |
|
inline |
Definition at line 133 of file GPUCACell.h.
References gpuVertexFinder::printf(), theLayerPairId_, and theOuterHitId.
|
static |
Definition at line 39 of file GPUCACell.h.
__device__ CellTracksVector& GPUCACell::cellTracks |
Definition at line 46 of file GPUCACell.h.
Definition at line 178 of file GPUCACell.h.
__device__ CellTracksVector Hits const& GPUCACell::hh |
Definition at line 46 of file GPUCACell.h.
__device__ CellTracksVector Hits const int hindex_type GPUCACell::innerHitId |
Definition at line 46 of file GPUCACell.h.
__device__ CellTracksVector Hits const int GPUCACell::layerPairId |
Definition at line 46 of file GPUCACell.h.
Referenced by gpuPixelDoublets::__attribute__().
|
static |
Definition at line 24 of file GPUCACell.h.
Referenced by gpuPixelDoublets::__attribute__().
__device__ CellTracksVector Hits const int hindex_type hindex_type GPUCACell::outerHitId |
Definition at line 50 of file GPUCACell.h.
float GPUCACell::pMin = ptmin * std::sqrt(distance_13_squared) |
Definition at line 180 of file GPUCACell.h.
__device__ float float float float float const float GPUCACell::ptmin |
Definition at line 176 of file GPUCACell.h.
__device__ float float GPUCACell::ri |
Definition at line 176 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float GPUCACell::ro |
Definition at line 176 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 183 of file GPUCACell.h.
GPUCACell::theFishboneId = std::numeric_limits<hindex_type>::max() |
Definition at line 55 of file GPUCACell.h.
GPUCACell::theInnerR = hh.rGlobal(innerHitId) |
Definition at line 59 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theInnerZ = hh.zGlobal(innerHitId) |
Definition at line 58 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theLayerPairId_ = layerPairId |
Definition at line 53 of file GPUCACell.h.
Referenced by print_cell().
GPUCACell::theOuterHitId = outerHitId |
Definition at line 52 of file GPUCACell.h.
Referenced by __attribute__(), outer_hit_id(), and print_cell().
GPUCACell::theOuterNeighbors = &cellNeighbors[0] |
Definition at line 62 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theStatus_ = 0 |
Definition at line 54 of file GPUCACell.h.
__device__ float float float float float const float const float GPUCACell::thetaCut |
Definition at line 176 of file GPUCACell.h.
GPUCACell::theTracks = &cellTracks[0] |
Definition at line 63 of file GPUCACell.h.
Referenced by __attribute__().
__device__ float GPUCACell::z1 |
Definition at line 176 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float GPUCACell::zi |
Definition at line 176 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float float GPUCACell::zo |
Definition at line 176 of file GPUCACell.h.
Referenced by check_alignment().