CMS 3D CMS Logo

Namespaces | Classes | Typedefs | Enumerations | Functions
cms::soa Namespace Reference

Namespaces

 RangeChecking
 
 RestrictQualify
 

Classes

struct  add_restrict
 
struct  add_restrict< T, RestrictQualify::disabled >
 
struct  add_restrict< T, RestrictQualify::enabled >
 
struct  AlignmentEnforcement
 
struct  CacheLineSize
 
struct  ConstValueTraits
 
struct  ConstValueTraits< C, SoAColumnType::scalar >
 
struct  EigenConstMapMaker
 
struct  SoAAccessors
 
struct  SoAColumnAccessorsImpl
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::column, SoAAccessType::constAccess, alignment, restrictQualify >
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::column, SoAAccessType::mutableAccess, alignment, restrictQualify >
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::eigen, SoAAccessType::constAccess, alignment, restrictQualify >
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::eigen, SoAAccessType::mutableAccess, alignment, restrictQualify >
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::scalar, SoAAccessType::constAccess, alignment, restrictQualify >
 
struct  SoAColumnAccessorsImpl< T, SoAColumnType::scalar, SoAAccessType::mutableAccess, alignment, restrictQualify >
 
struct  SoAConstParameters_ColumnType
 
struct  SoAConstParametersImpl
 
struct  SoAConstParametersImpl< SoAColumnType::eigen, T >
 
class  SoAConstValue
 
class  SoAConstValue< SoAColumnType::eigen, C, ALIGNMENT, RESTRICT_QUALIFY >
 
struct  SoAParameters_ColumnType
 
struct  SoAParametersImpl
 
struct  SoAParametersImpl< SoAColumnType::eigen, T >
 
class  SoAValue
 
class  SoAValue< SoAColumnType::eigen, C, ALIGNMENT, RESTRICT_QUALIFY >
 

Typedefs

using byte_size_type = std::size_t
 
using size_type = cms_int32_t
 

Enumerations

enum  SoAAccessType : bool { SoAAccessType::mutableAccess, SoAAccessType::constAccess }
 
enum  SoAColumnType { SoAColumnType::scalar = 0, SoAColumnType::column = 1, SoAColumnType::eigen = 2 }
 

Functions

template<SoAColumnType COLUMN_TYPE, typename T >
 __attribute__ ((always_inline)) const expr SoAParametersImpl< COLUMN_TYPE
 
template<typename T >
 __attribute__ ((always_inline)) const expr SoAParametersImpl< SoAColumnType
 
constexpr byte_size_type alignSize (byte_size_type size, byte_size_type alignment)
 
T const_cast_SoAParametersImpl (SoAConstParametersImpl< COLUMN_TYPE, T > const &o)
 

Typedef Documentation

◆ byte_size_type

using cms::soa::byte_size_type = typedef std::size_t

Definition at line 62 of file SoACommon.h.

◆ size_type

Definition at line 60 of file SoACommon.h.

Enumeration Type Documentation

◆ SoAAccessType

enum cms::soa::SoAAccessType : bool
strong
Enumerator
mutableAccess 
constAccess 

Definition at line 577 of file SoACommon.h.

◆ SoAColumnType

Enumerator
scalar 
column 
eigen 

Definition at line 64 of file SoACommon.h.

64  {
68  };
#define _VALUE_TYPE_SCALAR
Definition: SoACommon.h:50
#define _VALUE_TYPE_EIGEN_COLUMN
Definition: SoACommon.h:52
#define _VALUE_TYPE_COLUMN
Definition: SoACommon.h:51
double scalar(const CLHEP::HepGenMatrix &m)
Return the matrix as a scalar. Raise an assertion if the matris is not .
Definition: matutil.cc:166

Function Documentation

◆ __attribute__() [1/2]

template<SoAColumnType COLUMN_TYPE, typename T >
cms::soa::__attribute__ ( (always_inline)  ) const
inline

◆ __attribute__() [2/2]

template<typename T >
cms::soa::__attribute__ ( (always_inline)  ) const
inline

Definition at line 265 of file SoACommon.h.

References EcalTangentSkim_cfg::o.

266  {
267  return SoAParametersImpl<SoAColumnType::eigen, T>{non_const_ptr(o.addr_), o.stride_};
268  }

◆ alignSize()

constexpr byte_size_type cms::soa::alignSize ( byte_size_type  size,
byte_size_type  alignment 
)
inline

Definition at line 547 of file SoACommon.h.

References myMessageLogger_cff::alignment.

547  {
548  return ((size + alignment - 1) / alignment) * alignment;
549  }
size
Write out results.

◆ const_cast_SoAParametersImpl()

T cms::soa::const_cast_SoAParametersImpl ( SoAConstParametersImpl< COLUMN_TYPE, T > const &  o)

Definition at line 259 of file SoACommon.h.

References EcalTangentSkim_cfg::o.

260  {
261  return SoAParametersImpl<COLUMN_TYPE, T>{non_const_ptr(o.addr_)};
262  }