CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
eigenSoA::ScalarSoA< T, S > Class Template Reference

#include <eigenSoA.h>

Public Types

using Scalar = T
 

Public Member Functions

__host__ constexpr __device__ Scalardata ()
 
__host__ constexpr __device__ Scalar const * data () const
 
__host__ constexpr __device__ Scalaroperator() (int32_t i)
 
constexpr const __device__ Scalar operator() (int32_t i) const
 
__host__ constexpr __device__ Scalaroperator[] (int32_t i)
 
constexpr const __device__ Scalar operator[] (int32_t i) const
 

Private Attributes

Scalar data_ [S]
 

Detailed Description

template<typename T, int S>
class eigenSoA::ScalarSoA< T, S >

Definition at line 17 of file eigenSoA.h.

Member Typedef Documentation

◆ Scalar

template<typename T, int S>
using eigenSoA::ScalarSoA< T, S >::Scalar = T

Definition at line 19 of file eigenSoA.h.

Member Function Documentation

◆ data() [1/2]

template<typename T, int S>
__host__ constexpr __device__ Scalar* eigenSoA::ScalarSoA< T, S >::data ( )
inlineconstexpr

Definition at line 26 of file eigenSoA.h.

26 { return data_; }

Referenced by TrackSoAHeterogeneousT< S >::qualityData().

◆ data() [2/2]

template<typename T, int S>
__host__ constexpr __device__ Scalar const* eigenSoA::ScalarSoA< T, S >::data ( ) const
inlineconstexpr

Definition at line 27 of file eigenSoA.h.

27 { return data_; }

◆ operator()() [1/2]

template<typename T, int S>
__host__ constexpr __device__ Scalar& eigenSoA::ScalarSoA< T, S >::operator() ( int32_t  i)
inlineconstexpr

Definition at line 21 of file eigenSoA.h.

21 { return data_[i]; }

◆ operator()() [2/2]

template<typename T, int S>
constexpr const __device__ Scalar eigenSoA::ScalarSoA< T, S >::operator() ( int32_t  i) const
inlineconstexpr

Definition at line 22 of file eigenSoA.h.

22 { return __ldg(data_ + i); }

◆ operator[]() [1/2]

template<typename T, int S>
__host__ constexpr __device__ Scalar& eigenSoA::ScalarSoA< T, S >::operator[] ( int32_t  i)
inlineconstexpr

Definition at line 23 of file eigenSoA.h.

23 { return data_[i]; }

◆ operator[]() [2/2]

template<typename T, int S>
constexpr const __device__ Scalar eigenSoA::ScalarSoA< T, S >::operator[] ( int32_t  i) const
inlineconstexpr

Definition at line 24 of file eigenSoA.h.

24 { return __ldg(data_ + i); }

Member Data Documentation

◆ data_

template<typename T, int S>
Scalar eigenSoA::ScalarSoA< T, S >::data_[S]
private
mps_fire.i
i
Definition: mps_fire.py:428
eigenSoA::ScalarSoA::data_
Scalar data_[S]
Definition: eigenSoA.h:30
cms::cudacompat::__ldg
T __ldg(T const *x)
Definition: cudaCompat.h:113