CMS 3D CMS Logo

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_IdIterconst_iterator
 
typedef std::pair< const_IdIter, const_DataIterconst_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, DataIterIterPair
 
typedef id_type key_type
 
typedef std::pair< const_iterator, const_iteratorRange
 
typedef edm::refhelper::FindForNewDetSetVector< data_typeRefFinder
 
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 &)=default
 
 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 &rh)
 
 DetSetVectorTrans (DetSetVectorTrans &&rh)
 
DetSetVectorTransoperator= (const DetSetVectorTrans &)=delete
 
DetSetVectorTransoperator= (DetSetVectorTrans &&rh)
 
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< size_typem_dataSize
 
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 199 of file DetSetVectorNew.h.

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

Definition at line 198 of file DetSetVectorNew.h.

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

Definition at line 220 of file DetSetVectorNew.h.

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

Definition at line 200 of file DetSetVectorNew.h.

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

Definition at line 184 of file DetSetVectorNew.h.

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

Definition at line 194 of file DetSetVectorNew.h.

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

Definition at line 196 of file DetSetVectorNew.h.

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

Definition at line 186 of file DetSetVectorNew.h.

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

Definition at line 187 of file DetSetVectorNew.h.

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

Definition at line 183 of file DetSetVectorNew.h.

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

Definition at line 193 of file DetSetVectorNew.h.

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

Definition at line 195 of file DetSetVectorNew.h.

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

Definition at line 181 of file DetSetVectorNew.h.

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

Definition at line 197 of file DetSetVectorNew.h.

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

Definition at line 190 of file DetSetVectorNew.h.

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

Definition at line 221 of file DetSetVectorNew.h.

Definition at line 202 of file DetSetVectorNew.h.

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

Definition at line 185 of file DetSetVectorNew.h.

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

Definition at line 182 of file DetSetVectorNew.h.

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

Definition at line 180 of file DetSetVectorNew.h.

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

Definition at line 189 of file DetSetVectorNew.h.

Constructor & Destructor Documentation

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

Definition at line 435 of file DetSetVectorNew.h.

435  :
436  m_subdetId(isubdet) {}
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 442 of file DetSetVectorNew.h.

442  {
443  // delete content if T is pointer...
444  }
template<typename T>
edmNew::DetSetVector< T >::DetSetVector ( const DetSetVector< T > &  )
default
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 529 of file DetSetVectorNew.h.

References edmNew::dstvdetails::errorIdExists(), pfDeepBoostedJetPreprocessParams_cfi::lower_bound, eostools::move(), and AlCaHLTBitMon_ParallelJobs::p.

529  {
530  Item it(iid,size_type(m_data.size()),isize);
531  IdIter p = std::lower_bound(m_ids.begin(),
532  m_ids.end(),
533  it);
534  if (p!=m_ids.end() && !(it<*p)) dstvdetails::errorIdExists(iid);
535  return *m_ids.insert(p,std::move(it));
536  }
std::vector< Trans::Item > m_ids
IdContainer::iterator IdIter
void errorIdExists(det_id_type iid)
def move(src, dest)
Definition: eostools.py:511
template<typename T>
const_iterator edmNew::DetSetVector< T >::begin ( bool  update = false) const
inline

Definition at line 586 of file DetSetVectorNew.h.

References update.

Referenced by OuterTrackerMonitorTTCluster::analyze(), OuterTrackerMonitorTTStub::analyze(), SiPixelPhase1TrackClustersV::analyze(), SiPixelPhase1RecHitsV::analyze(), SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), HitEff::analyze(), PixelLumiDQM::analyze(), FWPhase2TrackerCluster1DDetProxyBuilder::build(), FWSiPixelClusterDetProxyBuilder::build(), FWSiStripClusterProxyBuilder::build(), FWPhase2TrackerCluster1DProxyBuilder::build(), FWSiPixelClusterProxyBuilder::build(), HLTTrackClusterRemoverNew::cleanup(), HITrackClusterRemover::cleanup(), SiStripFineDelayHit::closestCluster(), SiStripElectronAlgo::coarseHitSelection(), SiStripElectronAlgo::coarseMatchedHitSelection(), edmNew::copy(), MultiplicityProducer< T >::detSetMultiplicity(), HITrackingRegionProducer::estimateMultiplicity(), SiPixelClusterModule::fill(), SiStripCommissioningSource::fillHistos(), TrackingNtuple::fillPhase2OTHits(), TrackingNtuple::fillPixelHits(), TrackingNtuple::fillStripMatchedHits(), ClusterMultiplicityFilter::filter(), SiPixelClusterSource::getrococcupancye(), Vx3DHLTAnalyzer::HitCounter(), HLTPixelActivityFilter::hltFilter(), ShallowSimhitClustersProducer::match_cluster(), SiStripClusterToDigiProducer::process(), TTStubBuilder< T >::produce(), ShallowClustersProducer::produce(), JetCoreClusterSplitter::produce(), PixelClusterSelectorTopBottom::produce(), reco::CentralityProducer::produce(), FastPrimaryVertexWithWeightsProducer::produce(), ClusterSummaryProducer::produce(), FastPrimaryVertexProducer::produce(), MTDTrackingRecHitProducer::run(), cms::SiPixelRecHitConverter::run(), dqm::TrackAnalyzer::setLumi(), ClusterChecker::tooManyClusters(), MeasurementTrackerEventProducer::updatePhase2OT(), and MeasurementTrackerEventProducer::updatePixels().

586  {
587  return boost::make_transform_iterator(m_ids.begin(),
588  IterHelp(*this,update));
589  }
void update(Item const &item) const
std::vector< Trans::Item > m_ids
template<typename T>
static short edmNew::DetSetVector< T >::Class_Version ( )
inlinestatic

Definition at line 645 of file DetSetVectorNew.h.

647 :
648  //for testing
template<typename T>
void edmNew::DetSetVector< T >::clean ( )
inline

Definition at line 489 of file DetSetVectorNew.h.

References funct::m.

489  {
490  m_ids.erase(std::remove_if(m_ids.begin(),m_ids.end(),[](Item const& m){ return 0==m.size;}),m_ids.end());
491  }
std::vector< Trans::Item > m_ids
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 641 of file DetSetVectorNew.h.

641 { return m_data;}
template<typename T>
size_type edmNew::DetSetVector< T >::dataSize ( ) const
inline
template<typename T>
size_type edmNew::DetSetVector< T >::detsetSize ( size_t  cell) const
inline

Definition at line 628 of file DetSetVectorNew.h.

628 { return m_ids[cell].size; }
std::vector< Trans::Item > m_ids
template<typename T>
bool edmNew::DetSetVector< T >::empty ( ) const
inline
template<typename T>
const_iterator edmNew::DetSetVector< T >::end ( bool  update = false) const
inline

Definition at line 592 of file DetSetVectorNew.h.

References update.

Referenced by fireworks::addSiStripClusters(), OuterTrackerMonitorTTStub::analyze(), OuterTrackerMonitorTTCluster::analyze(), SiPixelPhase1TrackClustersV::analyze(), SiPixelPhase1RecHitsV::analyze(), SiPixelRecHitsValid::analyze(), SiPixelHitEfficiencySource::analyze(), SiPixelTrackResidualSource::analyze(), SiPixelRecHitSource::analyze(), PixelLumiDQM::analyze(), HitEff::analyze(), SiPixelErrorEstimation::analyze(), SiPixelTrackingRecHitsValid::analyze(), FWPhase2TrackerCluster1DDetProxyBuilder::build(), FWSiPixelClusterDetProxyBuilder::build(), FWSiStripClusterProxyBuilder::build(), FWPhase2TrackerCluster1DProxyBuilder::build(), FWSiPixelClusterProxyBuilder::build(), HLTTrackClusterRemoverNew::cleanup(), HITrackClusterRemover::cleanup(), SiStripFineDelayHit::closestCluster(), SiStripElectronAlgo::coarseHitSelection(), SiStripElectronAlgo::coarseMatchedHitSelection(), edmNew::copy(), Types.LuminosityBlockRange::cppID(), Types.EventRange::cppID(), MultiplicityProducer< T >::detSetMultiplicity(), HITrackingRegionProducer::estimateMultiplicity(), SiPixelClusterModule::fill(), SiStripCommissioningSource::fillHistos(), TrackingNtuple::fillPhase2OTHits(), TrackingNtuple::fillPixelHits(), TrackingNtuple::fillStripMatchedHits(), GlobalRecHitsAnalyzer::fillTrk(), GlobalRecHitsProducer::fillTrk(), ClusterMultiplicityFilter::filter(), SiPixelClusterSource::getrococcupancye(), Vx3DHLTAnalyzer::HitCounter(), HLTPixelActivityFilter::hltFilter(), ShallowSimhitClustersProducer::match_cluster(), SiStripClusterToDigiProducer::process(), TTStubBuilder< T >::produce(), ShallowClustersProducer::produce(), JetCoreClusterSplitter::produce(), PixelClusterSelectorTopBottom::produce(), TopBottomClusterInfoProducer::produce(), ConvBremSeedProducer::produce(), reco::CentralityProducer::produce(), FastPrimaryVertexWithWeightsProducer::produce(), ClusterSummaryProducer::produce(), FastPrimaryVertexProducer::produce(), fireworks::pushNearbyPixelHits(), MTDTrackingRecHitProducer::run(), cms::SiPixelRecHitConverter::run(), dqm::TrackAnalyzer::setLumi(), ClusterChecker::tooManyClusters(), MeasurementTrackerEventProducer::updatePhase2OT(), and MeasurementTrackerEventProducer::updatePixels().

592  {
593  return boost::make_transform_iterator(m_ids.end(),
594  IterHelp(*this,update));
595  }
void update(Item const &item) const
std::vector< Trans::Item > m_ids
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 601 of file DetSetVectorNew.h.

References mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, and update.

Referenced by ctfseeding::HitExtractorSTRP::hits(), and TrackExtenderWithMTDT< TrackCollection >::produce().

601  {
602  std::pair<const_IdIter,const_IdIter> p =
603  std::equal_range(m_ids.begin(),m_ids.end(),i,cmp);
604  return Range(boost::make_transform_iterator(p.first,IterHelp(*this,update)),
605  boost::make_transform_iterator(p.second,IterHelp(*this,update))
606  );
607  }
void update(Item const &item) const
std::vector< Trans::Item > m_ids
std::pair< const_iterator, const_iterator > Range
template<typename T>
bool edmNew::DetSetVector< T >::exists ( id_type  i) const
inline

Definition at line 545 of file DetSetVectorNew.h.

545  {
546  return findItem(i)!=m_ids.end();
547  }
const_IdIter findItem(id_type i) const
std::vector< Trans::Item > m_ids
template<typename T>
const_iterator edmNew::DetSetVector< T >::find ( id_type  i,
bool  update = false 
) const
inline
template<typename T>
const_IdIter edmNew::DetSetVector< T >::findItem ( id_type  i) const
inline

Definition at line 579 of file DetSetVectorNew.h.

References AlCaHLTBitMon_ParallelJobs::p.

579  {
580  std::pair<const_IdIter,const_IdIter> p =
581  std::equal_range(m_ids.begin(),m_ids.end(),Item(i));
582  return (p.first!=p.second) ? p.first : m_ids.end();
583  }
std::vector< Trans::Item > m_ids
template<typename T>
id_type edmNew::DetSetVector< T >::id ( size_t  cell) const
inline
template<typename T>
IdContainer const& edmNew::DetSetVector< T >::ids ( ) const
inline

Definition at line 640 of file DetSetVectorNew.h.

640 { return m_ids;}
std::vector< Trans::Item > m_ids
template<typename T>
DetSet edmNew::DetSetVector< T >::insert ( id_type  iid,
data_type const *  idata,
size_type  isize 
)
inline

Definition at line 494 of file DetSetVectorNew.h.

References popcon2dropbox::copy(), and edmNew::dstvdetails::DetSetVectorTrans::Item::offset.

Referenced by BeautifulSoup.PageElement::append(), and PixelFEDChannelCollectionProducer::produce().

494  {
495  Item & item = addItem(iid,isize);
496  m_data.resize(m_data.size()+isize);
497  std::copy(idata,idata+isize,m_data.begin()+item.offset);
498  m_dataSize = m_data.size();
499  return DetSet(*this,item,false);
500  }
def copy(args, dbName)
Item const & item(size_t cell) const
Item & addItem(id_type iid, size_type isize)
std::atomic< size_type > m_dataSize
edmNew::DetSet< T > DetSet
template<typename T>
DetSet edmNew::DetSetVector< T >::insert ( id_type  iid,
size_type  isize 
)
inline

Definition at line 502 of file DetSetVectorNew.h.

Referenced by BeautifulSoup.PageElement::append().

502  {
503  Item & item = addItem(iid,isize);
504  m_data.resize(m_data.size()+isize);
505  m_dataSize = m_data.size();
506  return DetSet(*this,item,false);
507  }
Item const & item(size_t cell) const
Item & addItem(id_type iid, size_type isize)
std::atomic< size_type > m_dataSize
edmNew::DetSet< T > DetSet
template<typename T>
bool edmNew::DetSetVector< T >::isValid ( id_type  i) const
inline

Definition at line 549 of file DetSetVectorNew.h.

References AlCaHLTBitMon_ParallelJobs::p.

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

549  {
551  return p!=m_ids.end() && (*p).isValid();
552  }
const_IdIter findItem(id_type i) const
std::vector< Trans::Item > m_ids
IdContainer::const_iterator const_IdIter
template<typename T>
Item const& edmNew::DetSetVector< T >::item ( size_t  cell) const
inline
template<typename T>
bool edmNew::DetSetVector< T >::onDemand ( ) const
inline

Definition at line 456 of file DetSetVectorNew.h.

456 { return !m_getter.empty();}
template<typename T>
data_type edmNew::DetSetVector< T >::operator() ( size_t  cell,
size_t  frame 
) const
inline

Definition at line 620 of file DetSetVectorNew.h.

620  {
621  return m_data[m_ids[cell].offset+frame];
622  }
std::vector< Trans::Item > m_ids
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 563 of file DetSetVectorNew.h.

References AlCaHLTBitMon_ParallelJobs::p, and edmNew::dstvdetails::throw_range().

563  {
565  if (p==m_ids.end()) dstvdetails::throw_range(i);
566  return DetSet(*this,*p,true);
567  }
const_IdIter findItem(id_type i) const
std::vector< Trans::Item > m_ids
void throw_range(det_id_type iid)
IdContainer::const_iterator const_IdIter
edmNew::DetSet< T > DetSet
template<typename T>
void edmNew::DetSetVector< T >::pop_back ( id_type  iid)
inline

Definition at line 515 of file DetSetVectorNew.h.

References AlCaHLTBitMon_ParallelJobs::p.

515  {
516  const_IdIter p = findItem(iid);
517  if (p==m_ids.end()) return; //bha!
518  // sanity checks... (shall we throw or assert?)
519  if ( (*p).isValid() && (*p).size>0 &&
520  m_data.size()==(*p).offset+(*p).size) {
521  m_data.resize((*p).offset);
522  m_dataSize = m_data.size();
523  }
524  m_ids.erase(m_ids.begin()+(p-m_ids.begin()));
525  }
const_IdIter findItem(id_type i) const
std::vector< Trans::Item > m_ids
std::atomic< size_type > m_dataSize
IdContainer::const_iterator const_IdIter
template<typename T>
Item& edmNew::DetSetVector< T >::push_back ( id_type  iid)
inline

Definition at line 510 of file DetSetVectorNew.h.

Referenced by TTClusterBuilder< T >::produce(), and TTStubBuilder< T >::produce().

510  {
511  return addItem(iid,0);
512  }
Item & addItem(id_type iid, size_type isize)
template<typename T>
void edmNew::DetSetVector< T >::reserve ( size_t  isize,
size_t  dsize 
)
inline

Definition at line 472 of file DetSetVectorNew.h.

472  {
473  m_ids.reserve(isize);
474  m_data.reserve(dsize);
475  }
std::vector< Trans::Item > m_ids
template<typename T>
void edmNew::DetSetVector< T >::resize ( size_t  isize,
size_t  dsize 
)
inline
template<typename T>
void edmNew::DetSetVector< T >::shrink_to_fit ( )
inline

Definition at line 477 of file DetSetVectorNew.h.

References clean.

477  {
478  clean();
479  m_ids.shrink_to_fit();
480  m_data.shrink_to_fit();
481  }
std::vector< Trans::Item > m_ids
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 609 of file DetSetVectorNew.h.

609 { return m_subdetId; }
template<typename T>
void edmNew::DetSetVector< T >::swap ( DetSetVector< T > &  rh)
inline

Definition at line 460 of file DetSetVectorNew.h.

References edmNew::DetSetVector< T >::m_data, edmNew::DetSetVector< T >::m_ids, edmNew::DetSetVector< T >::m_subdetId, edm::swap(), and std::swap().

Referenced by SiPixelClusterProducer::run().

460  {
462  std::swap(m_subdetId,rh.m_subdetId);
463  std::swap(m_ids,rh.m_ids);
464  std::swap(m_data,rh.m_data);
465  }
std::vector< Trans::Item > m_ids
void swap(Association< C > &lhs, Association< C > &rhs)
Definition: Association.h:116
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
template<typename T>
void edmNew::DetSetVector< T >::swap ( IdContainer iic,
DataContainer idc 
)
inline

Definition at line 467 of file DetSetVectorNew.h.

References std::swap().

467  {
468  std::swap(m_ids,iic);
469  std::swap(m_data,idc);
470  }
std::vector< Trans::Item > m_ids
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
template<typename T>
void edmNew::DetSetVector< T >::update ( Item const &  item) const
inlineprivate

Definition at line 694 of file DetSetVectorNew.h.

References alignCSCRings::ff, edmNew::dstvdetails::DetSetVectorTrans::Item::initialize(), edmNew::dstvdetails::DetSetVectorTrans::Item::initializing(), and edmNew::dstvdetails::DetSetVectorTrans::Item::isValid().

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), edmNew::DetSet< T >::set(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

694  {
695  // no m_getter or already updated
696  if (m_getter.empty()) { assert(item.isValid()); return;}
697  if (item.initialize() ){
698  assert(item.initializing());
699  {
700  TSFastFiller ff(*this,item);
701  (*boost::any_cast<std::shared_ptr<Getter> >(&m_getter))->fill(ff);
702  }
703  assert(item.isValid());
704  }
705  }
friend class TSFastFiller
Item const & item(size_t cell) const

Friends And Related Function Documentation

template<typename T>
friend class ::TestDetSet
friend

Definition at line 649 of file DetSetVectorNew.h.

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

Definition at line 411 of file DetSetVectorNew.h.

template<typename T>
friend class FastFiller
friend

Definition at line 409 of file DetSetVectorNew.h.

template<typename T>
friend class FindForDetSetVector
friend

Definition at line 433 of file DetSetVectorNew.h.

template<typename T>
friend class TSFastFiller
friend

Definition at line 410 of file DetSetVectorNew.h.

Member Data Documentation

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

Definition at line 659 of file DetSetVectorNew.h.

Referenced by edmNew::DetSetVector< T >::swap().

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

Definition at line 654 of file DetSetVectorNew.h.

Referenced by edmNew::DetSetVector< T >::swap().