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 ()
 
int size () const
 

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 70 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 74 of file MatriplexPackers.h.

75  : 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 85 of file MatriplexPackers.h.

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

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

◆ 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 96 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().

96  {
97  assert(this->m_pos > 0 && this->m_pos <= NN);
98 
99 #if defined(GATHER_INTRINSICS)
100  GATHER_IDX_LOAD(vi, this->m_idx);
101  err.slurpIn(this->m_base, vi, D(), this->m_pos);
102  par.slurpIn(this->m_base + m_off_param, vi, D(), this->m_pos);
103 #else
104  err.slurpIn(this->m_base, this->m_idx, this->m_pos);
105  par.slurpIn(this->m_base + m_off_param, this->m_idx, this->m_pos);
106 #endif
107  }
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 71 of file MatriplexPackers.h.