#include <DetSetVectorNew.h>
Classes | |
class | FastFiller |
class | FindForDetSetVector |
struct | IterHelp |
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_type > | DataContainer |
typedef std::vector< data_type > ::iterator | DataIter |
typedef edmNew::DetSet< T > | DetSet |
typedef dslv::LazyGetter< T > | Getter |
typedef unsigned int | id_type |
typedef std::vector< Item > | IdContainer |
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< T > | self |
typedef unsigned int | size_type |
typedef dstvdetails::DetSetVectorTrans | Trans |
typedef DetSet | value_type |
Public Member Functions | |
const_iterator | begin () const |
data_type const * | data (size_t cell) const |
DataContainer const & | data () const |
size_type | dataSize () const |
size_type | detsetSize (size_t cell) const |
DetSetVector (boost::shared_ptr< dslv::LazyGetter< T > > iGetter, const std::vector< det_id_type > &iDets, int isubdet=0) | |
DetSetVector (int isubdet=0) | |
bool | empty () const |
const_iterator | end () const |
template<typename CMP > | |
Range | equal_range (id_type i, CMP cmp) const |
bool | exists (id_type i) const |
const_iterator | find (id_type i) const |
const_IdIter | findItem (id_type i) const |
id_type | id (size_t cell) 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 |
data_type | operator() (size_t cell, size_t frame) const |
DetSet | operator[] (id_type i) const |
void | pop_back (id_type iid) |
Item & | push_back (id_type iid) |
void | reserve (size_t isize, size_t dsize) |
void | resize (size_t isize, size_t dsize) |
size_type | size () const |
int | subdetId () const |
void | swap (DetSetVector &rh) |
void | swap (IdContainer &iic, DataContainer &idc) |
void | update (Item const &item) const |
~DetSetVector () | |
Private Member Functions | |
Item & | addItem (id_type iid, size_type isize) |
void | updateImpl (Item &item) |
Private Attributes | |
DataContainer | m_data |
IdContainer | m_ids |
int | m_subdetId |
Friends | |
class | FastFiller |
class | FindForDetSetVector |
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 67 of file DetSetVectorNew.h.
typedef std::vector<data_type>::const_iterator edmNew::DetSetVector< T >::const_DataIter |
Definition at line 88 of file DetSetVectorNew.h.
typedef IdContainer::const_iterator edmNew::DetSetVector< T >::const_IdIter |
Definition at line 87 of file DetSetVectorNew.h.
typedef boost::transform_iterator<IterHelp,const_IdIter> edmNew::DetSetVector< T >::const_iterator |
Definition at line 107 of file DetSetVectorNew.h.
typedef std::pair<const_IdIter,const_DataIter> edmNew::DetSetVector< T >::const_IterPair |
Definition at line 89 of file DetSetVectorNew.h.
typedef T edmNew::DetSetVector< T >::data_type |
Definition at line 73 of file DetSetVectorNew.h.
typedef std::vector<data_type> edmNew::DetSetVector< T >::DataContainer |
Definition at line 83 of file DetSetVectorNew.h.
typedef std::vector<data_type>::iterator edmNew::DetSetVector< T >::DataIter |
Definition at line 85 of file DetSetVectorNew.h.
typedef edmNew::DetSet<T> edmNew::DetSetVector< T >::DetSet |
Definition at line 75 of file DetSetVectorNew.h.
typedef dslv::LazyGetter<T> edmNew::DetSetVector< T >::Getter |
Definition at line 76 of file DetSetVectorNew.h.
typedef unsigned int edmNew::DetSetVector< T >::id_type |
Reimplemented from edmNew::dstvdetails::DetSetVectorTrans.
Definition at line 72 of file DetSetVectorNew.h.
typedef std::vector<Item> edmNew::DetSetVector< T >::IdContainer |
Definition at line 82 of file DetSetVectorNew.h.
typedef IdContainer::iterator edmNew::DetSetVector< T >::IdIter |
Definition at line 84 of file DetSetVectorNew.h.
typedef Trans::Item edmNew::DetSetVector< T >::Item |
Definition at line 70 of file DetSetVectorNew.h.
typedef std::pair<IdIter,DataIter> edmNew::DetSetVector< T >::IterPair |
Definition at line 86 of file DetSetVectorNew.h.
typedef id_type edmNew::DetSetVector< T >::key_type |
Definition at line 79 of file DetSetVectorNew.h.
typedef std::pair<const_iterator,const_iterator> edmNew::DetSetVector< T >::Range |
Definition at line 108 of file DetSetVectorNew.h.
typedef edm::refhelper::FindForNewDetSetVector<data_type> edmNew::DetSetVector< T >::RefFinder |
Definition at line 91 of file DetSetVectorNew.h.
typedef edmNew::DetSetVector<T> edmNew::DetSetVector< T >::self |
Definition at line 74 of file DetSetVectorNew.h.
typedef unsigned int edmNew::DetSetVector< T >::size_type |
Reimplemented from edmNew::dstvdetails::DetSetVectorTrans.
Definition at line 71 of file DetSetVectorNew.h.
typedef dstvdetails::DetSetVectorTrans edmNew::DetSetVector< T >::Trans |
Definition at line 69 of file DetSetVectorNew.h.
typedef DetSet edmNew::DetSetVector< T >::value_type |
Definition at line 78 of file DetSetVectorNew.h.
edmNew::DetSetVector< T >::DetSetVector | ( | int | isubdet = 0 | ) | [inline, explicit] |
Definition at line 182 of file DetSetVectorNew.h.
: m_subdetId(isubdet) {}
edmNew::DetSetVector< T >::DetSetVector | ( | boost::shared_ptr< dslv::LazyGetter< T > > | iGetter, |
const std::vector< det_id_type > & | iDets, | ||
int | isubdet = 0 |
||
) | [inline] |
Definition at line 390 of file DetSetVectorNew.h.
References edmNew::dstvdetails::DetSetVectorTrans::getter, and edmNew::DetSetVector< T >::m_ids.
: m_subdetId(isubdet) { getter=iGetter; m_ids.reserve(iDets.size()); det_id_type sanityCheck = 0; for(std::vector<det_id_type>::const_iterator itDetId = iDets.begin(), itDetIdEnd = iDets.end(); itDetId != itDetIdEnd; ++itDetId) { assert(sanityCheck < *itDetId && "vector of det_id_type was not ordered"); sanityCheck = *itDetId; m_ids.push_back(*itDetId); } }
edmNew::DetSetVector< T >::~DetSetVector | ( | ) | [inline] |
Definition at line 189 of file DetSetVectorNew.h.
{
// delete content if T is pointer...
}
Item& edmNew::DetSetVector< T >::addItem | ( | id_type | iid, |
size_type | isize | ||
) | [inline, private] |
Definition at line 246 of file DetSetVectorNew.h.
References edmNew::dstvdetails::errorIdExists(), edmNew::DetSetVector< T >::m_data, edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by edmNew::DetSetVector< T >::insert(), and edmNew::DetSetVector< T >::push_back().
const_iterator edmNew::DetSetVector< T >::begin | ( | void | ) | const [inline] |
Definition at line 301 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), SiStripBaselineAnalyzer::analyze(), FWSiPixelClusterProxyBuilder::build(), FWSiPixelClusterDetProxyBuilder::build(), FWSiStripClusterProxyBuilder::build(), SeedClusterRemover::cleanup(), HLTTrackClusterRemover::cleanup(), TrackClusterRemover::cleanup(), SiStripFineDelayHit::closestCluster(), SiStripElectronAlgo::coarseHitSelection(), SiStripElectronAlgo::coarseMatchedHitSelection(), edmNew::copy(), SiPixelClusterModule::fill(), reco::CentralityProducer::filter(), ShallowSimhitClustersProducer::match_cluster(), SiStripClusterToDigiProducer::process(), ClusterSummaryProducer::produce(), ShallowClustersProducer::produce(), cms::SiPixelRecHitConverter::run(), and ClusterChecker::tooManyClusters().
{ return boost::make_transform_iterator(m_ids.begin(), IterHelp(*this)); }
data_type const* edmNew::DetSetVector< T >::data | ( | size_t | cell | ) | const [inline] |
Definition at line 337 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, and edmNew::DetSetVector< T >::m_ids.
Referenced by SiStripMonitorCluster::analyze(), SeedClusterRemover::cleanup(), HLTTrackClusterRemover::cleanup(), TrackClusterRemover::cleanup(), QcdLowPtDQM::fillPixels(), HLTPixelClusterShapeFilter::hltFilter(), edm::ContainerMaskTraits< edmNew::DetSetVector< T > >::indexFor(), CalibrationTrackSelector::isIsolated(), SiStripElectronAlgo::prepareEvent(), PlotRecHits::printPixelRecHits(), PlotRecHits::printStripRecHits(), PixelVertexProducerClusters::produce(), HIPixelClusterVtxProducer::produce(), CRackTrajectoryBuilder::SortHits(), and CosmicTrajectoryBuilder::SortHits().
DataContainer const& edmNew::DetSetVector< T >::data | ( | ) | const [inline] |
Definition at line 354 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data.
{ return m_data;}
size_type edmNew::DetSetVector< T >::dataSize | ( | ) | const [inline] |
Definition at line 327 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data.
Referenced by SeedClusterRemover::cleanup(), HLTTrackClusterRemover::cleanup(), TrackClusterRemover::cleanup(), edm::ContainerMaskTraits< edmNew::DetSetVector< T > >::size(), ClusterChecker::tooManyClusters(), and MeasurementTrackerImpl::updatePixels().
{ return m_data.size(); }
size_type edmNew::DetSetVector< T >::detsetSize | ( | size_t | cell | ) | const [inline] |
Definition at line 341 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
{ return m_ids[cell].size; }
bool edmNew::DetSetVector< T >::empty | ( | ) | const [inline] |
Definition at line 324 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by MeasurementTrackerImpl::updatePixels().
{ return m_ids.empty();}
const_iterator edmNew::DetSetVector< T >::end | ( | void | ) | const [inline] |
Definition at line 306 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by fireworks::addSiStripClusters(), SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), SiStripBaselineAnalyzer::analyze(), FWSiPixelClusterProxyBuilder::build(), FWSiPixelClusterDetProxyBuilder::build(), FWSiStripClusterProxyBuilder::build(), SeedClusterRemover::cleanup(), HLTTrackClusterRemover::cleanup(), TrackClusterRemover::cleanup(), SiStripFineDelayHit::closestCluster(), SiStripElectronAlgo::coarseHitSelection(), SiStripElectronAlgo::coarseMatchedHitSelection(), edmNew::copy(), SiPixelClusterModule::fill(), reco::CentralityProducer::filter(), edmNew::DetSetVector< T >::find(), ShallowSimhitClustersProducer::match_cluster(), SiStripClusterToDigiProducer::process(), ClusterSummaryProducer::produce(), ShallowClustersProducer::produce(), fireworks::pushNearbyPixelHits(), cms::SiPixelRecHitConverter::run(), ClusterChecker::tooManyClusters(), and MeasurementTrackerImpl::updatePixels().
{ return boost::make_transform_iterator(m_ids.end(), IterHelp(*this)); }
Range edmNew::DetSetVector< T >::equal_range | ( | id_type | i, |
CMP | cmp | ||
) | const [inline] |
Definition at line 314 of file DetSetVectorNew.h.
References i, edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by edmNew::DetSetVector< T >::findItem().
bool edmNew::DetSetVector< T >::exists | ( | id_type | i | ) | const [inline] |
Definition at line 262 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::findItem(), and edmNew::DetSetVector< T >::m_ids.
const_iterator edmNew::DetSetVector< T >::find | ( | id_type | i | ) | const [inline] |
Definition at line 287 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::findItem(), edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by fireworks::addSiStripClusters(), SiPixelTrackResidualSource::analyze(), SiPixelClusterModule::fill(), reco::CentralityProducer::filter(), ShallowSimhitClustersProducer::match_cluster(), fireworks::pushNearbyPixelHits(), and MeasurementTrackerImpl::updatePixels().
const_IdIter edmNew::DetSetVector< T >::findItem | ( | id_type | i | ) | const [inline] |
Definition at line 295 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::equal_range(), edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by edmNew::DetSetVector< T >::exists(), edmNew::DetSetVector< T >::find(), edmNew::DetSetVector< T >::isValid(), edmNew::DetSetVector< T >::operator[](), and edmNew::DetSetVector< T >::pop_back().
id_type edmNew::DetSetVector< T >::id | ( | size_t | cell | ) | const [inline] |
Definition at line 343 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by SiPixelHitEfficiencySource::analyze(), SiStripBaselineAnalyzer::analyze(), ClusterSummaryProducer::produce(), TopBottomClusterInfoProducer::produce(), ShallowClustersProducer::produce(), and MeasurementTrackerImpl::updateStrips().
{ return m_ids[cell].id; }
DetSet edmNew::DetSetVector< T >::insert | ( | id_type | iid, |
data_type const * | idata, | ||
size_type | isize | ||
) | [inline] |
Definition at line 215 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::addItem(), edmNew::copy(), edmNew::DetSetVector< T >::item(), edmNew::DetSetVector< T >::m_data, and edmNew::dstvdetails::DetSetVectorTrans::Item::offset.
DetSet edmNew::DetSetVector< T >::insert | ( | id_type | iid, |
size_type | isize | ||
) | [inline] |
Definition at line 222 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::addItem(), edmNew::DetSetVector< T >::item(), and edmNew::DetSetVector< T >::m_data.
bool edmNew::DetSetVector< T >::isValid | ( | id_type | i | ) | const [inline] |
Definition at line 266 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::findItem(), edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
{ const_IdIter p = findItem(i); return p!=m_ids.end() && (*p).offset!=-1; }
Item const& edmNew::DetSetVector< T >::item | ( | size_t | cell | ) | const [inline] |
Definition at line 347 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by edmNew::DetSetVector< T >::insert().
{ return m_ids[cell]; }
data_type edmNew::DetSetVector< T >::operator() | ( | size_t | cell, |
size_t | frame | ||
) | const [inline] |
Definition at line 333 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, and edmNew::DetSetVector< T >::m_ids.
DetSet edmNew::DetSetVector< T >::operator[] | ( | id_type | i | ) | const [inline] |
Definition at line 280 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::findItem(), edmNew::DetSetVector< T >::m_ids, AlCaHLTBitMon_ParallelJobs::p, and edmNew::dstvdetails::throw_range().
{ const_IdIter p = findItem(i); if (p==m_ids.end()) dstvdetails::throw_range(i); return DetSet(*this,*p); }
void edmNew::DetSetVector< T >::pop_back | ( | id_type | iid | ) | [inline] |
Definition at line 234 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::findItem(), edmNew::DetSetVector< T >::m_data, edmNew::DetSetVector< T >::m_ids, and AlCaHLTBitMon_ParallelJobs::p.
Item& edmNew::DetSetVector< T >::push_back | ( | id_type | iid | ) | [inline] |
Definition at line 229 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::addItem().
{ return addItem(iid,0); }
void edmNew::DetSetVector< T >::reserve | ( | size_t | isize, |
size_t | dsize | ||
) | [inline] |
Definition at line 204 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, and edmNew::DetSetVector< T >::m_ids.
void edmNew::DetSetVector< T >::resize | ( | size_t | isize, |
size_t | dsize | ||
) | [inline] |
Definition at line 209 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, and edmNew::DetSetVector< T >::m_ids.
size_type edmNew::DetSetVector< T >::size | ( | void | ) | const [inline] |
Definition at line 329 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_ids.
Referenced by SiPixelTrackResidualSource::analyze(), SeedClusterRemover::cleanup(), HLTTrackClusterRemover::cleanup(), TrackClusterRemover::cleanup(), myFilter::filter(), PixelVertexProducerClusters::produce(), and ClusterChecker::tooManyClusters().
{ return m_ids.size();}
int edmNew::DetSetVector< T >::subdetId | ( | ) | const [inline] |
Definition at line 322 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_subdetId.
{ return m_subdetId; }
void edmNew::DetSetVector< T >::swap | ( | DetSetVector< T > & | rh | ) | [inline] |
Definition at line 193 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, edmNew::DetSetVector< T >::m_ids, and edmNew::DetSetVector< T >::m_subdetId.
Referenced by cms::SiPixelClusterProducer::run(), and edmNew::DetSetVector< T >::swap().
void edmNew::DetSetVector< T >::swap | ( | IdContainer & | iic, |
DataContainer & | idc | ||
) | [inline] |
Definition at line 199 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::m_data, edmNew::DetSetVector< T >::m_ids, and edmNew::DetSetVector< T >::swap().
void edmNew::DetSetVector< T >::update | ( | Item const & | item | ) | const [inline] |
Definition at line 357 of file DetSetVectorNew.h.
References edmNew::DetSetVector< T >::updateImpl().
{ const_cast<self*>(this)->updateImpl(const_cast<Item&>(item)); }
void edmNew::DetSetVector< T >::updateImpl | ( | Item & | item | ) | [inline, private] |
Definition at line 408 of file DetSetVectorNew.h.
References alignCSCRings::ff, and edmNew::dstvdetails::DetSetVectorTrans::Item::offset.
Referenced by edmNew::DetSetVector< T >::update().
friend class FastFiller [friend] |
Definition at line 171 of file DetSetVectorNew.h.
friend class FindForDetSetVector [friend] |
Definition at line 180 of file DetSetVectorNew.h.
DataContainer edmNew::DetSetVector< T >::m_data [private] |
Definition at line 374 of file DetSetVectorNew.h.
Referenced by edmNew::DetSetVector< T >::addItem(), edmNew::DetSetVector< T >::data(), edmNew::DetSetVector< T >::dataSize(), edmNew::DetSetVector< T >::insert(), edmNew::DetSetVector< T >::operator()(), edmNew::DetSetVector< T >::pop_back(), edmNew::DetSetVector< T >::reserve(), edmNew::DetSetVector< T >::resize(), and edmNew::DetSetVector< T >::swap().
IdContainer edmNew::DetSetVector< T >::m_ids [private] |
Definition at line 373 of file DetSetVectorNew.h.
Referenced by edmNew::DetSetVector< T >::addItem(), edmNew::DetSetVector< T >::begin(), edmNew::DetSetVector< T >::data(), edmNew::DetSetVector< T >::detsetSize(), edmNew::DetSetVector< T >::DetSetVector(), edmNew::DetSetVector< T >::empty(), edmNew::DetSetVector< T >::end(), edmNew::DetSetVector< T >::equal_range(), edmNew::DetSetVector< T >::exists(), edmNew::DetSetVector< T >::find(), edmNew::DetSetVector< T >::findItem(), edmNew::DetSetVector< T >::id(), edmNew::DetSetVector< T >::isValid(), edmNew::DetSetVector< T >::item(), edmNew::DetSetVector< T >::operator()(), edmNew::DetSetVector< T >::operator[](), edmNew::DetSetVector< T >::pop_back(), edmNew::DetSetVector< T >::reserve(), edmNew::DetSetVector< T >::resize(), edmNew::DetSetVector< T >::size(), and edmNew::DetSetVector< T >::swap().
int edmNew::DetSetVector< T >::m_subdetId [private] |
Definition at line 370 of file DetSetVectorNew.h.
Referenced by edmNew::DetSetVector< T >::subdetId(), and edmNew::DetSetVector< T >::swap().