#include <PtrVectorBase.h>
Public Types | |
typedef unsigned long | key_type |
typedef key_type | size_type |
Public Member Functions | |
size_type | capacity () const |
Capacity of the RefVector. More... | |
void | clear () |
Clear the PtrVector. More... | |
bool | empty () const |
Is the RefVector empty. More... | |
bool | hasCache () const |
ProductID | id () const |
Accessor for product ID. More... | |
bool | isAvailable () const |
bool | isNonnull () const |
Checks for non-null. More... | |
bool | isNull () const |
Checks for null. More... | |
bool | isTransient () const |
bool | operator! () const |
Checks for null. More... | |
bool | operator== (PtrVectorBase const &iRHS) const |
void const * | product () const |
EDProductGetter const * | productGetter () const |
Accessor for product getter. More... | |
PtrVectorBase (ProductID const &productID, void const *prodPtr=0, EDProductGetter const *prodGetter=0) | |
void | reserve (size_type n) |
Reserve space for RefVector. More... | |
void | setProductGetter (EDProductGetter *iGetter) const |
size_type | size () const |
Size of the RefVector. More... | |
virtual | ~PtrVectorBase () |
Protected Member Functions | |
template<typename TPtr > | |
TPtr | makePtr (unsigned long iIndex) const |
template<typename TPtr > | |
TPtr | makePtr (std::vector< void const * >::const_iterator const iIt) const |
PtrVectorBase () | |
void | push_back_base (RefCore const &core, key_type iKey, void const *iData) |
void | swap (PtrVectorBase &other) |
swap More... | |
std::vector< void const * > ::const_iterator | void_begin () const |
std::vector< void const * > ::const_iterator | void_end () const |
Private Member Functions | |
void | checkCachedItems () const |
void | getProduct_ () const |
virtual std::type_info const & | typeInfo () const |
Private Attributes | |
std::vector< void const * > | cachedItems_ |
RefCore | core_ |
std::vector< key_type > | indicies_ |
Description: Base class for PtrVector
Usage: This class defines the common behavior for the PtrVector template class instances
Definition at line 32 of file PtrVectorBase.h.
typedef unsigned long edm::PtrVectorBase::key_type |
Definition at line 35 of file PtrVectorBase.h.
Definition at line 36 of file PtrVectorBase.h.
|
inlineexplicit |
Definition at line 38 of file PtrVectorBase.h.
|
virtual |
Definition at line 37 of file PtrVectorBase.cc.
|
protected |
Definition at line 34 of file PtrVectorBase.cc.
|
inline |
|
private |
Definition at line 129 of file PtrVectorBase.cc.
References cachedItems_, edm::hlt::Exception, id(), and edm::errors::InvalidReference.
Referenced by void_begin(), and void_end().
|
inline |
Clear the PtrVector.
Definition at line 77 of file PtrVectorBase.h.
References cachedItems_, core_, and indicies_.
Referenced by ConvertedPhotonProducer::buildCollections(), Vispa.Views.WidgetView.WidgetView::closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView::closeEvent(), Vispa.Share.FindAlgorithm.FindAlgorithm::findUsingFindDialog(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), HiBremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), ReducedEGProducer::produce(), Vispa.Views.LineDecayView.LineDecayView::setDataObjects(), Vispa.Views.WidgetView.WidgetView::setDataObjects(), BeautifulSoup.Tag::setString(), Vispa.Views.TreeView.TreeView::updateContent(), Vispa.Views.TableView.TableView::updateContent(), Vispa.Views.BoxDecayView.BoxDecayView::updateContent(), and Vispa.Views.PropertyView.PropertyView::updateContent().
|
inline |
Is the RefVector empty.
Definition at line 68 of file PtrVectorBase.h.
References indicies_.
Referenced by Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), Vispa.Gui.VispaWidget.TextField::setAutosizeFont(), Vispa.Gui.VispaWidget.TextField::setAutotruncate(), and pat::PATObject< ObjectType >::setOverlaps().
|
private |
Definition at line 95 of file PtrVectorBase.cc.
References cachedItems_, edm::hlt::Exception, edm::WrapperBase::fillPtrVector(), edm::EDProductGetter::getIt(), edm::EDProductGetter::getThinnedProducts(), hasCache(), indicies_, roll_playback::k, edm::errors::LogicError, product(), productGetter(), and typeInfo().
Referenced by isAvailable(), void_begin(), and void_end().
|
inline |
Definition at line 61 of file PtrVectorBase.h.
References cachedItems_.
Referenced by getProduct_(), isAvailable(), and makePtr().
|
inline |
Accessor for product ID.
Definition at line 56 of file PtrVectorBase.h.
References core_, and edm::RefCore::id().
Referenced by checkCachedItems(), pf2pat::TopProjectorAlgo< Top, Bottom >::printAncestors(), and pf2pat::TopProjectorAlgo< Top, Bottom >::processCollection().
bool edm::PtrVectorBase::isAvailable | ( | ) | const |
True if the data is in memory or is available in the Event No type checking is done.
Definition at line 73 of file PtrVectorBase.cc.
References cachedItems_, core_, getProduct_(), hasCache(), indicies_, edm::RefCore::isAvailable(), and productGetter().
|
inline |
Checks for non-null.
Definition at line 50 of file PtrVectorBase.h.
References core_, and edm::RefCore::isNonnull().
Referenced by isNull().
|
inline |
Checks for null.
Definition at line 46 of file PtrVectorBase.h.
References isNonnull().
Referenced by operator!().
|
inline |
Definition at line 88 of file PtrVectorBase.h.
References core_, and edm::RefCore::isTransient().
Referenced by makePtr().
|
inlineprotected |
Definition at line 114 of file PtrVectorBase.h.
References cachedItems_, hasCache(), indicies_, isTransient(), and productGetter().
|
inlineprotected |
Definition at line 128 of file PtrVectorBase.h.
References cachedItems_, hasCache(), indicies_, isTransient(), and productGetter().
|
inline |
bool edm::PtrVectorBase::operator== | ( | PtrVectorBase const & | iRHS | ) | const |
Definition at line 139 of file PtrVectorBase.cc.
References core_, cond::serialization::equal(), and indicies_.
|
inline |
|
inline |
Accessor for product getter.
Definition at line 59 of file PtrVectorBase.h.
References core_, and edm::RefCore::productGetter().
Referenced by getProduct_(), isAvailable(), and makePtr().
|
protected |
Definition at line 57 of file PtrVectorBase.cc.
References cachedItems_, core_, indicies_, and edm::RefCore::pushBackItem().
Referenced by edm::PtrVector< reco::FFTJPTJet >::push_back().
|
inline |
Reserve space for RefVector.
Definition at line 84 of file PtrVectorBase.h.
References cachedItems_, and indicies_.
|
inline |
Definition at line 86 of file PtrVectorBase.h.
References core_, and edm::RefCore::setProductGetter().
|
inline |
Size of the RefVector.
Definition at line 71 of file PtrVectorBase.h.
References indicies_.
Referenced by reco::SuperCluster::clustersSize(), NamedCandCombinerBase::combine(), reco::Conversion::EoverP(), reco::Conversion::EoverPrefittedTracks(), edm::helpers::ViewFiller< PtrVector< T > >::fill(), main(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), HybridClusterAlgo::makeSuperClusters(), pf2pat::TopProjectorAlgo< Top, Bottom >::maskAncestors(), reco::SuperCluster::preshowerClustersSize(), pf2pat::TopProjectorAlgo< Top, Bottom >::printAncestors(), and ReducedEGProducer::produce().
|
protected |
swap
Definition at line 50 of file PtrVectorBase.cc.
References cachedItems_, core_, indicies_, and edm::RefCore::swap().
Referenced by edm::PtrVector< reco::FFTJPTJet >::swap().
|
inlineprivatevirtual |
Reimplemented in edm::PtrVector< T >, edm::PtrVector< reco::FFTCaloJet >, edm::PtrVector< reco::JetID >, edm::PtrVector< reco::GenJet >, edm::PtrVector< reco::Jet >, edm::PtrVector< CaloTower >, edm::PtrVector< reco::PFCandidate >, edm::PtrVector< reco::BaseTau >, edm::PtrVector< reco::CastorJetID >, edm::PtrVector< reco::PFClusterJet >, edm::PtrVector< reco::JPTJet >, edm::PtrVector< CaloCluster >, edm::PtrVector< reco::FFTTrackJet >, edm::PtrVector< reco::FFTGenJet >, edm::PtrVector< reco::MET >, edm::PtrVector< reco::Photon >, edm::PtrVector< reco::BasicJet >, edm::PtrVector< reco::Candidate >, edm::PtrVector< reco::FFTBasicJet >, edm::PtrVector< Candidate >, edm::PtrVector< reco::PFTau >, edm::PtrVector< reco::TrackJet >, edm::PtrVector< reco::FFTPFJet >, edm::PtrVector< reco::GsfElectron >, edm::PtrVector< reco::CaloJet >, edm::PtrVector< reco::reco::PFCluster >, edm::PtrVector< reco::CaloCluster >, edm::PtrVector< reco::Muon >, edm::PtrVector< reco::PFJet >, and edm::PtrVector< reco::FFTJPTJet >.
Definition at line 144 of file PtrVectorBase.h.
Referenced by getProduct_().
|
inlineprotected |
Definition at line 102 of file PtrVectorBase.h.
References cachedItems_, checkCachedItems(), and getProduct_().
Referenced by edm::PtrVector< reco::FFTJPTJet >::begin().
|
inlineprotected |
Definition at line 107 of file PtrVectorBase.h.
References cachedItems_, checkCachedItems(), and getProduct_().
Referenced by edm::PtrVector< reco::FFTJPTJet >::end().
|
mutableprivate |
Definition at line 154 of file PtrVectorBase.h.
Referenced by checkCachedItems(), clear(), getProduct_(), hasCache(), isAvailable(), makePtr(), push_back_base(), reserve(), swap(), void_begin(), and void_end().
|
private |
Definition at line 152 of file PtrVectorBase.h.
Referenced by clear(), id(), isAvailable(), isNonnull(), isTransient(), operator==(), productGetter(), push_back_base(), setProductGetter(), and swap().
|
private |
Definition at line 153 of file PtrVectorBase.h.
Referenced by capacity(), clear(), empty(), getProduct_(), isAvailable(), makePtr(), operator==(), push_back_base(), reserve(), size(), and swap().