CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
edmNew::DetSetVector< T > Class Template Reference

#include <DetSetNew.h>

Inheritance diagram for edmNew::DetSetVector< T >:
edmNew::dstvdetails::DetSetVectorTrans

Classes

class  FastFiller
 
class  FindForDetSetVector
 
struct  IterHelp
 
class  TSFastFiller
 

Public Types

typedef std::vector< data_type >
::const_iterator 
const_DataIter
 
typedef IdContainer::const_iterator const_IdIter
 
typedef
boost::transform_iterator
< IterHelp, const_IdIter
const_iterator
 
typedef std::pair
< const_IdIter, const_DataIter
const_IterPair
 
typedef T data_type
 
typedef std::vector< data_typeDataContainer
 
typedef std::vector< data_type >
::iterator 
DataIter
 
typedef edmNew::DetSet< TDetSet
 
typedef dslv::LazyGetter< TGetter
 
typedef unsigned int id_type
 
typedef std::vector< ItemIdContainer
 
typedef IdContainer::iterator IdIter
 
typedef Trans::Item Item
 
typedef std::pair< IdIter,
DataIter
IterPair
 
typedef id_type key_type
 
typedef std::pair
< const_iterator,
const_iterator
Range
 
typedef
edm::refhelper::FindForNewDetSetVector
< data_type
RefFinder
 
typedef edmNew::DetSetVector< Tself
 
typedef unsigned int size_type
 
typedef
dstvdetails::DetSetVectorTrans 
Trans
 
typedef DetSet value_type
 

Public Member Functions

const_iterator begin (bool update=false) const
 
void clean ()
 
data_type const * data (size_t cell) const
 
DataContainer const & data () const
 
size_type dataSize () const
 
size_type detsetSize (size_t cell) const
 
 DetSetVector (int isubdet=0)
 
 DetSetVector (std::shared_ptr< dslv::LazyGetter< T > > iGetter, const std::vector< det_id_type > &iDets, int isubdet=0)
 
 DetSetVector (const DetSetVector &)=delete
 
 DetSetVector (DetSetVector &&)=default
 
bool empty () const
 
const_iterator end (bool update=false) const
 
template<typename CMP >
Range equal_range (id_type i, CMP cmp, bool update=false) const
 
bool exists (id_type i) const
 
const_iterator find (id_type i, bool update=false) const
 
const_IdIter findItem (id_type i) const
 
id_type id (size_t cell) const
 
IdContainer const & ids () const
 
DetSet insert (id_type iid, data_type const *idata, size_type isize)
 
DetSet insert (id_type iid, size_type isize)
 
bool isValid (id_type i) const
 
Item const & item (size_t cell) const
 
bool onDemand () const
 
data_type operator() (size_t cell, size_t frame) const
 
DetSetVectoroperator= (const DetSetVector &)=delete
 
DetSetVectoroperator= (DetSetVector &&)=default
 
DetSet operator[] (id_type i) const
 
void pop_back (id_type iid)
 
Itempush_back (id_type iid)
 
void reserve (size_t isize, size_t dsize)
 
void resize (size_t isize, size_t dsize)
 
void shrink_to_fit ()
 
size_type size () const
 
int subdetId () const
 
void swap (DetSetVector &rh)
 
void swap (IdContainer &iic, DataContainer &idc)
 
 ~DetSetVector ()
 

Static Public Member Functions

static short Class_Version ()
 

Private Member Functions

ItemaddItem (id_type iid, size_type isize)
 
void update (Item const &item) const
 
- Private Member Functions inherited from edmNew::dstvdetails::DetSetVectorTrans
 DetSetVectorTrans ()
 
 DetSetVectorTrans (const DetSetVectorTrans &)=delete
 
 DetSetVectorTrans (DetSetVectorTrans &&)=default
 
DetSetVectorTransoperator= (const DetSetVectorTrans &)=delete
 
DetSetVectorTransoperator= (DetSetVectorTrans &&)=default
 
bool ready () const
 
void swap (DetSetVectorTrans &rh)
 

Private Attributes

DataContainer m_data
 
std::vector< Trans::Itemm_ids
 
int m_subdetId
 
- Private Attributes inherited from edmNew::dstvdetails::DetSetVectorTrans
std::atomic< bool > m_filling
 
boost::any m_getter
 

Friends

class ::TestDetSet
 
class edmNew::DetSet< T >
 
class FastFiller
 
class FindForDetSetVector
 
class TSFastFiller
 

Additional Inherited Members

- Private Types inherited from edmNew::dstvdetails::DetSetVectorTrans
typedef unsigned int id_type
 
typedef unsigned int size_type
 

Detailed Description

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

an optitimized container that linearized a "map of vector". It corresponds to a set of variable size array of T each belonging to a "Det" identified by an 32bit id

FIXME interface to be finalized once use-cases fully identified

although it is sorted internally it is strongly adviced to fill it already sorted....

Definition at line 12 of file DetSetNew.h.

Member Typedef Documentation

template<typename T>
typedef std::vector<data_type>::const_iterator edmNew::DetSetVector< T >::const_DataIter

Definition at line 157 of file DetSetVectorNew.h.

template<typename T>
typedef IdContainer::const_iterator edmNew::DetSetVector< T >::const_IdIter

Definition at line 156 of file DetSetVectorNew.h.

template<typename T>
typedef boost::transform_iterator<IterHelp,const_IdIter> edmNew::DetSetVector< T >::const_iterator

Definition at line 178 of file DetSetVectorNew.h.

template<typename T>
typedef std::pair<const_IdIter,const_DataIter> edmNew::DetSetVector< T >::const_IterPair

Definition at line 158 of file DetSetVectorNew.h.

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

Definition at line 142 of file DetSetVectorNew.h.

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

Definition at line 152 of file DetSetVectorNew.h.

template<typename T>
typedef std::vector<data_type>::iterator edmNew::DetSetVector< T >::DataIter

Definition at line 154 of file DetSetVectorNew.h.

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

Definition at line 144 of file DetSetVectorNew.h.

template<typename T>
typedef dslv::LazyGetter<T> edmNew::DetSetVector< T >::Getter

Definition at line 145 of file DetSetVectorNew.h.

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

Definition at line 141 of file DetSetVectorNew.h.

template<typename T>
typedef std::vector<Item> edmNew::DetSetVector< T >::IdContainer

Definition at line 151 of file DetSetVectorNew.h.

template<typename T>
typedef IdContainer::iterator edmNew::DetSetVector< T >::IdIter

Definition at line 153 of file DetSetVectorNew.h.

template<typename T>
typedef Trans::Item edmNew::DetSetVector< T >::Item

Definition at line 139 of file DetSetVectorNew.h.

template<typename T>
typedef std::pair<IdIter,DataIter> edmNew::DetSetVector< T >::IterPair

Definition at line 155 of file DetSetVectorNew.h.

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

Definition at line 148 of file DetSetVectorNew.h.

template<typename T>
typedef std::pair<const_iterator,const_iterator> edmNew::DetSetVector< T >::Range

Definition at line 179 of file DetSetVectorNew.h.

Definition at line 160 of file DetSetVectorNew.h.

template<typename T>
typedef edmNew::DetSetVector<T> edmNew::DetSetVector< T >::self

Definition at line 143 of file DetSetVectorNew.h.

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

Definition at line 140 of file DetSetVectorNew.h.

template<typename T>
typedef dstvdetails::DetSetVectorTrans edmNew::DetSetVector< T >::Trans

Definition at line 138 of file DetSetVectorNew.h.

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

Definition at line 147 of file DetSetVectorNew.h.

Constructor & Destructor Documentation

template<typename T>
edmNew::DetSetVector< T >::DetSetVector ( int  isubdet = 0)
inlineexplicit

Definition at line 381 of file DetSetVectorNew.h.

template<typename T>
edmNew::DetSetVector< T >::DetSetVector ( std::shared_ptr< dslv::LazyGetter< T > >  iGetter,
const std::vector< det_id_type > &  iDets,
int  isubdet = 0 
)
template<typename T>
edmNew::DetSetVector< T >::~DetSetVector ( )
inline

Definition at line 388 of file DetSetVectorNew.h.

template<typename T>
edmNew::DetSetVector< T >::DetSetVector ( const DetSetVector< T > &  )
delete
template<typename T>
edmNew::DetSetVector< T >::DetSetVector ( DetSetVector< T > &&  )
default

Member Function Documentation

template<typename T>
Item& edmNew::DetSetVector< T >::addItem ( id_type  iid,
size_type  isize 
)
inlineprivate

Definition at line 466 of file DetSetVectorNew.h.

template<typename T>
const_iterator edmNew::DetSetVector< T >::begin ( bool  update = false) const
inline
template<typename T>
static short edmNew::DetSetVector< T >::Class_Version ( )
inlinestatic

Definition at line 582 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::clean ( )
inline

Definition at line 430 of file DetSetVectorNew.h.

template<typename T>
data_type const* edmNew::DetSetVector< T >::data ( size_t  cell) const
inline
template<typename T>
DataContainer const& edmNew::DetSetVector< T >::data ( ) const
inline

Definition at line 578 of file DetSetVectorNew.h.

template<typename T>
size_type edmNew::DetSetVector< T >::dataSize ( ) const
inline

Definition at line 551 of file DetSetVectorNew.h.

Referenced by ClusterChecker::tooManyClusters().

template<typename T>
size_type edmNew::DetSetVector< T >::detsetSize ( size_t  cell) const
inline

Definition at line 565 of file DetSetVectorNew.h.

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

Definition at line 548 of file DetSetVectorNew.h.

template<typename T>
const_iterator edmNew::DetSetVector< T >::end ( bool  update = false) const
inline
template<typename T>
template<typename CMP >
Range edmNew::DetSetVector< T >::equal_range ( id_type  i,
CMP  cmp,
bool  update = false 
) const
inline

Definition at line 538 of file DetSetVectorNew.h.

template<typename T>
bool edmNew::DetSetVector< T >::exists ( id_type  i) const
inline

Definition at line 482 of file DetSetVectorNew.h.

template<typename T>
const_iterator edmNew::DetSetVector< T >::find ( id_type  i,
bool  update = false 
) const
inline

Definition at line 508 of file DetSetVectorNew.h.

template<typename T>
const_IdIter edmNew::DetSetVector< T >::findItem ( id_type  i) const
inline

Definition at line 516 of file DetSetVectorNew.h.

template<typename T>
id_type edmNew::DetSetVector< T >::id ( size_t  cell) const
inline

Definition at line 567 of file DetSetVectorNew.h.

template<typename T>
IdContainer const& edmNew::DetSetVector< T >::ids ( ) const
inline

Definition at line 577 of file DetSetVectorNew.h.

template<typename T>
DetSet edmNew::DetSetVector< T >::insert ( id_type  iid,
data_type const *  idata,
size_type  isize 
)
inline

Definition at line 435 of file DetSetVectorNew.h.

template<typename T>
DetSet edmNew::DetSetVector< T >::insert ( id_type  iid,
size_type  isize 
)
inline

Definition at line 442 of file DetSetVectorNew.h.

template<typename T>
bool edmNew::DetSetVector< T >::isValid ( id_type  i) const
inline

Definition at line 486 of file DetSetVectorNew.h.

Referenced by core.AutoHandle.AutoHandle::ReallyLoad().

template<typename T>
Item const& edmNew::DetSetVector< T >::item ( size_t  cell) const
inline

Definition at line 571 of file DetSetVectorNew.h.

template<typename T>
bool edmNew::DetSetVector< T >::onDemand ( ) const
inline

Definition at line 398 of file DetSetVectorNew.h.

template<typename T>
data_type edmNew::DetSetVector< T >::operator() ( size_t  cell,
size_t  frame 
) const
inline

Definition at line 557 of file DetSetVectorNew.h.

template<typename T>
DetSetVector& edmNew::DetSetVector< T >::operator= ( const DetSetVector< T > &  )
delete
template<typename T>
DetSetVector& edmNew::DetSetVector< T >::operator= ( DetSetVector< T > &&  )
default
template<typename T>
DetSet edmNew::DetSetVector< T >::operator[] ( id_type  i) const
inline

Definition at line 500 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::pop_back ( id_type  iid)
inline

Definition at line 454 of file DetSetVectorNew.h.

template<typename T>
Item& edmNew::DetSetVector< T >::push_back ( id_type  iid)
inline

Definition at line 449 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::reserve ( size_t  isize,
size_t  dsize 
)
inline

Definition at line 414 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::resize ( size_t  isize,
size_t  dsize 
)
inline

Definition at line 425 of file DetSetVectorNew.h.

Referenced by Vispa.Gui.TextDialog.TextDialog::__init__().

template<typename T>
void edmNew::DetSetVector< T >::shrink_to_fit ( )
inline

Definition at line 419 of file DetSetVectorNew.h.

template<typename T>
size_type edmNew::DetSetVector< T >::size ( void  ) const
inline
template<typename T>
int edmNew::DetSetVector< T >::subdetId ( ) const
inline

Definition at line 546 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::swap ( DetSetVector< T > &  rh)
inline

Definition at line 402 of file DetSetVectorNew.h.

template<typename T>
void edmNew::DetSetVector< T >::swap ( IdContainer iic,
DataContainer idc 
)
inline

Definition at line 409 of file DetSetVectorNew.h.

template<typename T >
void edmNew::DetSetVector< T >::update ( Item const &  item) const
inlineprivate

Definition at line 631 of file DetSetVectorNew.h.

Referenced by Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom().

Friends And Related Function Documentation

template<typename T>
friend class ::TestDetSet
friend

Definition at line 586 of file DetSetVectorNew.h.

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

Definition at line 360 of file DetSetVectorNew.h.

template<typename T>
friend class FastFiller
friend

Definition at line 358 of file DetSetVectorNew.h.

template<typename T>
friend class FindForDetSetVector
friend

Definition at line 379 of file DetSetVectorNew.h.

template<typename T>
friend class TSFastFiller
friend

Definition at line 359 of file DetSetVectorNew.h.

Member Data Documentation

template<typename T>
DataContainer edmNew::DetSetVector< T >::m_data
mutableprivate

Definition at line 597 of file DetSetVectorNew.h.

template<typename T>
std::vector<Trans::Item> edmNew::DetSetVector< T >::m_ids
private

Definition at line 596 of file DetSetVectorNew.h.

template<typename T>
int edmNew::DetSetVector< T >::m_subdetId
private

Definition at line 591 of file DetSetVectorNew.h.