#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 | invalidHitId = std::numeric_limits<caConstants::hindex_type>::max() |
static constexpr auto | maxCellsPerHit = caConstants::maxCellsPerHit |
Definition at line 20 of file GPUCACell.h.
Definition at line 28 of file GPUCACell.h.
Definition at line 30 of file GPUCACell.h.
Definition at line 29 of file GPUCACell.h.
Definition at line 31 of file GPUCACell.h.
Definition at line 34 of file GPUCACell.h.
Definition at line 38 of file GPUCACell.h.
Definition at line 33 of file GPUCACell.h.
Definition at line 27 of file GPUCACell.h.
Definition at line 26 of file GPUCACell.h.
using GPUCACell::PtrAsInt = unsigned long long |
Definition at line 22 of file GPUCACell.h.
Definition at line 39 of file GPUCACell.h.
using GPUCACell::TmpTuple = cms::cuda::VecArray<uint32_t, 6> |
Definition at line 36 of file GPUCACell.h.
|
strong |
Enumerator | |
---|---|
kUsed | |
kInTrack | |
kKilled |
Definition at line 42 of file GPUCACell.h.
|
default |
|
inline |
|
inline |
Definition at line 69 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 91 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 |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
GPUCACell::assert | ( | outerNeighbors().empty() | ) |
GPUCACell::assert | ( | tracks().empty() | ) |
|
inline |
Definition at line 141 of file GPUCACell.h.
References particleFlowDisplacedVertexCandidate_cfi::dcaCut, HLT_2022v12_cff::dcaCutInnerTriplet, HLT_2022v12_cff::dcaCutOuterTriplet, HLT_2022v12_cff::hardCurvCut, hh, PixelPluginsPhase0_cfi::isBarrel, caConstants::last_barrel_detIndex, caConstants::last_bpix1_detIndex, ptmin, diffTwoXMLs::r1, ri, ro, z1, zi, and zo.
|
inline |
Definition at line 131 of file GPUCACell.h.
|
inline |
|
inline |
|
static |
Definition at line 40 of file GPUCACell.h.
__device__ CellTracksVector& GPUCACell::cellTracks |
Definition at line 47 of file GPUCACell.h.
Referenced by __attribute__().
Definition at line 179 of file GPUCACell.h.
__device__ CellTracksVector Hits const& GPUCACell::hh |
Definition at line 47 of file GPUCACell.h.
Referenced by __attribute__(), and check_alignment().
__device__ CellTracksVector Hits const int hindex_type GPUCACell::innerHitId |
Definition at line 47 of file GPUCACell.h.
|
static |
Definition at line 25 of file GPUCACell.h.
__device__ CellTracksVector Hits const int GPUCACell::layerPairId |
Definition at line 47 of file GPUCACell.h.
|
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 51 of file GPUCACell.h.
float GPUCACell::pMin = ptmin * std::sqrt(distance_13_squared) |
Definition at line 181 of file GPUCACell.h.
__device__ float float float float float const float GPUCACell::ptmin |
Definition at line 177 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float GPUCACell::ri |
Definition at line 177 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float GPUCACell::ro |
Definition at line 177 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 184 of file GPUCACell.h.
GPUCACell::theFishboneId = invalidHitId |
Definition at line 56 of file GPUCACell.h.
GPUCACell::theInnerR = hh.rGlobal(innerHitId) |
Definition at line 60 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theInnerZ = hh.zGlobal(innerHitId) |
Definition at line 59 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theLayerPairId_ = layerPairId |
Definition at line 54 of file GPUCACell.h.
Referenced by print_cell().
GPUCACell::theOuterHitId = outerHitId |
Definition at line 53 of file GPUCACell.h.
Referenced by __attribute__(), outer_hit_id(), and print_cell().
GPUCACell::theOuterNeighbors = &cellNeighbors[0] |
Definition at line 63 of file GPUCACell.h.
Referenced by __attribute__().
GPUCACell::theStatus_ = 0 |
Definition at line 55 of file GPUCACell.h.
__device__ float float float float float const float const float GPUCACell::thetaCut |
Definition at line 177 of file GPUCACell.h.
GPUCACell::theTracks = &cellTracks[0] |
Definition at line 64 of file GPUCACell.h.
Referenced by __attribute__().
__device__ float GPUCACell::z1 |
Definition at line 177 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float GPUCACell::zi |
Definition at line 177 of file GPUCACell.h.
Referenced by check_alignment().
__device__ float float float float float GPUCACell::zo |
Definition at line 177 of file GPUCACell.h.
Referenced by check_alignment().