CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edmNew::DetSet< T > Class Template Reference

#include <DetSetNew.h>

Public Types

typedef const data_typeconst_iterator
 
typedef DetSetVector< TContainer
 
typedef T data_type
 
typedef std::vector< data_typeDataContainer
 
typedef unsigned int id_type
 
typedef data_typeiterator
 
typedef id_type key_type
 
typedef unsigned int size_type
 
typedef data_type value_type
 

Public Member Functions

iterator begin ()
 
const_iterator begin () const
 
id_type detId () const
 
 DetSet ()
 
 DetSet (Container const &icont, typename Container::Item const &item, bool update)
 
 DetSet (id_type i, DataContainer const &idata, size_type ioffset, size_type isize)
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
id_type id () const
 
bool isValid () const
 
unsigned int makeKeyOf (const_iterator ci) const
 
template<typename HandleT >
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo (HandleT const &handle, const_iterator ci) const
 
int offset () const
 
data_typeoperator[] (size_type i)
 
data_type operator[] (size_type i) const
 
void set (Container const &icont, typename Container::Item const &item, bool update=true)
 
size_type size () const
 

Private Member Functions

const DataContainercontainer () const
 
data_typedata ()
 
const data_typedata () const
 

Private Attributes

const DataContainerm_data
 
id_type m_id
 
int m_offset
 
size_type m_size
 

Detailed Description

template<typename T>
class edmNew::DetSet< T >

Definition at line 22 of file DetSetNew.h.

Member Typedef Documentation

◆ const_iterator

template<typename T>
typedef const data_type* edmNew::DetSet< T >::const_iterator

Definition at line 31 of file DetSetNew.h.

◆ Container

template<typename T>
typedef DetSetVector<T> edmNew::DetSet< T >::Container

Definition at line 24 of file DetSetNew.h.

◆ data_type

template<typename T>
typedef T edmNew::DetSet< T >::data_type

Definition at line 27 of file DetSetNew.h.

◆ DataContainer

template<typename T>
typedef std::vector<data_type> edmNew::DetSet< T >::DataContainer

Definition at line 29 of file DetSetNew.h.

◆ id_type

template<typename T>
typedef unsigned int edmNew::DetSet< T >::id_type

Definition at line 26 of file DetSetNew.h.

◆ iterator

template<typename T>
typedef data_type* edmNew::DetSet< T >::iterator

Definition at line 30 of file DetSetNew.h.

◆ key_type

template<typename T>
typedef id_type edmNew::DetSet< T >::key_type

Definition at line 34 of file DetSetNew.h.

◆ size_type

template<typename T>
typedef unsigned int edmNew::DetSet< T >::size_type

Definition at line 25 of file DetSetNew.h.

◆ value_type

template<typename T>
typedef data_type edmNew::DetSet< T >::value_type

Definition at line 33 of file DetSetNew.h.

Constructor & Destructor Documentation

◆ DetSet() [1/3]

template<typename T>
edmNew::DetSet< T >::DetSet ( )
inline

Definition at line 36 of file DetSetNew.h.

36 : m_id(0), m_data(nullptr), m_offset(-1), m_size(0) {}

◆ DetSet() [2/3]

template<typename T>
edmNew::DetSet< T >::DetSet ( id_type  i,
DataContainer const &  idata,
size_type  ioffset,
size_type  isize 
)
inline

Definition at line 37 of file DetSetNew.h.

38  : m_id(i), m_data(&idata), m_offset(ioffset), m_size(isize) {}

◆ DetSet() [3/3]

template<typename T>
edmNew::DetSet< T >::DetSet ( Container const &  icont,
typename Container::Item const &  item,
bool  update 
)
inline

Definition at line 40 of file DetSetNew.h.

41  : m_id(0), m_data(nullptr), m_offset(-1), m_size(0) {
42  set(icont, item, update);
43  }

References B2GTnPMonitor_cfi::item, edmNew::DetSet< T >::set(), and update.

Member Function Documentation

◆ begin() [1/2]

template<typename T>
iterator edmNew::DetSet< T >::begin ( void  )
inline

◆ begin() [2/2]

template<typename T>
const_iterator edmNew::DetSet< T >::begin ( void  ) const
inline

Definition at line 58 of file DetSetNew.h.

58 { return data(); }

References edmNew::DetSet< T >::data().

◆ container()

template<typename T>
const DataContainer& edmNew::DetSet< T >::container ( ) const
inlineprivate

Definition at line 82 of file DetSetNew.h.

82 { return *m_data; }

References edmNew::DetSet< T >::m_data.

Referenced by edmNew::DetSet< T >::makeKeyOf(), and edmNew::DetSet< T >::makeRefTo().

◆ data() [1/2]

template<typename T>
data_type* edmNew::DetSet< T >::data ( )
inlineprivate

Definition at line 90 of file DetSetNew.h.

90  {
91  assert(m_data);
92  return const_cast<data_type *>(&((*m_data)[m_offset]));
93  }

References cms::cuda::assert(), edmNew::DetSet< T >::m_data, and edmNew::DetSet< T >::m_offset.

◆ data() [2/2]

template<typename T>
const data_type* edmNew::DetSet< T >::data ( ) const
inlineprivate

◆ detId()

template<typename T>
id_type edmNew::DetSet< T >::detId ( ) const
inline

◆ empty()

template<typename T>
bool edmNew::DetSet< T >::empty ( ) const
inline

◆ end() [1/2]

template<typename T>
iterator edmNew::DetSet< T >::end ( void  )
inline

◆ end() [2/2]

template<typename T>
const_iterator edmNew::DetSet< T >::end ( void  ) const
inline

Definition at line 60 of file DetSetNew.h.

60 { return data() + m_size; }

References edmNew::DetSet< T >::data(), and edmNew::DetSet< T >::m_size.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

◆ id()

template<typename T>
id_type edmNew::DetSet< T >::id ( ) const
inline

◆ isValid()

template<typename T>
bool edmNew::DetSet< T >::isValid ( void  ) const
inline

Definition at line 48 of file DetSetNew.h.

48 { return m_offset >= 0; }

References edmNew::DetSet< T >::m_offset.

Referenced by ntupleDataFormat._Object::_checkIsValid(), and core.AutoHandle.AutoHandle::ReallyLoad().

◆ makeKeyOf()

template<typename T>
unsigned int edmNew::DetSet< T >::makeKeyOf ( const_iterator  ci) const
inline

Definition at line 79 of file DetSetNew.h.

79 { return ci - &(container().front()); }

References edmNew::DetSet< T >::container().

Referenced by TkStripMeasurementDet::simpleRecHits().

◆ makeRefTo()

template<typename T>
template<typename HandleT >
edm::Ref<typename HandleT::element_type, typename HandleT::element_type::value_type::value_type> edmNew::DetSet< T >::makeRefTo ( HandleT const &  handle,
const_iterator  ci 
) const
inline

◆ offset()

template<typename T>
int edmNew::DetSet< T >::offset ( ) const
inline

Definition at line 62 of file DetSetNew.h.

62 { return m_offset; }

References edmNew::DetSet< T >::m_offset.

Referenced by TkStackMeasurementDet::recHits().

◆ operator[]() [1/2]

template<typename T>
data_type& edmNew::DetSet< T >::operator[] ( size_type  i)
inline

Definition at line 50 of file DetSetNew.h.

50 { return data()[i]; }

References edmNew::DetSet< T >::data(), and mps_fire::i.

◆ operator[]() [2/2]

template<typename T>
data_type edmNew::DetSet< T >::operator[] ( size_type  i) const
inline

Definition at line 52 of file DetSetNew.h.

52 { return data()[i]; }

References edmNew::DetSet< T >::data(), and mps_fire::i.

◆ set()

template<typename T>
void edmNew::DetSet< T >::set ( Container const &  icont,
typename Container::Item const &  item,
bool  update = true 
)
inline

Definition at line 637 of file DetSetVectorNew.h.

637  {
638  // if an item is being updated we wait
639  if (update)
640  icont.update(item);
641  while (item.initializing())
642  nanosleep(nullptr, nullptr);
643  m_data = &icont.data();
644  m_id = item.id;
645  m_offset = item.offset;
646  m_size = item.size;
647  }

References B2GTnPMonitor_cfi::item, and update.

Referenced by edmNew::DetSet< T >::DetSet(), and edmNew::DetSetVector< T >::IterHelp::operator()().

◆ size()

template<typename T>
size_type edmNew::DetSet< T >::size ( void  ) const
inline

Member Data Documentation

◆ m_data

template<typename T>
const DataContainer* edmNew::DetSet< T >::m_data
private

Definition at line 96 of file DetSetNew.h.

Referenced by edmNew::DetSet< T >::container(), and edmNew::DetSet< T >::data().

◆ m_id

template<typename T>
id_type edmNew::DetSet< T >::m_id
private

Definition at line 95 of file DetSetNew.h.

Referenced by edmNew::DetSet< T >::detId(), and edmNew::DetSet< T >::id().

◆ m_offset

template<typename T>
int edmNew::DetSet< T >::m_offset
private

◆ m_size

template<typename T>
size_type edmNew::DetSet< T >::m_size
private
mps_fire.i
i
Definition: mps_fire.py:428
patZpeak.handle
handle
Definition: patZpeak.py:23
cms::cuda::assert
assert(be >=bs)
edmNew::DetSet::m_id
id_type m_id
Definition: DetSetNew.h:95
edm::Ref
Definition: AssociativeIterator.h:58
edmNew::DetSet::container
const DataContainer & container() const
Definition: DetSetNew.h:82
edmNew::DetSet::m_data
const DataContainer * m_data
Definition: DetSetNew.h:96
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edmNew::DetSet::m_offset
int m_offset
Definition: DetSetNew.h:97
edmNew::DetSet::set
void set(Container const &icont, typename Container::Item const &item, bool update=true)
Definition: DetSetVectorNew.h:637
edmNew::DetSet::data
const data_type * data() const
Definition: DetSetNew.h:84
edmNew::DetSet::m_size
size_type m_size
Definition: DetSetNew.h:98
update
#define update(a, b)
Definition: TrackClassifier.cc:10