CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

edm::RefVector< C, T, F > Class Template Reference

#include <RefVector.h>

List of all members.

Public Types

typedef C collection_type
typedef iterator const_iterator
typedef value_type const const_reference
typedef RefVectorBase< key_typecontents_type
typedef F finder_type
typedef
refhelper::RefVectorTrait< C,
T, F >::iterator_type 
iterator
typedef value_type::key_type key_type
typedef std::vector< key_typeKeyVec
typedef T member_type
typedef const_reference reference
typedef KeyVec::size_type size_type
typedef
refhelper::RefVectorTrait< C,
T, F >::ref_type 
value_type

Public Member Functions

value_type const at (size_type idx) const
 Retrieve an element of the RefVector.
const_iterator begin () const
 Initialize an iterator over the RefVector.
size_type capacity () const
 Capacity of the RefVector.
void clear ()
 Clear the vector.
bool empty () const
 Is the RefVector empty.
const_iterator end () const
 Termination of iteration.
iterator erase (iterator const &pos)
 Erase an element from the vector.
void fillView (ProductID const &id, std::vector< void const * > &pointers, helper_vector &helpers) const
bool hasProductCache () const
 Checks if product is in memory.
ProductID id () const
 Accessor for product ID.
bool isAvailable () const
bool isNonnull () const
 Checks for non-null.
bool isNull () const
 Checks for null.
bool isTransient () const
 Checks if product collection is tansient (i.e. non persistable)
bool operator! () const
 Checks for null.
RefVectoroperator= (RefVector const &rhs)
 Copy assignment.
value_type const operator[] (size_type idx) const
 Retrieve an element of the RefVector.
C const * product () const
 Accessor for product collection.
EDProductGetter const * productGetter () const
 Accessor for product getter.
void push_back (value_type const &ref)
 Add a Ref<C, T> to the RefVector.
 RefVector ()
contents_type const & refVector () const
 Accessor for all data.
 RefVector (ProductID const &id)
void reserve (size_type n)
 Reserve space for RefVector.
size_type size () const
 Size of the RefVector.
void swap (RefVector< C, T, F > &other)
 Swap two vectors.

Private Attributes

contents_type refVector_

Detailed Description

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
class edm::RefVector< C, T, F >

Definition at line 35 of file RefVector.h.


Member Typedef Documentation

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef C edm::RefVector< C, T, F >::collection_type

Definition at line 37 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef iterator edm::RefVector< C, T, F >::const_iterator

Definition at line 41 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef value_type const edm::RefVector< C, T, F >::const_reference

Definition at line 43 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef RefVectorBase<key_type> edm::RefVector< C, T, F >::contents_type

Definition at line 52 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef F edm::RefVector< C, T, F >::finder_type

Definition at line 39 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef refhelper::RefVectorTrait<C, T, F>::iterator_type edm::RefVector< C, T, F >::iterator

Definition at line 40 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef value_type::key_type edm::RefVector< C, T, F >::key_type

Definition at line 47 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef std::vector<key_type> edm::RefVector< C, T, F >::KeyVec

Definition at line 48 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef T edm::RefVector< C, T, F >::member_type

Definition at line 38 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef const_reference edm::RefVector< C, T, F >::reference

Definition at line 44 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef KeyVec::size_type edm::RefVector< C, T, F >::size_type

Definition at line 51 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef refhelper::RefVectorTrait<C, T, F>::ref_type edm::RefVector< C, T, F >::value_type

Definition at line 42 of file RefVector.h.


Constructor & Destructor Documentation

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::RefVector< C, T, F >::RefVector ( ) [inline]

Default constructor needed for reading from persistent store. Not for direct use.

Definition at line 56 of file RefVector.h.

: refVector_() {}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
edm::RefVector< C, T, F >::RefVector ( ProductID const &  id) [inline]

Definition at line 58 of file RefVector.h.

: refVector_(id) {}

Member Function Documentation

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
value_type const edm::RefVector< C, T, F >::at ( size_type  idx) const [inline]
template<typename C , typename T , typename F >
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::begin ( void  ) const

Initialize an iterator over the RefVector.

Definition at line 238 of file RefVector.h.

References edm::RefVectorBase< KEY >::keys(), edm::RefVectorBase< KEY >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by FWTauProxyBuilderBase::addConstituentTracks(), GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), pat::TriggerEvent::algorithmObjects(), reco::GsfElectron::ambiguousGsfTracksBegin(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), reco::CompositeRefCandidate::begin(), RecoTrackRefSelector::begin(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), JetPlusTrackProducerAA::calculateBGtracksJet(), JetPlusTrackCorrector::calculateCorr(), reco::TauMassTagInfo::calculateTrkP4(), reco::HcalNoiseHPD::caloTowerEmE(), reco::HcalNoiseHPD::caloTowerEmFraction(), reco::HcalNoiseHPD::caloTowerHadE(), reco::HcalNoiseHPD::caloTowerTotalE(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), TagProbeFitTreeProducer::checkMother(), CommonHcalNoiseRBXData::CommonHcalNoiseRBXData(), reco::JetSignalVertexCompatibilityAlgo::compatibility(), pat::TriggerEvent::conditionInAlgorithm(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correctAA(), TrackingVertex::daughterTracks_begin(), TrackingParticle::decayVertices_begin(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), edm::RefVector< C, T, F >::erase(), JetPlusTrackCorrector::excludeJta(), VertexFitterResult::fill(), reco::HcalNoiseInfoProducer::filldigis(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), JPTJetAnalyzer::fillSiStripSoNForTracks(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterInPath(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), JPTJetAnalyzer::findPtFractionInCone(), GenParticlesHelper::findSisters(), JetPlusTrackCorrector::findTrack(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_begin(), TrackingVertex::genVertices_begin(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), JPTJetTester::getSumPt(), TauLeadTrackExtractor< reco::PFTau >::getTrackPtSum(), GenParticlesHelper::hasAncestor(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), ConvBremSeedProducer::isGsfTrack(), JetPlusTrackCorrector::jetDirFromTracks(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), JetPlusTrackCorrector::matchTracks(), reco::HcalNoiseHPD::maxRecHitTime(), TrackingTruthProducer::mergeBremsstrahlung(), reco::HcalNoiseHPD::minRecHitTime(), reco::HcalNoiseHPD::numRecHits(), pat::TriggerEvent::objectInAlgorithm(), pat::TriggerEvent::objectInPath(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), CombinedSVComputer::operator()(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), GhostTrackComputer::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), pat::TriggerEvent::pathObjects(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), PFRecoTauDecayModeDeterminator::produce(), RecoTauCleanerImpl< Prod >::produce(), JetPlusTrackProducerAA::produce(), JetPlusTrackProducer::produce(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), TCTauAlgorithm::recalculateEnergy(), reco::HcalNoiseHPD::recHitEnergy(), reco::TrackExtraBase::recHitsBegin(), reco::CastorTower::rechitsBegin(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), HPSPFRecoTauAlgorithm::removeCandidateFromRefVector(), TauMETAlgo::run(), reco::PFNuclearInteraction::secPFRecTracks_begin(), reco::NuclearInteraction::seeds_begin(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_begin(), ConeIsolationAlgorithm::tag(), PFRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), reco::CastorCluster::towersBegin(), reco::TrackKinematics::TrackKinematics(), reco::IsolatedTauTagInfo::tracksInCone(), and reco::HcalNoiseRBX::uniqueTowers().

                                                                            {
    return iterator(refVector_.refCore(), refVector_.keys().begin());
  }
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
size_type edm::RefVector< C, T, F >::capacity ( ) const [inline]

Capacity of the RefVector.

Definition at line 87 of file RefVector.h.

{return refVector_.capacity();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
void edm::RefVector< C, T, F >::clear ( void  ) [inline]
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::empty ( ) const [inline]
template<typename C , typename T , typename F >
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::end ( void  ) const

Termination of iteration.

Definition at line 243 of file RefVector.h.

References edm::RefVectorBase< KEY >::keys(), edm::RefVectorBase< KEY >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by FWTauProxyBuilderBase::addConstituentTracks(), GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), pat::TriggerEvent::algorithmObjects(), pat::TriggerEvent::algorithmRef(), reco::GsfElectron::ambiguousGsfTracksEnd(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), JetPlusTrackProducerAA::calculateBGtracksJet(), JetPlusTrackCorrector::calculateCorr(), reco::TauMassTagInfo::calculateTrkP4(), reco::HcalNoiseHPD::caloTowerEmE(), reco::HcalNoiseHPD::caloTowerEmFraction(), reco::HcalNoiseHPD::caloTowerHadE(), reco::HcalNoiseHPD::caloTowerTotalE(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), TagProbeFitTreeProducer::checkMother(), CommonHcalNoiseRBXData::CommonHcalNoiseRBXData(), reco::JetSignalVertexCompatibilityAlgo::compatibility(), pat::TriggerEvent::conditionInAlgorithm(), pat::TriggerEvent::conditionRef(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correctAA(), TrackingVertex::daughterTracks_end(), TrackingParticle::decayVertices_end(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), reco::CompositeRefCandidate::end(), RecoTrackRefSelector::end(), JetPlusTrackCorrector::excludeJta(), VertexFitterResult::fill(), reco::HcalNoiseInfoProducer::filldigis(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), JPTJetAnalyzer::fillSiStripSoNForTracks(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterInPath(), pat::TriggerEvent::filterRef(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), JPTJetAnalyzer::findPtFractionInCone(), GenParticlesHelper::findSisters(), JetPlusTrackCorrector::findTrack(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_end(), TrackingVertex::genVertices_end(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), JPTJetTester::getSumPt(), TauLeadTrackExtractor< reco::PFTau >::getTrackPtSum(), GenParticlesHelper::hasAncestor(), edm::OneToMany< JetC, reco::TrackCollection >::insert(), ConvBremSeedProducer::isGsfTrack(), JetPlusTrackCorrector::jetDirFromTracks(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), JetPlusTrackCorrector::matchTracks(), reco::HcalNoiseHPD::maxRecHitTime(), TrackingTruthProducer::mergeBremsstrahlung(), reco::HcalNoiseHPD::minRecHitTime(), reco::HcalNoiseHPD::numRecHits(), pat::TriggerEvent::objectInAlgorithm(), pat::TriggerEvent::objectInPath(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), CombinedSVComputer::operator()(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), GhostTrackComputer::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), pat::TriggerEvent::pathObjects(), pat::TriggerEvent::pathRef(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), PFRecoTauDecayModeDeterminator::produce(), RecoTauCleanerImpl< Prod >::produce(), JetPlusTrackProducerAA::produce(), JetPlusTrackProducer::produce(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), TCTauAlgorithm::recalculateEnergy(), reco::HcalNoiseHPD::recHitEnergy(), reco::TrackExtraBase::recHitsEnd(), reco::CastorTower::rechitsEnd(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), HPSPFRecoTauAlgorithm::removeCandidateFromRefVector(), TauMETAlgo::run(), reco::PFNuclearInteraction::secPFRecTracks_end(), reco::NuclearInteraction::seeds_end(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_end(), ConeIsolationAlgorithm::tag(), PFRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), reco::CastorCluster::towersEnd(), reco::TrackKinematics::TrackKinematics(), reco::IsolatedTauTagInfo::tracksInCone(), and reco::HcalNoiseRBX::uniqueTowers().

                                                                          {
    return iterator(refVector_.refCore(), refVector_.keys().end());
  }
template<typename C , typename T , typename F >
RefVector< C, T, F >::iterator edm::RefVector< C, T, F >::erase ( iterator const &  pos) [inline]

Erase an element from the vector.

Definition at line 228 of file RefVector.h.

References edm::RefVector< C, T, F >::begin(), edm::RefVectorBase< KEY >::eraseAtIndex(), getHLTprescales::index, parseEventContent::prod, edm::RefVectorBase< KEY >::refCore(), and edm::RefVector< C, T, F >::refVector_.

Referenced by HPSPFRecoTauAlgorithm::removeCandidateFromRefVector().

                                               {
    typename contents_type::keys_type::size_type index = pos - begin();
    typename contents_type::keys_type::iterator newPos = 
      refVector_.eraseAtIndex(index);
    RefCore const& prod = refVector_.refCore();
    //return typename RefVector<C, T, F>::iterator(prod, newPos);
    return iterator(prod, newPos);
  }
template<typename C , typename T , typename F >
void edm::RefVector< C, T, F >::fillView ( ProductID const &  id,
std::vector< void const * > &  pointers,
helper_vector helpers 
) const

Definition at line 174 of file RefVector.h.

References edm::RefVector< C, T, F >::begin(), edm::RefVector< C, T, F >::end(), h, i, combine::key, edm::RefVector< C, T, F >::product(), edm::reftobase::RefVectorHolderBase::push_back(), edm::reftobase::RefVectorHolderBase::reserve(), and edm::RefVector< C, T, F >::size().

Referenced by edm::fillView().

  {
    typedef Ref<C,T,F>                     ref_type;
    typedef reftobase::RefHolder<ref_type> holder_type;

    pointers.reserve(this->size());
    helpers.reserve(this->size());

    size_type key = 0;
    for (const_iterator i=begin(), e=end(); i!=e; ++i, ++key) {
      member_type const* address = i->isNull() ? 0 : &**i;
      pointers.push_back(address);
      holder_type h(ref_type(i->id(), address, i->key(), product() ));
      helpers.push_back( & h ); 
    }
  }
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::hasProductCache ( ) const [inline]

Checks if product is in memory.

Definition at line 137 of file RefVector.h.

{return refVector_.refCore().productPtr() != 0;}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
ProductID edm::RefVector< C, T, F >::id ( void  ) const [inline]

Accessor for product ID.

Definition at line 99 of file RefVector.h.

Referenced by edm::RefVector< TrackingRecHitCollection >::isNull(), and RecoTauJetRegionProducer::produce().

{return refVector_.refCore().id();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::isAvailable ( ) const [inline]

Checks if product collection is in memory or available in the Event. No type checking is done.

Definition at line 119 of file RefVector.h.

Referenced by EwkMuTauHistManager::fillHistograms().

{return refVector_.refCore().isAvailable();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::isNonnull ( ) const [inline]

Checks for non-null.

Definition at line 108 of file RefVector.h.

{return !isNull();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::isNull ( ) const [inline]

Checks for null.

Definition at line 105 of file RefVector.h.

Referenced by edm::RefVector< TrackingRecHitCollection >::isNonnull(), and edm::RefVector< TrackingRecHitCollection >::operator!().

{return !id().isValid();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::isTransient ( ) const [inline]

Checks if product collection is tansient (i.e. non persistable)

Definition at line 122 of file RefVector.h.

{return refVector_.refCore().isTransient();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
bool edm::RefVector< C, T, F >::operator! ( ) const [inline]

Checks for null.

Definition at line 111 of file RefVector.h.

{return isNull();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
RefVector& edm::RefVector< C, T, F >::operator= ( RefVector< C, T, F > const &  rhs)

Copy assignment.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
value_type const edm::RefVector< C, T, F >::operator[] ( size_type  idx) const [inline]

Retrieve an element of the RefVector.

Definition at line 64 of file RefVector.h.

                                                     {
      key_type const& key = refVector_.keys()[idx];
      RefCore const& prod = refVector_.refCore();
      return value_type(prod, key);
    }
template<typename C , typename T , typename F >
C const * edm::RefVector< C, T, F >::product ( ) const
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
EDProductGetter const* edm::RefVector< C, T, F >::productGetter ( ) const [inline]

Accessor for product getter.

Definition at line 102 of file RefVector.h.

{return refVector_.refCore().productGetter();}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
void edm::RefVector< C, T, F >::push_back ( value_type const &  ref) [inline]

Add a Ref<C, T> to the RefVector.

Definition at line 60 of file RefVector.h.

Referenced by pat::TriggerEvent::acceptedAlgorithms(), pat::TriggerEvent::acceptedAlgorithmsGtl(), pat::TriggerEvent::acceptedConditions(), pat::TriggerEvent::acceptedFilters(), pat::TriggerEvent::acceptedPaths(), pat::TriggerEvent::acceptedPhysAlgorithms(), pat::TriggerEvent::acceptedPhysAlgorithmsGtl(), pat::TriggerEvent::acceptedTechAlgorithms(), pat::TriggerEvent::acceptedTechAlgorithmsGtl(), reco::CastorTower::add(), reco::TrackExtraBase::add(), reco::CastorCluster::add(), reco::GsfElectron::addAmbiguousGsfTrack(), reco::PhotonCore::addConversion(), reco::CompositeRefCandidate::addDaughter(), TrackingVertex::addDaughterTrack(), TrackingParticle::addDecayVertex(), reco::PhotonCore::addElectronPixelSeed(), reco::PFCandidate::addElementInBlock(), TrackingParticle::addGenParticle(), TrackingVertex::addGenVertex(), reco::CompositeRefCandidate::addMother(), TrackingVertex::addParentTrack(), pat::TriggerEvent::algorithmConditions(), pat::TriggerEvent::algorithmObjects(), pat::TriggerEvent::algorithmRefs(), RecoMuonValidator::analyze(), TrackIPTagPlotter::analyzeTag(), helper::SimpleJetTrackAssociator::associate(), JetTracksAssociationXtrpCalo::associateInputTracksToJet(), HPSPFRecoTauAlgorithm::associateIsolationCandidates(), MuonAssociatorByHits::associateMuons(), TrackAssociatorBase::associateRecoToSim(), TrackAssociatorBase::associateSimToReco(), helper::SimpleJetTrackAssociator::associateTransient(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProng(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), HPSPFRecoTauAlgorithm::buildThreeProngs(), CSCHaloAlgo::Calculate(), EcalHaloAlgo::Calculate(), JetPlusTrackProducerAA::calculateBGtracksJet(), reco::CastorCluster::CastorCluster(), reco::CastorTower::CastorTower(), PFTauElementsOperators::computeInsideOutContents(), pat::TriggerEvent::conditionAlgorithms(), pat::TriggerEvent::conditionObjects(), pat::TriggerEvent::conditionRefs(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::excludeJta(), pat::GenericParticle::fillInFrom(), PFTauViewRefSelector::filter(), FastElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterClusters(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterObjects(), pat::TriggerEvent::filterPaths(), pat::TriggerEvent::filterRefs(), CaloRecoTauTagInfoAlgorithm::filterTracksByQualityBit(), GenParticlesHelper::findDescendents(), GenParticlesHelper::findParticles(), GenParticlesHelper::findSisters(), reco::PFJet::getTrackRefs(), pat::Tau::isolationPFCands(), pat::Tau::isolationPFChargedHadrCands(), pat::Tau::isolationPFGammaCands(), pat::Tau::isolationPFNeutrHadrCands(), pat::Tau::isolationTracks(), MuonSegmentMatcher::matchDT(), JetPlusTrackCorrector::matchTracks(), PFCandidateStripMerger::mergeCandidates(), reco::tau::disc::notMainTrack(), pat::TriggerEvent::objectAlgorithms(), pat::TriggerEvent::objectConditions(), pat::TriggerEvent::objectFilters(), pat::TriggerEvent::objectPaths(), pat::TriggerEvent::objectRefs(), pat::TriggerEvent::objects(), reco::tau::RecoTauPhotonFilter::operator()(), ElementsInAnnulus< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, Angle< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInCone< math::XYZVector, DeltaR< math::XYZVector, math::XYZPoint >, std::pair< math::XYZPoint, float > >::operator()(), ElementsInEllipse< reco::PFCandidate, reco::PFCandidateCollection >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), JoinCaloTowerRefVectorsWithoutDuplicates::operator()(), reco::tau::RecoTauTwoProngFilter::operator()(), pat::TriggerEvent::pathFilters(), pat::TriggerEvent::pathModules(), pat::TriggerEvent::pathObjects(), pat::TriggerEvent::pathRefs(), reco::PFTauTagInfo::PFCands(), PFTauElementsOperators::PFGammaCandsInOutEllipse(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::PFTauDecayMode::pfMasterClones(), pat::TriggerEvent::physAlgorithms(), PFTauViewRefMerger::produce(), CastorFastTowerProducer::produce(), PFDisplacedTrackerVertexProducer::produce(), JetVetoedTracksAssociationDRVertex::produce(), JetTracksAssociationDRVertex::produce(), JetTracksAssociationDRCalo::produce(), CleanAndMergeProducer::produce(), PFNuclearProducer::produce(), VZeroProducer::produce(), CastorClusterProducer::produce(), TrackIPProducer::produce(), PFRecoTauTagInfoProducer::produce(), CastorFastClusterProducer::produce(), PixelVertexProducer::produce(), SecondaryVertexProducer::produce(), JetPlusTrackCorrector::rebuildJta(), ConfigurableTertiaryTracksVertexFinder::reconstruct(), RecoTrackRefSelector::select(), reco::SecondaryVertexTagInfo::selectedTracks(), pat::Tau::signalPFCands(), pat::Tau::signalPFChargedHadrCands(), pat::Tau::signalPFGammaCands(), pat::Tau::signalPFNeutrHadrCands(), pat::Tau::signalTracks(), reco::TrackIPTagInfo::sortedTracks(), ConeIsolationAlgorithm::tag(), pat::TriggerEvent::techAlgorithms(), reco::IsolatedTauTagInfo::tracksInCone(), edm::OneToMany< JetC, reco::TrackCollection >::transientMap(), edm::OneToMany< JetC, reco::TrackCollection >::val(), and reco::SecondaryVertexTagInfo::vertexTracks().

    {refVector_.pushBack(ref.refCore(), ref.key());}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
contents_type const& edm::RefVector< C, T, F >::refVector ( ) const [inline]

Accessor for all data.

Definition at line 78 of file RefVector.h.

Referenced by edm::operator==().

{return refVector_;}
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
void edm::RefVector< C, T, F >::reserve ( size_type  n) [inline]
template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
size_type edm::RefVector< C, T, F >::size ( void  ) const [inline]

Size of the RefVector.

Definition at line 84 of file RefVector.h.

Referenced by GenParticlePruner::addDaughterRefs(), reco::PFCandidate::addElementInBlock(), GenParticlePruner::addMotherRefs(), reco::GsfElectron::ambiguousGsfTracksSize(), HLTTauDQMTrkPlotter::analyze(), PhotonValidator::analyze(), PhotonsWithConversionsAnalyzer::analyze(), BeamHaloAnalyzer::analyze(), PhotonAnalyzer::analyze(), HLTMonBTagIPSource::analyze(), ImpactParameterCalibration::analyze(), TrackIPTagPlotter::analyzeTag(), TrackAssociatorByHits::associateRecoToSim(), TrackAssociatorByChi2::associateRecoToSim(), TrackAssociatorByPosition::associateRecoToSim(), MuonAssociatorByHits::associateRecoToSimIndices(), TrackAssociatorByPosition::associateSimToReco(), TrackAssociatorByChi2::associateSimToReco(), TrackAssociatorByHits::associateSimToReco(), MuonAssociatorByHits::associateSimToRecoIndices(), PVPositionBuilder::average(), CaloRecoTauAlgorithm::buildCaloTau(), HPSPFRecoTauAlgorithm::buildOneProng(), HPSPFRecoTauAlgorithm::buildOneProngStrip(), HPSPFRecoTauAlgorithm::buildOneProngTwoStrips(), PFRecoTauAlgorithm::buildPFTau(), HPSPFRecoTauAlgorithm::buildPFTau(), HPSPFRecoTauAlgorithm::buildThreeProngs(), reco::TauMassTagInfo::calculateTrkP4(), reco::JPTJet::chargedMultiplicity(), PFTauElementsOperators::computeInsideOutContents(), JetPlusTrackCorrector::correctAA(), HPSPFRecoTauAlgorithm::createMergedLorentzVector(), reco::tau::disc::Dalitz2(), reco::PFTau::decayMode(), CaloRecoTauDiscriminationByDeltaE::DeltaE(), PFRecoTauDiscriminationByDeltaE::DeltaE(), reco::IsolatedTauTagInfo::discriminator(), PFTauElementsOperators::discriminatorByIsolPFCandsN(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsN(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsN(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsN(), TauElementsOperators::discriminatorByIsolTracksN(), reco::PFTau::dump(), JetPlusTrackCorrector::elecCorrection(), pat::Jet::elecMultiplicity(), reco::JPTJet::elecMultiplicity(), reco::PFCandidate::elementsInBlocks(), pat::Tau::embedIsolationPFCands(), pat::Tau::embedIsolationPFChargedHadrCands(), pat::Tau::embedIsolationPFGammaCands(), pat::Tau::embedIsolationPFNeutralHadrCands(), pat::Tau::embedIsolationTracks(), pat::Tau::embedSignalPFCands(), pat::Tau::embedSignalPFChargedHadrCands(), pat::Tau::embedSignalPFGammaCands(), pat::Tau::embedSignalPFNeutralHadrCands(), pat::Tau::embedSignalTracks(), pat::GenericParticle::embedTracks(), TrackClassifierByProxy< Collection >::evaluate(), VertexClassifierByProxy< reco::SecondaryVertexTagInfoCollection >::evaluate(), JetPlusTrackCorrector::excludeJta(), EwkMuTauHistManager::fillHistograms(), JPTJetAnalyzer::fillTrackHistograms(), edm::RefVector< C, T, F >::fillView(), FastElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterClusters(), ElectronSeedProducer::filterSeeds(), DivisiveVertexFinder::findVertexes(), DivisiveVertexFinder::findVertexesAlt(), pat::Jet::genJet(), HLTMuonL2ToL1Map::getL1Keys(), reco::JetTrackMatch< JetC >::getTracks(), NuclearInteractionEDProducer::isInside(), reco::tau::disc::IsolationChargedAveragePtFraction(), PFTauQualityCutWrapper::isolationChargedObjects(), PFTauQualityCutWrapper::isolationGammaObjects(), HLTMuonL2ToL1Map::isTriggeredByL1(), reco::IsolatedTauTagInfo::leadingSignalTrack(), main(), reco::tau::disc::mainTrack(), JetPlusTrackCorrector::matchTracks(), PFCandidateStripMerger::mergeCandidates(), JetPlusTrackCorrector::muonCorrection(), reco::JPTJet::muonMultiplicity(), reco::tau::helpers::nCharged(), TrackingVertex::nDaughterTracks(), TrackingVertex::nGenVertices(), reco::tau::disc::notMainTrack(), TrackingVertex::nSourceTracks(), reco::CompositeRefCandidate::numberOfDaughters(), reco::EcalHaloData::NumberOfHaloSuperClusters(), reco::CSCHaloData::NumberOfHaloTracks(), reco::CompositeRefCandidate::numberOfMothers(), pat::GenericParticle::numberOfTracks(), reco::tau::RecoTauElectronRejectionPlugin::operator()(), CombinedSVComputer::operator()(), reco::tau::RecoTauTwoProngFilter::operator()(), reco::operator<<(), operator<<(), reco::tau::disc::OutlierN(), reco::tau::disc::OutlierNCharged(), JetPlusTrackCorrector::pionCorrection(), reco::JPTJet::print(), reco::JPTJet::printJet(), PFTauElecRejectionBenchmark::process(), PFRecoTauDecayModeDeterminator::produce(), RecoTauCleanerImpl< Prod >::produce(), RecoTauPiZeroProducer::produce(), HLTTauProducer::produce(), VZeroProducer::produce(), CleanAndMergeProducer::produce(), RecoTauJetRegionProducer::produce(), TauGenJetProducer::produce(), reco::BeamHaloSummaryProducer::produce(), PixelVertexProducer::produce(), reco::TrackExtraBase::recHitsSize(), reco::CastorTower::rechitsSize(), PFRootEventManager::reconstructGenJets(), ElectronSeedGenerator::run(), FastElectronSeedGenerator::run(), reco::tau::disc::ScaledOpeningDeltaR(), reco::NuclearInteraction::seedsSize(), PFTauQualityCutWrapper::signalChargedObjects(), PFTauQualityCutWrapper::signalGammaObjects(), reco::CombinedTauTagInfo::signalTks_qsum(), RecoTrackRefSelector::size(), TauTagTools::sortRefVectorByPt(), CaloRecoTauDiscriminationByFlightPathSignificance::threeProngFlightPathSig(), CaloRecoTauDiscriminationByInvMass::threeProngInvMass(), reco::CastorCluster::towersSize(), L25TauAnalyzer::trackDrRMS(), reco::JetTracksAssociation::tracksP4(), TrackHistoryAnalyzer::vertexString(), VertexHistoryAnalyzer::vertexString(), and PVPositionBuilder::wtAverage().

{return refVector_.size();}
template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::swap ( RefVector< C, T, F > &  other) [inline]

Member Data Documentation

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
contents_type edm::RefVector< C, T, F >::refVector_ [private]