1 #ifndef CalibFormats_SiStripObjects_SiStripClusterizerConditionsGPU_h 2 #define CalibFormats_SiStripObjects_SiStripClusterizerConditionsGPU_h 50 static constexpr std::uint16_t
badBit = 1 << 15;
124 std::vector<std::uint16_t, cms::cuda::HostAllocator<std::uint16_t>>
noise_;
125 std::vector<float, cms::cuda::HostAllocator<float>>
invthick_;
126 std::vector<detId_t, cms::cuda::HostAllocator<detId_t>>
detID_;
127 std::vector<apvPair_t, cms::cuda::HostAllocator<apvPair_t>>
iPair_;
128 std::vector<float, cms::cuda::HostAllocator<float>>
gain_;
static const uint16_t FED_ID_MIN
cms::cuda::device::unique_ptr< std::uint16_t[]> noise_
cms::cuda::host::unique_ptr< DeviceView > hostView_
std::vector< std::uint16_t, cms::cuda::HostAllocator< std::uint16_t > > noise_
Data const & getGPUProductAsync(cudaStream_t stream) const
const std::uint16_t * noise_
const DeviceView * deviceView() const
static constexpr std::uint16_t badBit
__host__ __device__ std::uint32_t channelIndex(fedId_t fed, fedCh_t channel)
std::vector< detId_t, cms::cuda::HostAllocator< detId_t > > detID_
__device__ detId_t detID(fedId_t fed, fedCh_t channel) const
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
__host__ __device__ std::uint32_t stripIndex(fedId_t fed, fedCh_t channel, stripId_t strip)
__device__ float noise(fedId_t fed, fedCh_t channel, stripId_t strip) const
__device__ bool bad(fedId_t fed, fedCh_t channel, stripId_t strip) const
cms::cuda::device::unique_ptr< apvPair_t[]> iPair_
cms::cuda::ESProduct< Data > gpuData_
void setInvThickness(fedId_t fed, fedCh_t channel, float invthick)
void setStrip(fedId_t fed, fedCh_t channel, stripId_t strip, std::uint16_t noise, float gain, bool bad)
constexpr float gains[NGAINS]
static const uint16_t STRIPS_PER_FEDCH
__device__ apvPair_t iPair(fedId_t fed, fedCh_t channel) const
__device__ float invthick(fedId_t fed, fedCh_t channel) const
Constants and enumerated types for FED/FEC systems.
~SiStripClusterizerConditionsGPU()=default
cms::cuda::device::unique_ptr< DeviceView > deviceView_
cms::cuda::device::unique_ptr< float[]> gain_
DetToFed(detId_t detid, apvPair_t ipair, fedId_t fedid, fedCh_t fedch)
std::vector< apvPair_t, cms::cuda::HostAllocator< apvPair_t > > iPair_
const DetToFeds & detToFeds() const
static const uint16_t APVS_PER_CHAN
static const uint16_t FEDCH_PER_FED
static const uint16_t STRIPS_PER_APV
__host__ __device__ std::uint32_t apvIndex(fedId_t fed, fedCh_t channel, stripId_t strip)
cms::cuda::device::unique_ptr< detId_t[]> detID_
SiStripClusterizerConditionsGPU(const SiStripQuality &quality, const SiStripGain *gains, const SiStripNoises &noises)
std::unique_ptr< T, impl::HostDeleter > unique_ptr
std::vector< float, cms::cuda::HostAllocator< float > > gain_
static const uint16_t APVS_PER_FEDCH
cms::cuda::device::unique_ptr< float[]> invthick_
std::vector< float, cms::cuda::HostAllocator< float > > invthick_
__host__ __device__ fedId_t fedIndex(fedId_t fed)
__device__ float gain(fedId_t fed, fedCh_t channel, stripId_t strip) const
std::vector< DetToFed > DetToFeds