CMS 3D CMS Logo

Classes | Namespaces | Typedefs | Functions | Variables
CAPixelDoubletsAlgos.h File Reference
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <limits>
#include <alpaka/alpaka.hpp>
#include "DataFormats/Math/interface/approx_atan2.h"
#include "DataFormats/TrackingRecHitSoA/interface/TrackingRecHitsSoA.h"
#include "Geometry/CommonTopologies/interface/SimplePixelTopology.h"
#include "HeterogeneousCore/AlpakaInterface/interface/VecArray.h"
#include "HeterogeneousCore/AlpakaInterface/interface/traits.h"
#include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h"
#include "CACell.h"
#include "CAStructures.h"

Go to the source code of this file.

Classes

struct  ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::CellCutsT< TrackerTraits >
 

Namespaces

 ALPAKA_ACCELERATOR_NAMESPACE
 
 ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets
 

Typedefs

using ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::PhiBinner = typename TrackingRecHitSoA< TrackerTraits >::PhiBinner
 

Functions

template<typename TrackerTraits , typename TAcc >
ALPAKA_FN_ACC ALPAKA_FN_INLINE void ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::__attribute__ ((always_inline)) doubletsFromHisto(const TAcc &acc
 
 ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::ALPAKA_ASSERT_OFFLOAD (offsets)
 
const uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::blockDimensionX (alpaka::getWorkDiv< alpaka::Block, alpaka::Elems >(acc)[dimIndexX])
 
 ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::for (uint32_t j=firstElementIdxY;j< ntot;j++)
 
const uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::gridDimensionY (alpaka::getWorkDiv< alpaka::Grid, alpaka::Elems >(acc)[dimIndexY])
 
 ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::if (threadIdxLocalY==0 &&threadIdxLocalX==0)
 
const uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::threadIdxLocalX (alpaka::getIdx< alpaka::Block, alpaka::Threads >(acc)[dimIndexX])
 
const uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::threadIdxLocalY (alpaka::getIdx< alpaka::Block, alpaka::Threads >(acc)[dimIndexY])
 

Variables

ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > * ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::cellNeighbors
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > * ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::cells
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > * ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::cellTracks
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > OuterHitOfCell< TrackerTraits > CellCutsT< TrackerTraits > const & ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::cuts
 
constexpr uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::dimIndexX = 1u
 
constexpr uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::dimIndexY = 0u
 
const bool ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::doPtCut = cuts.doPtCut_
 
const bool ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::doZ0Cut = cuts.doZ0Cut_
 
uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::endElementIdxY = endElementIdxNoStrideY
 
const auto &uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::firstElementIdxY = firstElementIdxNoStrideY
 
const float ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hardPtCut = cuts.ptCut_
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::hh
 
auto & ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::innerLayerCumulativeSize = alpaka::declareSharedVar<uint32_t[TrackerTraits::nPairs], __COUNTER__>(acc)
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t CellNeighborsVector< TrackerTraits > CellTracksVector< TrackerTraits > HitsConstView< TrackerTraits > OuterHitOfCell< TrackerTraits > ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::isOuterHitOfCell
 
auto ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::layerSize = [=](uint8_t li) { return offsets[li + 1] - offsets[li]; }
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::maxNumOfDoublets
 
const float ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::minRadius = hardPtCut * 87.78f
 
const float ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::minRadius2T4 = 4.f * minRadius * minRadius
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t const uint32_t CACellT< TrackerTraits > uint32_t * ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::nCells
 
ALPAKA_FN_ACC ALPAKA_FN_INLINE void uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::nPairs
 
auto & ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::ntot = alpaka::declareSharedVar<uint32_t, __COUNTER__>(acc)
 
uint32_t const *__restrict__ ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::offsets = hh.hitsLayerStart().data()
 
const auto &uint32_t ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::pairLayerId = 0
 
auto const &__restrict__ ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::phiBinner = hh.phiBinner()
 
const float ALPAKA_ACCELERATOR_NAMESPACE::caPixelDoublets::z0cut = cuts.z0Cut_