CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes
ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits > Class Template Reference

#include <CACell.h>

Public Types

using CellNeighbors = caStructures::CellNeighborsT< TrackerTraits >
 
using CellNeighborsVector = caStructures::CellNeighborsVectorT< TrackerTraits >
 
using CellTracks = caStructures::CellTracksT< TrackerTraits >
 
using CellTracksVector = caStructures::CellTracksVectorT< TrackerTraits >
 
using hindex_type = typename TrackerTraits::hindex_type
 
using HitContainer = typename reco::TrackSoA< TrackerTraits >::HitContainer
 
using HitsConstView = TrackingRecHitSoAConstView< TrackerTraits >
 
using OuterHitOfCell = caStructures::OuterHitOfCellT< TrackerTraits >
 
using OuterHitOfCellContainer = caStructures::OuterHitOfCellContainerT< TrackerTraits >
 
using PtrAsInt = unsigned long long
 
using Quality = ::pixelTrack::Quality
 
enum  StatusBit : uint16_t { StatusBit::kUsed = 1, StatusBit::kInTrack = 2, StatusBit::kKilled = 1 << 15 }
 
using tindex_type = typename TrackerTraits::tindex_type
 
using TmpTuple = cms::alpakatools::VecArray< uint32_t, TrackerTraits::maxDepth >
 

Public Member Functions

template<typename TAcc >
ALPAKA_FN_ACC ALPAKA_FN_INLINE __attribute__ ((always_inline)) int addOuterNeighbor(const TAcc &acc
 
template<typename TAcc >
ALPAKA_FN_ACC ALPAKA_FN_INLINE __attribute__ ((always_inline)) int addTrack(TAcc const &acc
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE __attribute__ ((always_inline)) static bool areAlignedRZ(float r1
 
 CACellT ()=default
 
ALPAKA_FN_ACC bool check_alignment (const HitsConstView &hh, CACellT const &otherCell, const float ptmin, const float hardCurvCut, const float caThetaCutBarrel, const float caThetaCutForward, const float dcaCutInnerTriplet, const float dcaCutOuterTriplet) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void init (CellNeighborsVector &cellNeighbors, CellTracksVector &cellTracks, const HitsConstView &hh, int layerPairId, hindex_type innerHitId, hindex_type outerHitId)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_detIndex (const HitsConstView &hh) const
 
constexpr unsigned int inner_hit_id () const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE auto inner_iphi (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_r (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_x (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_y (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_z (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_detIndex (const HitsConstView &hh) const
 
constexpr unsigned int outer_hit_id () const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE auto outer_iphi (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_r (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_x (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_y (const HitsConstView &hh) const
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_z (const HitsConstView &hh) const
 
return outerNeighbors ().push_back(acc
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellNeighborsouterNeighbors ()
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellNeighbors const & outerNeighbors () const
 
ALPAKA_FN_ACC void print_cell () const
 
return tracks ().push_back(acc
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellTrackstracks ()
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellTracks const & tracks () const
 

Public Attributes

ALPAKA_FN_ACC ALPAKA_FN_INLINE TrackerTraits::cindex_type CellNeighborsVectorcellNeighbors
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE tindex_type CellTracksVectorcellTracks
 
float distance_13_squared = radius_diff * radius_diff + (z1 - zo) * (z1 - zo)
 
float pMin = ptmin * std::sqrt(distance_13_squared)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float const float ptmin
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float ri
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float ro
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE TrackerTraits::cindex_type t
 
return t
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE tindex_type t
 
float tan_12_13_half_mul_distance_13_squared = fabs(z1 * (ri - ro) + zi * (ro - r1) + zo * (r1 - ri))
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float const float const float thetaCut
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float z1
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float zi
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float zo
 

Static Public Attributes

static constexpr auto bad = ::pixelTrack::Quality::bad
 
static constexpr auto invalidHitId = std::numeric_limits<hindex_type>::max()
 
static constexpr auto maxCellsPerHit = TrackerTraits::maxCellsPerHit
 

Detailed Description

template<typename TrackerTraits>
class ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >

Definition at line 24 of file CACell.h.

Member Typedef Documentation

◆ CellNeighbors

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::CellNeighbors = caStructures::CellNeighborsT<TrackerTraits>

Definition at line 31 of file CACell.h.

◆ CellNeighborsVector

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::CellNeighborsVector = caStructures::CellNeighborsVectorT<TrackerTraits>

Definition at line 33 of file CACell.h.

◆ CellTracks

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::CellTracks = caStructures::CellTracksT<TrackerTraits>

Definition at line 32 of file CACell.h.

◆ CellTracksVector

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::CellTracksVector = caStructures::CellTracksVectorT<TrackerTraits>

Definition at line 34 of file CACell.h.

◆ hindex_type

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::hindex_type = typename TrackerTraits::hindex_type

Definition at line 37 of file CACell.h.

◆ HitContainer

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::HitContainer = typename reco::TrackSoA<TrackerTraits>::HitContainer

Definition at line 43 of file CACell.h.

◆ HitsConstView

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::HitsConstView = TrackingRecHitSoAConstView<TrackerTraits>

Definition at line 36 of file CACell.h.

◆ OuterHitOfCell

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::OuterHitOfCell = caStructures::OuterHitOfCellT<TrackerTraits>

Definition at line 30 of file CACell.h.

◆ OuterHitOfCellContainer

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::OuterHitOfCellContainer = caStructures::OuterHitOfCellContainerT<TrackerTraits>

Definition at line 29 of file CACell.h.

◆ PtrAsInt

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::PtrAsInt = unsigned long long

Definition at line 26 of file CACell.h.

◆ Quality

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::Quality = ::pixelTrack::Quality

Definition at line 44 of file CACell.h.

◆ tindex_type

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tindex_type = typename TrackerTraits::tindex_type

Definition at line 38 of file CACell.h.

◆ TmpTuple

template<typename TrackerTraits>
using ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::TmpTuple = cms::alpakatools::VecArray<uint32_t, TrackerTraits::maxDepth>

Definition at line 41 of file CACell.h.

Member Enumeration Documentation

◆ StatusBit

template<typename TrackerTraits>
enum ALPAKA_ACCELERATOR_NAMESPACE::CACellT::StatusBit : uint16_t
strong
Enumerator
kUsed 
kInTrack 
kKilled 

Definition at line 47 of file CACell.h.

47 : uint16_t { kUsed = 1, kInTrack = 2, kKilled = 1 << 15 };

Constructor & Destructor Documentation

◆ CACellT()

template<typename TrackerTraits>
ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::CACellT ( )
default

Member Function Documentation

◆ __attribute__() [1/3]

template<typename TrackerTraits>
template<typename TAcc >
ALPAKA_FN_ACC ALPAKA_FN_INLINE ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::__attribute__ ( (always_inline)  ) const &

◆ __attribute__() [2/3]

template<typename TrackerTraits>
template<typename TAcc >
ALPAKA_FN_ACC ALPAKA_FN_INLINE ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::__attribute__ ( (always_inline)  ) const &

◆ __attribute__() [3/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::__attribute__ ( (always_inline)  )

◆ check_alignment()

template<typename TrackerTraits>
ALPAKA_FN_ACC bool ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment ( const HitsConstView hh,
CACellT< TrackerTraits > const &  otherCell,
const float  ptmin,
const float  hardCurvCut,
const float  caThetaCutBarrel,
const float  caThetaCutForward,
const float  dcaCutInnerTriplet,
const float  dcaCutOuterTriplet 
) const
inline

Definition at line 160 of file CACell.h.

References particleFlowDisplacedVertexCandidate_cfi::dcaCut, HLT_2023v12_cff::dcaCutInnerTriplet, HLT_2023v12_cff::dcaCutOuterTriplet, HLT_2023v12_cff::hardCurvCut, ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_detIndex(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_r(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_z(), PixelPluginsPhase0_cfi::isBarrel, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_detIndex(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_r(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_z(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ptmin, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ri, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ro, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::z1, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::zi, and ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::zo.

167  {
168  // detIndex of the layerStart for the Phase1 Pixel Detector:
169  // [BPX1, BPX2, BPX3, BPX4, FP1, FP2, FP3, FN1, FN2, FN3, LAST_VALID]
170  // [ 0, 96, 320, 672, 1184, 1296, 1408, 1520, 1632, 1744, 1856]
171  auto ri = inner_r(hh);
172  auto zi = inner_z(hh);
173 
174  auto ro = outer_r(hh);
175  auto zo = outer_z(hh);
176 
177  auto r1 = otherCell.inner_r(hh);
178  auto z1 = otherCell.inner_z(hh);
179  auto isBarrel = otherCell.outer_detIndex(hh) < TrackerTraits::last_barrel_detIndex;
180  // TODO tune CA cuts below (theta and dca)
181  bool aligned = areAlignedRZ(r1, z1, ri, zi, ro, zo, ptmin, isBarrel ? caThetaCutBarrel : caThetaCutForward);
182  return (aligned && dcaCut(hh,
183  otherCell,
184  otherCell.inner_detIndex(hh) < TrackerTraits::last_bpix1_detIndex ? dcaCutInnerTriplet
186  hardCurvCut));
187  }
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float ri
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float zi
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float ro
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_z(const HitsConstView &hh) const
Definition: CACell.h:135
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_r(const HitsConstView &hh) const
Definition: CACell.h:138
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float zo
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh
ALPAKA_FN_ACC ALPAKA_FN_INLINE float z1
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float const float ptmin
Definition: CACell.h:190
ALPAKA_FN_ACC ALPAKA_FN_INLINE float inner_r(const HitsConstView &hh) const
Definition: CACell.h:137
ALPAKA_FN_ACC ALPAKA_FN_INLINE float outer_z(const HitsConstView &hh) const
Definition: CACell.h:136

◆ init()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE void ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::init ( CellNeighborsVector cellNeighbors,
CellTracksVector cellTracks,
const HitsConstView hh,
int  layerPairId,
hindex_type  innerHitId,
hindex_type  outerHitId 
)
inline

Definition at line 51 of file CACell.h.

References cms::cuda::assert(), ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::cellNeighbors, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::cellTracks, relativeConstraints::empty, ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::invalidHitId, ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outerNeighbors(), and ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tracks().

56  {
57  theInnerHitId = innerHitId;
58  theOuterHitId = outerHitId;
59  theLayerPairId_ = layerPairId;
60  theStatus_ = 0;
61  theFishboneId = invalidHitId;
62 
63  // optimization that depends on access pattern
64  theInnerZ = hh[innerHitId].zGlobal();
65  theInnerR = hh[innerHitId].rGlobal();
66 
67  // link to default empty
68  theOuterNeighbors = &cellNeighbors[0];
69  theTracks = &cellTracks[0];
71  assert(tracks().empty());
72  }
ALPAKA_FN_ACC ALPAKA_FN_INLINE TrackerTraits::cindex_type CellNeighborsVector & cellNeighbors
Definition: CACell.h:76
return outerNeighbors().push_back(acc
static constexpr auto invalidHitId
Definition: CACell.h:39
assert(be >=bs)
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh
ALPAKA_FN_ACC ALPAKA_FN_INLINE tindex_type CellTracksVector & cellTracks
Definition: CACell.h:103

◆ inner_detIndex()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_detIndex ( const HitsConstView hh) const
inline

Definition at line 143 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

143  {
144  return hh[theInnerHitId].detectorIndex();
145  }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ inner_hit_id()

template<typename TrackerTraits>
constexpr unsigned int ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_hit_id ( ) const
inline

Definition at line 150 of file CACell.h.

150 { return theInnerHitId; }

◆ inner_iphi()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE auto ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_iphi ( const HitsConstView hh) const
inline

Definition at line 140 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

140 { return hh[theInnerHitId].iphi(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ inner_r()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_r ( const HitsConstView hh) const
inline

Definition at line 137 of file CACell.h.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

137 { return theInnerR; }

◆ inner_x()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_x ( const HitsConstView hh) const
inline

Definition at line 131 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

131 { return hh[theInnerHitId].xGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ inner_y()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_y ( const HitsConstView hh) const
inline

Definition at line 133 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

133 { return hh[theInnerHitId].yGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ inner_z()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::inner_z ( const HitsConstView hh) const
inline

Definition at line 135 of file CACell.h.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

135 { return theInnerZ; }

◆ outer_detIndex()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_detIndex ( const HitsConstView hh) const
inline

Definition at line 146 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

146  {
147  return hh[theOuterHitId].detectorIndex();
148  }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outer_hit_id()

template<typename TrackerTraits>
constexpr unsigned int ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_hit_id ( ) const
inline

Definition at line 151 of file CACell.h.

151 { return theOuterHitId; }

◆ outer_iphi()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE auto ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_iphi ( const HitsConstView hh) const
inline

Definition at line 141 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

141 { return hh[theOuterHitId].iphi(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outer_r()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_r ( const HitsConstView hh) const
inline

Definition at line 138 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

138 { return hh[theOuterHitId].rGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outer_x()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_x ( const HitsConstView hh) const
inline

Definition at line 132 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

132 { return hh[theOuterHitId].xGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outer_y()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_y ( const HitsConstView hh) const
inline

Definition at line 134 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

134 { return hh[theOuterHitId].yGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outer_z()

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outer_z ( const HitsConstView hh) const
inline

Definition at line 136 of file CACell.h.

References ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::check_alignment().

136 { return hh[theOuterHitId].zGlobal(); }
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > hh

◆ outerNeighbors() [1/3]

template<typename TrackerTraits>
return ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outerNeighbors ( )

◆ outerNeighbors() [2/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellNeighbors& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outerNeighbors ( )
inline

Definition at line 129 of file CACell.h.

129 { return *theOuterNeighbors; }

◆ outerNeighbors() [3/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellNeighbors const& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::outerNeighbors ( ) const
inline

Definition at line 130 of file CACell.h.

130 { return *theOuterNeighbors; }

◆ print_cell()

template<typename TrackerTraits>
ALPAKA_FN_ACC void ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::print_cell ( ) const
inline

Definition at line 153 of file CACell.h.

153  {
154  printf("printing cell: on layerPair: %d, innerHitId: %d, outerHitId: %d \n",
155  theLayerPairId_,
156  theInnerHitId,
157  theOuterHitId);
158  }

◆ tracks() [1/3]

template<typename TrackerTraits>
return ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tracks ( void  )

◆ tracks() [2/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellTracks& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tracks ( void  )
inline

Definition at line 127 of file CACell.h.

127 { return *theTracks; }

◆ tracks() [3/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE CellTracks const& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tracks ( void  ) const
inline

Definition at line 128 of file CACell.h.

128 { return *theTracks; }

Member Data Documentation

◆ bad

template<typename TrackerTraits>
constexpr auto ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::bad = ::pixelTrack::Quality::bad
static

Definition at line 45 of file CACell.h.

◆ cellNeighbors

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE TrackerTraits::cindex_type CellNeighborsVector& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::cellNeighbors
Initial value:
{
if (outerNeighbors().empty()) {
auto i = cellNeighbors.extend(acc);
if (i > 0) {
alpaka::mem_fence(acc, alpaka::memory_scope::Grid{});
auto zero = (PtrAsInt)(&cellNeighbors[0]);
alpaka::atomicCas(acc,
(PtrAsInt*)(&theOuterNeighbors),
} else
return -1;
}
alpaka::mem_fence(acc, alpaka::memory_scope::Grid{})

Definition at line 76 of file CACell.h.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::init().

◆ cellTracks

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE tindex_type CellTracksVector& ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::cellTracks
Initial value:
{
if (tracks().empty()) {
auto i = cellTracks.extend(acc);
if (i > 0) {
alpaka::mem_fence(acc, alpaka::memory_scope::Grid{});
auto zero = (PtrAsInt)(&cellTracks[0]);
alpaka::atomicCas(acc,
(PtrAsInt*)(&theTracks),
} else
return -1;
}
alpaka::mem_fence(acc, alpaka::memory_scope::Grid{})

Definition at line 103 of file CACell.h.

Referenced by ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::init().

◆ distance_13_squared

template<typename TrackerTraits>
float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::distance_13_squared = radius_diff * radius_diff + (z1 - zo) * (z1 - zo)

Definition at line 192 of file CACell.h.

◆ invalidHitId

template<typename TrackerTraits>
constexpr auto ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::invalidHitId = std::numeric_limits<hindex_type>::max()
static

◆ maxCellsPerHit

template<typename TrackerTraits>
constexpr auto ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::maxCellsPerHit = TrackerTraits::maxCellsPerHit
static

Definition at line 28 of file CACell.h.

◆ pMin

template<typename TrackerTraits>
float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::pMin = ptmin * std::sqrt(distance_13_squared)

Definition at line 194 of file CACell.h.

◆ ptmin

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float const float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ptmin

◆ ri

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ri

◆ ro

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::ro

◆ t [1/3]

template<typename TrackerTraits>
return ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::t

Definition at line 76 of file CACell.h.

◆ t [2/3]

template<typename TrackerTraits>
return ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::t

Definition at line 97 of file CACell.h.

◆ t [3/3]

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE tindex_type ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::t

Definition at line 102 of file CACell.h.

◆ tan_12_13_half_mul_distance_13_squared

template<typename TrackerTraits>
float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::tan_12_13_half_mul_distance_13_squared = fabs(z1 * (ri - ro) + zi * (ro - r1) + zo * (r1 - ri))

Definition at line 197 of file CACell.h.

◆ thetaCut

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float const float const float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::thetaCut
Initial value:
{
float radius_diff = std::abs(r1 - ro)

Definition at line 190 of file CACell.h.

◆ z1

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::z1

◆ zi

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::zi

◆ zo

template<typename TrackerTraits>
ALPAKA_FN_ACC ALPAKA_FN_INLINE float float float float float ALPAKA_ACCELERATOR_NAMESPACE::CACellT< TrackerTraits >::zo