#include <DataFormats/Common/interface/Ptr.h>
Public Types | |
typedef unsigned long | key_type |
typedef T | value_type |
Public Member Functions | |
T const * | get () const |
Returns C++ pointer to the item. More... | |
bool | hasProductCache () 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 |
Checks if this Ptr is transient (i.e. not persistable). More... | |
key_type | key () const |
bool | operator! () const |
Checks for null. More... | |
T const & | operator* () const |
Dereference operator. More... | |
T const * | operator-> () const |
Member dereference operator. More... | |
void const * | product () const |
EDProductGetter const * | productGetter () const |
Accessor for product getter. More... | |
template<typename C > | |
Ptr (Handle< C > const &handle, key_type itemKey, bool setNow=true) | |
template<typename C > | |
Ptr (OrphanHandle< C > const &handle, key_type itemKey, bool setNow=true) | |
template<typename C > | |
Ptr (C const *product, key_type itemKey, bool setNow=true) | |
template<typename C > | |
Ptr (TestHandle< C > const &handle, key_type itemKey, bool setNow=true) | |
Ptr (ProductID const &productID, key_type itemKey, EDProductGetter const *prodGetter) | |
Ptr (ProductID const &productID, T const *item, key_type item_key) | |
Ptr (ProductID const &id) | |
Ptr () | |
Ptr (Ptr< T > const &iOther) | |
template<typename U > | |
Ptr (Ptr< U > const &iOther, typename boost::enable_if_c< boost::is_base_of< T, U >::value >::type *=0) | |
template<typename U > | |
Ptr (Ptr< U > const &iOther, typename boost::enable_if_c< boost::is_base_of< U, T >::value >::type *=0) | |
RefCore const & | refCore () const |
~Ptr () | |
Destructor. More... | |
Private Member Functions | |
void | getData_ () const |
template<typename C > | |
T const * | getItem_ (C const *product, key_type iKey) |
Ptr (T const *item, key_type item_key) | |
Private Attributes | |
RefCore | core_ |
key_type | key_ |
Friends | |
class | PtrVectorBase |
Description: Persistent 'pointer' to an item in a collection where the collection is in the edm::Event
Usage: <usage>
Definition at line 51 of file AssociativeIterator.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Constructor for those users who do not have a product handle, but have a pointer to a product getter (such as the EventPrincipal). prodGetter will ususally be a pointer to the event principal.
Definition at line 82 of file Ptr.h.
|
inline |
Constructor for use in the various X::fillView(...) functions or for extracting a persistent Ptr from a PtrVector. It is an error (not diagnosable at compile- or run-time) to call this constructor with a pointer to a T unless the pointed-to T object is already in a collection of type C stored in the Event. The given ProductID must be the id of the collection in the Event.
Definition at line 93 of file Ptr.h.
|
inline |
|
inlineexplicit |
Returns C++ pointer to the item.
Definition at line 148 of file Ptr.h.
Referenced by Options.Options::__getitem__(), pat::Jet::cacheCaloTowers(), pat::Jet::cachePFCandidates(), edm::FwdPtr< T >::get(), pat::EventHypothesis::getAs(), reco::CaloJet::getCaloConstituent(), pat::Jet::getCaloConstituent(), MultipleAlgoIterator::getEt(), ParametrizedSubtractor::getEt(), MultipleAlgoIterator::getEta(), ParametrizedSubtractor::getEta(), reco::PFJet::getPFConstituent(), pat::Jet::getPFConstituent(), PileUpSubtractor::ieta(), cms::SubEventGenJetProducer::inputTowers(), VirtualJetProducer::inputTowers(), PileUpSubtractor::iphi(), pat::MET::MET(), reco::PFClusterJet::pfCluster(), EcalDigiSelector::produce(), pat::Tau::Tau(), and reco::TrackJet::track().
Definition at line 199 of file Ptr.h.
|
private |
Definition at line 217 of file Ptr.h.
References edm::detail::GetProduct< COLLECTION >::address().
Definition at line 176 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), edm::FwdPtr< T >::hasProductCache(), and edm::PtrVector< Candidate >::push_back().
Accessor for product ID.
Definition at line 169 of file Ptr.h.
Referenced by pat::PATUserDataMerger< ObjectType, Operation >::add(), pat::Jet::cacheCaloTowers(), pat::Jet::cachePFCandidates(), ConvertedPhotonProducer::cleanCollections(), pat::PATElectronProducer::fillElectron2(), reco::CaloJet::getCaloConstituent(), pat::Jet::getCaloConstituent(), reco::PFJet::getPFConstituent(), pat::Jet::getPFConstituent(), edm::FwdPtr< T >::id(), reco::operator<<(), pat::helper::RefHelper< T >::parentOrNull(), reco::Jet::print(), pat::PATMuonProducer::produce(), pat::PATElectronProducer::produce(), TopProjector< Top, Bottom >::ptrToAncestor(), pat::helper::RefHelper< T >::recursiveLookup(), ConvertedPhotonProducer::solveAmbiguity(), and metsig::SignPFSpecificAlgo::useOriginalPtrs().
Checks if collection is in memory or available in the event. No type checking is done.
Definition at line 163 of file Ptr.h.
Referenced by reco::CaloJet::getCaloConstituent(), reco::PFJet::getPFConstituent(), edm::FwdPtr< T >::isAvailable(), reco::PFClusterJet::pfCluster(), and reco::TrackJet::track().
Checks for non-null.
Definition at line 157 of file Ptr.h.
Referenced by reco::FlavorHistoryEvent::cache(), ConversionProducer::checkTrackPair(), reco::tau::RecoTauConstructor::convertToRef(), edm::FwdPtr< T >::get(), reco::CaloJet::getCaloConstituent(), reco::PFJet::getPFConstituent(), reco::FlavorHistory::hasMatchedJet(), reco::FlavorHistory::hasParton(), reco::FlavorHistory::hasProgenitor(), reco::FlavorHistory::hasSister(), reco::FlavorHistory::hasSisterJet(), edm::FwdPtr< T >::id(), pat::helper::RefHelper< T >::isAncestorOf(), edm::FwdPtr< T >::isNonnull(), edm::Ptr< reco::Muon >::isNull(), edm::FwdPtr< T >::key(), edm::FwdPtr< T >::operator*(), edm::FwdPtr< T >::operator->(), reco::PFCandidate::overlap(), pat::helper::RefHelper< T >::parentOrSelf(), reco::PFClusterJet::pfCluster(), reco::Jet::print(), pat::PATJetProducer::produce(), pat::helper::RefHelper< T >::recursiveLookup(), edm::FwdPtr< T >::refCore(), and reco::TrackJet::track().
Checks for null.
Definition at line 153 of file Ptr.h.
Referenced by pat::helper::RefHelper< T >::ancestorOrSelf(), pat::helper::OverlapBySuperClusterSeed::fillOverlapsForItem(), edm::PtrVector< T >::fillView(), edm::Ptr< reco::Muon >::get(), edm::Ptr< reco::Muon >::operator!(), reco::PFCandidate::overlap(), WMuNuProducer::produce(), pat::PATMuonProducer::produce(), pat::PATElectronProducer::produce(), and metsig::SignPFSpecificAlgo::useOriginalPtrs().
Checks if this Ptr is transient (i.e. not persistable).
Definition at line 166 of file Ptr.h.
Referenced by edm::FwdPtr< T >::isTransient().
Definition at line 174 of file Ptr.h.
Referenced by pat::Jet::cacheCaloTowers(), pat::Jet::cachePFCandidates(), ConvertedPhotonProducer::cleanCollections(), reco::tau::RecoTauConstructor::convertToRef(), reco::CaloJet::getCaloConstituent(), pat::Jet::getCaloConstituent(), reco::PFJet::getPFConstituent(), pat::Jet::getPFConstituent(), edm::FwdPtr< T >::key(), reco::tau::RecoTauPhotonFilter::operator()(), reco::FlavorHistory::operator<(), operator<<(), reco::operator<<(), reco::FlavorHistory::operator==(), edm::operator==(), reco::FlavorHistory::operator>(), reco::RecoTauPiZero::print(), reco::Jet::print(), pat::PATMuonProducer::produce(), pat::PATElectronProducer::produce(), TopProjector< Top, Bottom >::ptrToAncestor(), edm::PtrVector< Candidate >::push_back(), and ConvertedPhotonProducer::solveAmbiguity().
Member dereference operator.
Definition at line 238 of file Ptr.h.
References compareJSON::const.
Referenced by edm::Ptr< reco::Muon >::get().
|
inline |
Accessor for product getter.
Definition at line 172 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), and edm::FwdPtr< T >::productGetter().
Definition at line 178 of file Ptr.h.
Referenced by edm::operator==(), edm::PtrVector< Candidate >::push_back(), and edm::FwdPtr< T >::refCore().
|
friend |
Definition at line 211 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), edm::Ptr< reco::Muon >::hasProductCache(), edm::Ptr< reco::Muon >::id(), edm::Ptr< reco::Muon >::isAvailable(), edm::Ptr< reco::Muon >::isTransient(), edm::Ptr< reco::Muon >::productGetter(), and edm::Ptr< reco::Muon >::refCore().
Definition at line 212 of file Ptr.h.
Referenced by edm::Ptr< reco::Muon >::getData_(), edm::Ptr< reco::Muon >::isNonnull(), and edm::Ptr< reco::Muon >::key().