CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
mkfit::MatriplexErrParPackerSlurpIn< T, D > Class Template Reference

#include <MatriplexPackers.h>

Inheritance diagram for mkfit::MatriplexErrParPackerSlurpIn< T, D >:
mkfit::MatriplexPackerSlurpIn< D >

Public Member Functions

void addInput (const T &item)
 
void addInputAt (int pos, const T &item)
 
 MatriplexErrParPackerSlurpIn (const T *t)
 
template<typename TMerr , typename TMpar >
void pack (TMerr &err, TMpar &par)
 
- Public Member Functions inherited from mkfit::MatriplexPackerSlurpIn< D >
void addInput (const D &item)
 
void addInputAt (int pos, const D &item)
 
void addNullInput ()
 
 MatriplexPackerSlurpIn (const D *base)
 
template<typename TM >
void pack (TM &mplex, int base_offset)
 
void reset ()
 

Private Attributes

int m_off_param
 

Additional Inherited Members

- Protected Attributes inherited from mkfit::MatriplexPackerSlurpIn< D >
const D * m_base
 
int m_idx [NN]
 
int m_pos
 

Detailed Description

template<typename T, typename D>
class mkfit::MatriplexErrParPackerSlurpIn< T, D >

Definition at line 68 of file MatriplexPackers.h.

Constructor & Destructor Documentation

◆ MatriplexErrParPackerSlurpIn()

template<typename T , typename D >
mkfit::MatriplexErrParPackerSlurpIn< T, D >::MatriplexErrParPackerSlurpIn ( const T t)
inline

Definition at line 72 of file MatriplexPackers.h.

73  : MatriplexPackerSlurpIn<D>(t ? t->errArray() : nullptr), m_off_param(t ? (t->posArray() - this->m_base) : 0) {}

Member Function Documentation

◆ addInput()

template<typename T , typename D >
void mkfit::MatriplexErrParPackerSlurpIn< T, D >::addInput ( const T item)
inline

◆ addInputAt()

template<typename T , typename D >
void mkfit::MatriplexErrParPackerSlurpIn< T, D >::addInputAt ( int  pos,
const T item 
)
inline

Definition at line 83 of file MatriplexPackers.h.

References mkfit::MatriplexErrParPackerSlurpIn< T, D >::addInput(), mkfit::MatriplexPackerSlurpIn< D >::m_idx, and mkfit::MatriplexPackerSlurpIn< D >::m_pos.

83  {
84  while (this->m_pos < pos) {
85  // We might not care about initialization / reset to 0.
86  // Or we could be building an additional mask (on top of N_proc).
87  this->m_idx[this->m_pos++] = 0;
88  }
89 
90  addInput(item);
91  }

◆ pack()

template<typename T , typename D >
template<typename TMerr , typename TMpar >
void mkfit::MatriplexErrParPackerSlurpIn< T, D >::pack ( TMerr &  err,
TMpar &  par 
)
inline

Definition at line 94 of file MatriplexPackers.h.

References cms::cuda::assert(), mkfit::MatriplexPackerSlurpIn< D >::m_base, mkfit::MatriplexPackerSlurpIn< D >::m_idx, mkfit::MatriplexPackerSlurpIn< D >::m_pos, and mkfit::NN.

Referenced by mkfit::MkFinder::bkFitInputTracks(), mkfit::MkFitter::fitTracksWithInterSlurp(), mkfit::MkFitter::inputTracksForFit(), and mkfit::MkFitter::slurpInTracksAndHits().

94  {
95  assert(this->m_pos > 0 && this->m_pos <= NN);
96 
97 #if defined(GATHER_INTRINSICS)
98  GATHER_IDX_LOAD(vi, this->m_idx);
99  err.slurpIn(this->m_base, vi, D(), this->m_pos);
100  par.slurpIn(this->m_base + m_off_param, vi, D(), this->m_pos);
101 #else
102  err.slurpIn(this->m_base, this->m_idx, this->m_pos);
103  par.slurpIn(this->m_base + m_off_param, this->m_idx, this->m_pos);
104 #endif
105  }
assert(be >=bs)
constexpr Matriplex::idx_t NN
Definition: Matrix.h:43
DecomposeProduct< arg, typename Div::arg > D
Definition: Factorize.h:141

Member Data Documentation

◆ m_off_param

template<typename T , typename D >
int mkfit::MatriplexErrParPackerSlurpIn< T, D >::m_off_param
private

Definition at line 69 of file MatriplexPackers.h.