CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
TrackingRecHit2DReduced Class Reference

#include <TrackingRecHit2DReduced.h>

Public Types

using HIDstorage = HostProduct< uint16_t[]>
 
using HLPstorage = HostProduct< float[]>
 

Public Member Functions

auto nHits () const
 
TrackingRecHit2DReducedoperator= (const TrackingRecHit2DReduced &)=delete
 
TrackingRecHit2DReducedoperator= (TrackingRecHit2DReduced &&)=default
 
 TrackingRecHit2DReduced ()=default
 
 TrackingRecHit2DReduced (const TrackingRecHit2DReduced &)=delete
 
 TrackingRecHit2DReduced (TrackingRecHit2DReduced &&)=default
 
 TrackingRecHit2DReduced (TrackingRecHit2DSOAView const &iview, int nhits)
 
template<typename UP32 , typename UP16 >
 TrackingRecHit2DReduced (UP32 &&istore32, UP16 &&istore16, int nhits)
 
TrackingRecHit2DSOAViewview ()
 
TrackingRecHit2DSOAView const & view () const
 
 ~TrackingRecHit2DReduced ()=default
 

Private Attributes

int m_nHits
 
HIDstorage m_store16
 
HLPstorage m_store32
 
TrackingRecHit2DSOAView m_view
 

Detailed Description

Definition at line 8 of file TrackingRecHit2DReduced.h.

Member Typedef Documentation

◆ HIDstorage

Definition at line 11 of file TrackingRecHit2DReduced.h.

◆ HLPstorage

Definition at line 10 of file TrackingRecHit2DReduced.h.

Constructor & Destructor Documentation

◆ TrackingRecHit2DReduced() [1/5]

template<typename UP32 , typename UP16 >
TrackingRecHit2DReduced::TrackingRecHit2DReduced ( UP32 &&  istore32,
UP16 &&  istore16,
int  nhits 
)
inline

Definition at line 14 of file TrackingRecHit2DReduced.h.

15  : m_store32(std::move(istore32)), m_store16(std::move(istore16)), m_nHits(nhits) {
16  auto get32 = [&](int i) { return const_cast<float*>(m_store32.get()) + i * nhits; };
17 
18  // copy all the pointers (better be in sync with the producer store)
19 
20  m_view.m_xl = get32(0);
21  m_view.m_yl = get32(1);
22  m_view.m_xerr = get32(2);
23  m_view.m_yerr = get32(3);
24  m_view.m_chargeAndStatus = reinterpret_cast<uint32_t*>(get32(4));
25  m_view.m_detInd = const_cast<uint16_t*>(m_store16.get());
26  }

References HostProduct< T >::get(), mps_fire::i, TrackingRecHit2DSOAView::m_chargeAndStatus, TrackingRecHit2DSOAView::m_detInd, m_store16, m_store32, m_view, TrackingRecHit2DSOAView::m_xerr, TrackingRecHit2DSOAView::m_xl, TrackingRecHit2DSOAView::m_yerr, TrackingRecHit2DSOAView::m_yl, and nhits.

◆ TrackingRecHit2DReduced() [2/5]

TrackingRecHit2DReduced::TrackingRecHit2DReduced ( TrackingRecHit2DSOAView const &  iview,
int  nhits 
)
inline

Definition at line 29 of file TrackingRecHit2DReduced.h.

29 : m_view(iview), m_nHits(nhits) {}

◆ TrackingRecHit2DReduced() [3/5]

TrackingRecHit2DReduced::TrackingRecHit2DReduced ( )
default

◆ ~TrackingRecHit2DReduced()

TrackingRecHit2DReduced::~TrackingRecHit2DReduced ( )
default

◆ TrackingRecHit2DReduced() [4/5]

TrackingRecHit2DReduced::TrackingRecHit2DReduced ( const TrackingRecHit2DReduced )
delete

◆ TrackingRecHit2DReduced() [5/5]

TrackingRecHit2DReduced::TrackingRecHit2DReduced ( TrackingRecHit2DReduced &&  )
default

Member Function Documentation

◆ nHits()

auto TrackingRecHit2DReduced::nHits ( ) const
inline

Definition at line 42 of file TrackingRecHit2DReduced.h.

42 { return m_nHits; }

References m_nHits.

◆ operator=() [1/2]

TrackingRecHit2DReduced& TrackingRecHit2DReduced::operator= ( const TrackingRecHit2DReduced )
delete

◆ operator=() [2/2]

TrackingRecHit2DReduced& TrackingRecHit2DReduced::operator= ( TrackingRecHit2DReduced &&  )
default

◆ view() [1/2]

TrackingRecHit2DSOAView& TrackingRecHit2DReduced::view ( )
inline

Definition at line 39 of file TrackingRecHit2DReduced.h.

39 { return m_view; }

References m_view.

◆ view() [2/2]

TrackingRecHit2DSOAView const& TrackingRecHit2DReduced::view ( ) const
inline

Definition at line 40 of file TrackingRecHit2DReduced.h.

40 { return m_view; }

References m_view.

Member Data Documentation

◆ m_nHits

int TrackingRecHit2DReduced::m_nHits
private

Definition at line 50 of file TrackingRecHit2DReduced.h.

Referenced by nHits().

◆ m_store16

HIDstorage TrackingRecHit2DReduced::m_store16
private

Definition at line 48 of file TrackingRecHit2DReduced.h.

Referenced by TrackingRecHit2DReduced().

◆ m_store32

HLPstorage TrackingRecHit2DReduced::m_store32
private

Definition at line 47 of file TrackingRecHit2DReduced.h.

Referenced by TrackingRecHit2DReduced().

◆ m_view

TrackingRecHit2DSOAView TrackingRecHit2DReduced::m_view
private

Definition at line 45 of file TrackingRecHit2DReduced.h.

Referenced by TrackingRecHit2DReduced(), and view().

TrackingRecHit2DSOAView::m_xerr
float * m_xerr
Definition: TrackingRecHit2DSOAView.h:92
mps_fire.i
i
Definition: mps_fire.py:428
TrackingRecHit2DReduced::m_nHits
int m_nHits
Definition: TrackingRecHit2DReduced.h:50
TrackingRecHit2DSOAView::m_xl
float * m_xl
Definition: TrackingRecHit2DSOAView.h:91
TrackingRecHit2DReduced::m_view
TrackingRecHit2DSOAView m_view
Definition: TrackingRecHit2DReduced.h:45
nhits
Definition: HIMultiTrackSelector.h:42
TrackingRecHit2DReduced::m_store16
HIDstorage m_store16
Definition: TrackingRecHit2DReduced.h:48
TrackingRecHit2DSOAView::m_yerr
float * m_yerr
Definition: TrackingRecHit2DSOAView.h:92
eostools.move
def move(src, dest)
Definition: eostools.py:511
TrackingRecHit2DSOAView::m_chargeAndStatus
m_chargeAndStatus[i]
Definition: TrackingRecHit2DSOAView.h:59
TrackingRecHit2DSOAView::m_yl
float * m_yl
Definition: TrackingRecHit2DSOAView.h:91
TrackingRecHit2DSOAView::m_detInd
uint16_t * m_detInd
Definition: TrackingRecHit2DSOAView.h:103
HostProduct::get
auto const * get() const
Definition: HostProduct.h:18
TrackingRecHit2DReduced::m_store32
HLPstorage m_store32
Definition: TrackingRecHit2DReduced.h:47