CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Static Public Attributes
calo::multifit::MapSymM< T, Stride, Order > Struct Template Reference

#include <MultifitComputations.h>

Public Types

using base_type = typename std::remove_const< type >::type
 
using type = T
 

Public Member Functions

EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC MapSymM (T *data)
 
template<typename U = T>
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC std::enable_if< std::is_same< base_type, U >::value, base_type >::typeoperator() (int const row, int const col)
 
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC T const & operator() (int const row, int const col) const
 

Public Attributes

Tdata
 

Static Public Attributes

static constexpr int stride = Stride
 
static constexpr int total = Stride * (Stride + 1) / 2
 

Detailed Description

template<typename T, int Stride, int Order = Eigen::ColMajor>
struct calo::multifit::MapSymM< T, Stride, Order >

Definition at line 27 of file MultifitComputations.h.

Member Typedef Documentation

◆ base_type

template<typename T, int Stride, int Order = Eigen::ColMajor>
using calo::multifit::MapSymM< T, Stride, Order >::base_type = typename std::remove_const<type>::type

Definition at line 29 of file MultifitComputations.h.

◆ type

template<typename T, int Stride, int Order = Eigen::ColMajor>
using calo::multifit::MapSymM< T, Stride, Order >::type = T

Definition at line 28 of file MultifitComputations.h.

Constructor & Destructor Documentation

◆ MapSymM()

template<typename T, int Stride, int Order = Eigen::ColMajor>
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC calo::multifit::MapSymM< T, Stride, Order >::MapSymM ( T data)
inline

Definition at line 35 of file MultifitComputations.h.

35 : data{data} {}

References calo::multifit::MapSymM< T, Stride, Order >::data.

Member Function Documentation

◆ operator()() [1/2]

template<typename T, int Stride, int Order = Eigen::ColMajor>
template<typename U = T>
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC std::enable_if<std::is_same<base_type, U>::value, base_type>::type& calo::multifit::MapSymM< T, Stride, Order >::operator() ( int const  row,
int const  col 
)
inline

Definition at line 45 of file MultifitComputations.h.

45  {
46  auto const tmp = (Stride - col) * (Stride - col + 1) / 2;
47  auto const index = total - tmp + row - col;
48  return data[index];
49  }

References cuy::col, calo::multifit::MapSymM< T, Stride, Order >::data, createJobs::tmp, and calo::multifit::MapSymM< T, Stride, Order >::total.

◆ operator()() [2/2]

template<typename T, int Stride, int Order = Eigen::ColMajor>
EIGEN_ALWAYS_INLINE EIGEN_DEVICE_FUNC T const& calo::multifit::MapSymM< T, Stride, Order >::operator() ( int const  row,
int const  col 
) const
inline

Definition at line 37 of file MultifitComputations.h.

37  {
38  auto const tmp = (Stride - col) * (Stride - col + 1) / 2;
39  auto const index = total - tmp + row - col;
40  return data[index];
41  }

References cuy::col, calo::multifit::MapSymM< T, Stride, Order >::data, createJobs::tmp, and calo::multifit::MapSymM< T, Stride, Order >::total.

Member Data Documentation

◆ data

template<typename T, int Stride, int Order = Eigen::ColMajor>
T* calo::multifit::MapSymM< T, Stride, Order >::data

◆ stride

template<typename T, int Stride, int Order = Eigen::ColMajor>
constexpr int calo::multifit::MapSymM< T, Stride, Order >::stride = Stride
staticconstexpr

Definition at line 32 of file MultifitComputations.h.

◆ total

template<typename T, int Stride, int Order = Eigen::ColMajor>
constexpr int calo::multifit::MapSymM< T, Stride, Order >::total = Stride * (Stride + 1) / 2
staticconstexpr
cuy.col
col
Definition: cuy.py:1010
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
calo::multifit::MapSymM::total
static constexpr int total
Definition: MultifitComputations.h:31
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
calo::multifit::MapSymM::data
T * data
Definition: MultifitComputations.h:33