CMS 3D CMS Logo

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

#include <DataFormats/Common/interface/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 T member_type
typedef const_reference reference
typedef RefItem< key_typeRefItemType
typedef std::vector< RefItemTypeRefItemVec
typedef RefItemVec::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
 Checks if product collection is in memory or available in the Event.
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.
contents_type const & refVector () const
 Accessor for all data.
 RefVector (ProductID const &id)
 RefVector ()
 Default constructor needed for reading from persistent store.
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 53 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 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 RefItem<key_type> edm::RefVector< C, T, F >::RefItemType

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 std::vector<RefItemType> edm::RefVector< C, T, F >::RefItemVec

Definition at line 49 of file RefVector.h.

template<typename C, typename T = typename refhelper::ValueTrait<C>::value, typename F = typename refhelper::FindTrait<C, T>::value>
typedef RefItemVec::size_type edm::RefVector< C, T, F >::size_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 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 57 of file RefVector.h.

00057 : 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 59 of file RefVector.h.

00059 : 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]

Retrieve an element of the RefVector.

Definition at line 72 of file RefVector.h.

Referenced by PFTauElementsOperators::computeInsideOutContents(), pat::Tau::embedIsolationTracks(), pat::Tau::embedSignalTracks(), TkNavigableSimElectronAssembler::findChild(), TauTagTools::sortRefsByOpeningDistance::operator()(), TauTagTools::filterChargedAndNeutralsByPt::operator()(), and TrackingElectronProducer::produce().

00072                                              {
00073       RefItemType const& item = refVector_.items().at(idx);
00074       RefCore const& prod = refVector_.refCore();
00075       return value_type(prod, item);
00076     }

template<typename C, typename T, typename F>
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::begin (  )  const [inline]

Initialize an iterator over the RefVector.

Definition at line 237 of file RefVector.h.

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

Referenced by GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), reco::CompositeRefCandidate::begin(), CaloRecoTauAlgorithm::buildCaloTau(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), reco::TauMassTagInfo::calculateTrkP4(), reco::SuperCluster::clustersBegin(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correction(), TrackingVertex::daughterTracks_begin(), TrackingParticle::decayVertices_begin(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), edm::RefVector< C, T, F >::erase(), VertexFitterResult::fill(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), reco::Pi0Algo::fillPi0sUsingPF(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), GenParticlesHelper::findDescendents(), GenParticlesHelper::findSisters(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_begin(), TrackingVertex::genVertices_begin(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), GenParticlesHelper::hasAncestor(), edm::OneToMany< CKey, CVal, index >::insert(), ConvBremSeedProducer::isGsfTrack(), reco::IsolatedTauTagInfo::leadingSignalTrack(), PFTauElementsOperators::leadPFCand(), PFTauElementsOperators::leadPFChargedHadrCand(), PFTauElementsOperators::leadPFGammaCand(), PFTauElementsOperators::leadPFNeutrHadrCand(), TauElementsOperators::leadTk(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), BremRecoveryClusterAlgo::makeSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeSuperClusters(), MuonSegmentMatcher::matchDT(), TrackingTruthProducer::mergeBremsstrahlung(), ElementsInCone< XYZVectorD, Angle< XYZVectorD, XYZPointD >, pair< XYZPointD, float > >::operator()(), CombinedSVComputer::operator()(), ElementsInAnnulus< XYZVectorD, DeltaR< XYZVectorD >, Angle< XYZVectorD >, std::vector< Track > >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), pat::TriggerEvent::pathObjects(), reco::PFTauTagInfo::PFCands(), PFTauElementsOperators::PFCandsInAnnulus(), PFTauElementsOperators::PFCandsInCone(), PFTauElementsOperators::PFChargedHadrCandsInAnnulus(), PFTauElementsOperators::PFChargedHadrCandsInCone(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), PFRecoTauDecayModeDeterminator::produce(), TrackerOnlyConversionProducer::produce(), MergedTruthProducer::produce(), ParamL3MuonProducer::produce(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), SecondaryVertexProducer::produce(), HardTauAlgorithm::recalculateEnergy(), reco::TrackExtraBase::recHitsBegin(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), reco::PFNuclearInteraction::secPFRecTracks_begin(), reco::NuclearInteraction::seeds_begin(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_begin(), ImpactParameterAlgorithm::tag(), ConeIsolationAlgorithm::tag(), reco::TrackKinematics::TrackKinematics(), TauElementsOperators::tracksInAnnulus(), reco::IsolatedTauTagInfo::tracksInCone(), and TauElementsOperators::tracksInCone().

00237                                                                             {
00238     return iterator(refVector_.refCore(), refVector_.items().begin());
00239   }

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 88 of file RefVector.h.

00088 {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]

Clear the vector.

Definition at line 129 of file RefVector.h.

Referenced by PFRecoTauAlgorithm::buildPFTau(), reco::CompositeRefCandidate::clearDaughters(), reco::CompositeRefCandidateT< edm::RefVector >::clearDaughters(), TrackingVertex::clearDaughterTracks(), TrackingParticle::clearDecayVertices(), reco::CompositeRefCandidateT< edm::RefVector >::clearMothers(), TrackingVertex::clearParentTracks(), reco::CombinedTauTagInfo::CombinedTauTagInfo(), reco::Pi0Algo::fillPi0sUsingPF(), reco::Tau3DAlgo::fillTau3Ds(), TauVariables::init(), reco::PFCombinedTauTagInfo::PFCombinedTauTagInfo(), reco::Pi0::Pi0(), GlobalGsfElectronAlgo::process(), and reco::Tau3D::Tau3D().

00129 {refVector_.clear();}

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]

Is the RefVector empty.

Definition at line 82 of file RefVector.h.

Referenced by PFTauElementsOperators::computeInsideOutContents(), TkNavigableSimElectronAssembler::findChild(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), and TrackingElectronProducer::produce().

00082 {return refVector_.empty();}

template<typename C, typename T, typename F>
RefVector< C, T, F >::const_iterator edm::RefVector< C, T, F >::end (  )  const [inline]

Termination of iteration.

Definition at line 242 of file RefVector.h.

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

Referenced by GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), CaloRecoTauAlgorithm::buildCaloTau(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), reco::TauMassTagInfo::calculateTrkP4(), reco::SuperCluster::clustersEnd(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correction(), TrackingVertex::daughterTracks_end(), TrackingParticle::decayVertices_end(), PFTauElementsOperators::discriminatorByIsolPFCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsEtSum(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsEtSum(), pat::GenericParticle::embedTracks(), reco::CompositeRefCandidate::end(), VertexFitterResult::fill(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), reco::Pi0Algo::fillPi0sUsingPF(), edm::RefVector< C, T, F >::fillView(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterInPath(), GenParticlesHelper::findDescendents(), GenParticlesHelper::findSisters(), GenParticlePruner::flagDaughters(), GenParticlePruner::flagMothers(), TrackingParticle::genParticle_end(), TrackingVertex::genVertices_end(), InvariantMassAlgorithm::getMinimumClusterDR(), CaloRecoTauTagInfoAlgorithm::getNeutralEcalBasicClusters(), GenParticlesHelper::hasAncestor(), edm::OneToMany< CKey, CVal, index >::insert(), ConvBremSeedProducer::isGsfTrack(), reco::IsolatedTauTagInfo::leadingSignalTrack(), PFTauElementsOperators::leadPFCand(), PFTauElementsOperators::leadPFChargedHadrCand(), PFTauElementsOperators::leadPFGammaCand(), PFTauElementsOperators::leadPFNeutrHadrCand(), TauElementsOperators::leadTk(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), BremRecoveryClusterAlgo::makeSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeSuperClusters(), TauVariables::makeVariables(), MuonSegmentMatcher::matchDT(), TrackingTruthProducer::mergeBremsstrahlung(), pat::TriggerEvent::objectInPath(), ElementsInCone< XYZVectorD, Angle< XYZVectorD, XYZPointD >, pair< XYZPointD, float > >::operator()(), CombinedSVComputer::operator()(), ElementsInAnnulus< XYZVectorD, DeltaR< XYZVectorD >, Angle< XYZVectorD >, std::vector< Track > >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), pat::TriggerEvent::pathObjects(), reco::PFTauTagInfo::PFCands(), PFTauElementsOperators::PFCandsInAnnulus(), PFTauElementsOperators::PFCandsInCone(), PFTauElementsOperators::PFChargedHadrCandsInAnnulus(), PFTauElementsOperators::PFChargedHadrCandsInCone(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::EMIsolatedTauTagInfo::pIsol(), PFRecoTauDecayModeDeterminator::produce(), TrackerOnlyConversionProducer::produce(), MergedTruthProducer::produce(), VZeroProducer::produce(), TrackIPProducer::produce(), TauGenJetProducer::produce(), SecondaryVertexProducer::produce(), HardTauAlgorithm::recalculateEnergy(), reco::TrackExtraBase::recHitsEnd(), GenParticlePruner::recursiveFlagDaughters(), GenParticlePruner::recursiveFlagMothers(), SoftLepton::refineJetAxis(), reco::PFNuclearInteraction::secPFRecTracks_end(), reco::NuclearInteraction::seeds_end(), reco::CombinedTauTagInfo::signalTks_qsum(), TrackingVertex::sourceTracks_end(), ImpactParameterAlgorithm::tag(), ConeIsolationAlgorithm::tag(), reco::TrackKinematics::TrackKinematics(), TauElementsOperators::tracksInAnnulus(), reco::IsolatedTauTagInfo::tracksInCone(), and TauElementsOperators::tracksInCone().

00242                                                                           {
00243     return iterator(refVector_.refCore(), refVector_.items().end());
00244   }

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 227 of file RefVector.h.

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

Referenced by BremRecoveryClusterAlgo::makeIslandSuperClusters(), and Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters().

00227                                                {
00228     typename contents_type::RefItems::size_type index = pos - begin();
00229     typename contents_type::RefItems::iterator newPos = 
00230       refVector_.eraseAtIndex(index);
00231     RefCore const& prod = refVector_.refCore();
00232     //return typename RefVector<C, T, F>::iterator(prod, newPos);
00233     return iterator(prod, newPos);
00234   }

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 [inline]

Definition at line 173 of file RefVector.h.

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

Referenced by edm::fillView().

00176   {
00177     typedef Ref<C,T,F>                     ref_type;
00178     typedef reftobase::RefHolder<ref_type> holder_type;
00179 
00180     pointers.reserve(this->size());
00181     helpers.reserve(this->size());
00182 
00183     size_type key = 0;
00184     for (const_iterator i=begin(), e=end(); i!=e; ++i, ++key) {
00185       member_type const* address = i->isNull() ? 0 : &**i;
00186       pointers.push_back(address);
00187       holder_type h(ref_type(i->id(), address, i->key(), product() ));
00188       helpers.push_back( & h ); 
00189     }
00190   }

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 138 of file RefVector.h.

00138 {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 100 of file RefVector.h.

Referenced by edm::RefVector< std::vector< Track > >::isNull().

00100 {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 120 of file RefVector.h.

00120 {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 109 of file RefVector.h.

00109 {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 106 of file RefVector.h.

Referenced by edm::RefVector< std::vector< Track > >::isNonnull(), edm::RefVector< std::vector< Track > >::operator!(), and edm::RefVector< C, T, F >::product().

00106 {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 123 of file RefVector.h.

00123 {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 112 of file RefVector.h.

00112 {return isNull();}

template<typename C, typename T, typename F>
RefVector< C, T, F > & edm::RefVector< C, T, F >::operator= ( RefVector< C, T, F > const &  rhs  )  [inline]

Copy assignment.

Definition at line 158 of file RefVector.h.

References edm::RefVector< C, T, F >::swap(), and pyDBSRunClass::temp.

00158                                                              {
00159     RefVector<C, T, F> temp(rhs);
00160     this->swap(temp);
00161     return *this;
00162   }

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 65 of file RefVector.h.

00065                                                      {
00066       RefItemType const& item = refVector_.items()[idx];
00067       RefCore const& prod = refVector_.refCore();
00068       return value_type(prod, item);
00069     }

template<typename C, typename T, typename F>
C const * edm::RefVector< C, T, F >::product (  )  const [inline]

Accessor for product collection.

Definition at line 268 of file RefVector.h.

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

Referenced by TrackAssociatorByHits::associateRecoToSim(), MuonAssociatorByHits::associateRecoToSim(), TrackAssociatorByChi2::associateRecoToSim(), MuonAssociatorByHits::associateSimToReco(), TrackAssociatorByChi2::associateSimToReco(), TrackAssociatorByHits::associateSimToReco(), edm::RefVector< C, T, F >::fillView(), edm::detail::GetProduct< RefVector< C, T, F > >::product(), and edm::Ref< C, T, F >::Ref().

00268                                            {
00269     return isNull() ? 0 : edm::template getProduct<C>(refVector_.refCore());
00270   }

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 103 of file RefVector.h.

00103 {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 61 of file RefVector.h.

Referenced by pat::TriggerEvent::acceptedFilters(), pat::TriggerEvent::acceptedPaths(), reco::TrackExtraBase::add(), reco::SuperCluster::add(), reco::CompositeRefCandidate::addDaughter(), TrackingVertex::addDaughterTrack(), TrackingParticle::addDecayVertex(), TrackingVertex::addGenVertex(), reco::CompositeRefCandidate::addMother(), TrackingVertex::addParentTrack(), EgammaSCEnergyCorrectionAlgo::applyCorrection(), helper::SimpleJetTrackAssociator::associate(), helper::SimpleJetTrackAssociator::associateTransient(), CaloRecoTauAlgorithm::buildCaloTau(), PFRecoTauAlgorithm::buildPFTau(), PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo(), PFTauElementsOperators::computeInsideOutContents(), PFTauElementsOperators::copyCandRefsFilteredByPt(), JetPlusTrackCorrector::correction(), pat::GenericParticle::fillInFrom(), PFTauDiscriminants::PFTauDiscriminantManager::fillOutlierObjects(), reco::Pi0Algo::fillPi0sUsingPF(), reco::Tau3DAlgo::fillTau3Ds(), ElectronPixelSeedProducer::filterClusters(), ElectronGSPixelSeedProducer::filterClusters(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFChargedHadrCandsByNumTrkHits(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), TauTagTools::filteredTracksByNumTrkHits(), pat::TriggerEvent::filterObjects(), GenParticlesHelper::findDescendents(), GenParticlesHelper::findParticles(), GenParticlesHelper::findSisters(), Multi5x5SuperClusterProducer::getClusterRefVector(), SuperClusterProducer::getClusterRefVector(), reco::PFJet::getTrackRefs(), pat::Tau::isolationTracks(), BremRecoveryClusterAlgo::makeIslandSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeIslandSuperClusters(), HybridClusterAlgo::makeSuperClusters(), BremRecoveryClusterAlgo::makeSuperClusters(), Multi5x5BremRecoveryClusterAlgo::makeSuperClusters(), TauVariables::makeVariables(), MuonSegmentMatcher::matchDT(), pat::TriggerEvent::objectFilters(), pat::TriggerEvent::objectPaths(), pat::TriggerEvent::objects(), ElementsInCone< XYZVectorD, Angle< XYZVectorD, XYZPointD >, pair< XYZPointD, float > >::operator()(), ElementsInAnnulus< XYZVectorD, DeltaR< XYZVectorD >, Angle< XYZVectorD >, std::vector< Track > >::operator()(), TauConeIsolationAlgo< T, C, M >::operator()(), pat::TriggerEvent::pathFilters(), pat::TriggerEvent::pathModules(), pat::TriggerEvent::pathObjects(), reco::PFTauTagInfo::PFCands(), PFTauElementsOperators::PFCandsInAnnulus(), PFTauElementsOperators::PFCandsInCone(), PFTauElementsOperators::PFChargedHadrCandsInAnnulus(), PFTauElementsOperators::PFChargedHadrCandsInCone(), reco::PFIsolatedTauTagInfo::PFIsolatedTauTagInfo(), reco::PFTauDecayMode::pfMasterClones(), GlobalGsfElectronAlgo::process(), HybridClusterProducer::produce(), TrackerOnlyConversionProducer::produce(), ElectronRecalibSuperClusterAssociator::produce(), ParamL3MuonProducer::produce(), PreshowerClusterProducer::produce(), JetTracksAssociationDRCalo::produce(), JetTracksAssociationDRVertex::produce(), JetVetoedTracksAssociationDRVertex::produce(), PFNuclearProducer::produce(), VZeroProducer::produce(), PFRecoTauTagInfoProducer::produce(), EgammaHLTHybridClusterProducer::produce(), PixelVertexProducer::produce(), SecondaryVertexProducer::produce(), SiStripElectronAlgo::projectPhiBand(), HardTauAlgorithm::recalculateEnergy(), reco::SecondaryVertexTagInfo::selectedTracks(), pat::Tau::signalTracks(), reco::TrackIPTagInfo::sortedTracks(), ConeIsolationAlgorithm::tag(), TauElementsOperators::tracksInAnnulus(), reco::IsolatedTauTagInfo::tracksInCone(), TauElementsOperators::tracksInCone(), edm::OneToMany< CKey, CVal, index >::transientMap(), edm::OneToMany< CKey, CVal, index >::val(), and reco::SecondaryVertexTagInfo::vertexTracks().

00062     {refVector_.pushBack(ref.ref().refCore(), ref.ref().item());}

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 79 of file RefVector.h.

Referenced by edm::operator==().

00079 {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]

Reserve space for RefVector.

Definition at line 91 of file RefVector.h.

Referenced by PFTauElementsOperators::computeInsideOutContents(), reco::PFJet::getTrackRefs(), and TrackerOnlyConversionProducer::produce().

00091 {refVector_.reserve(n);}

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 85 of file RefVector.h.

Referenced by GenParticlePruner::addDaughterRefs(), GenParticlePruner::addMotherRefs(), VertexTHA::analyze(), HLTBJetDQMSource::analyzeLifetime(), TrackAssociatorByHits::associateRecoToSim(), MuonAssociatorByHits::associateRecoToSim(), TrackAssociatorByChi2::associateRecoToSim(), TrackAssociatorByPosition::associateRecoToSim(), MuonAssociatorByHits::associateSimToReco(), TrackAssociatorByPosition::associateSimToReco(), TrackAssociatorByChi2::associateSimToReco(), TrackAssociatorByHits::associateSimToReco(), PVPositionBuilder::average(), CaloRecoTauAlgorithm::buildCaloTau(), PFRecoTauAlgorithm::buildPFTau(), reco::TauMassTagInfo::calculateTrkP4(), reco::SuperCluster::clustersSize(), PFTauElementsOperators::computeInsideOutContents(), JetPlusTrackCorrector::correction(), reco::IsolatedTauTagInfo::discriminator(), PFTauElementsOperators::discriminatorByIsolPFCandsN(), PFTauElementsOperators::discriminatorByIsolPFChargedHadrCandsN(), PFTauElementsOperators::discriminatorByIsolPFGammaCandsN(), PFTauElementsOperators::discriminatorByIsolPFNeutrHadrCandsN(), TauElementsOperators::discriminatorByIsolTracksN(), reco::PFTau::dump(), pat::Tau::embedIsolationTracks(), pat::Tau::embedSignalTracks(), pat::GenericParticle::embedTracks(), JetPlots::fill(), pat::HistoJet::fill(), reco::Pi0Algo::fillPi0sUsingPF(), ElectronPixelSeedProducer::filterClusters(), ElectronGSPixelSeedProducer::filterClusters(), ElectronPixelSeedProducer::filterSeeds(), DivisiveVertexFinder::findVertexes(), DivisiveVertexFinder::findVertexesAlt(), reco::JetTrackMatch< JetC >::getTracks(), NuclearInteractionEDProducer::isInside(), reco::IsolatedTauTagInfo::leadingSignalTrack(), PFTauElementsOperators::leadPFCand(), PFTauElementsOperators::leadPFChargedHadrCand(), PFTauElementsOperators::leadPFGammaCand(), PFTauElementsOperators::leadPFNeutrHadrCand(), TauElementsOperators::leadTk(), HybridClusterAlgo::makeSuperClusters(), TrackingVertex::nDaughterTracks(), TrackingVertex::nGenVertices(), TrackingVertex::nSourceTracks(), reco::CompositeRefCandidate::numberOfDaughters(), reco::CompositeRefCandidate::numberOfMothers(), pat::GenericParticle::numberOfTracks(), CombinedSVComputer::operator()(), reco::operator<<(), operator<<(), GlobalGsfElectronAlgo::process(), TrackerOnlyConversionProducer::produce(), VZeroProducer::produce(), PFRecoTauDiscriminationByNeutralHadrons::produce(), PixelVertexProducer::produce(), reco::TrackExtraBase::recHitsSize(), PFRootEventManager::reconstructGenJets(), ElectronPixelSeedGenerator::run(), ElectronGSPixelSeedGenerator::run(), reco::NuclearInteraction::seedsSize(), reco::CombinedTauTagInfo::signalTks_qsum(), L25TauAnalyzer::trackDrRMS(), reco::JetTracksAssociation::tracksNumber(), reco::JetTracksAssociation::tracksP4(), SimpleTHA::vertexString(), and PVPositionBuilder::wtAverage().

00085 {return refVector_.size();}

template<typename C, typename T, typename F>
void edm::RefVector< C, T, F >::swap ( RefVector< C, T, F > &  other  )  [inline]

Swap two vectors.

Definition at line 151 of file RefVector.h.

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

Referenced by pat::Tau::isolationTracks(), edm::RefVector< C, T, F >::operator=(), pat::Tau::signalTracks(), and edm::swap().

00151                                                      {
00152     refVector_.swap(other.refVector_);
00153   }


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]

Definition at line 145 of file RefVector.h.

Referenced by edm::RefVector< std::vector< Track > >::at(), edm::RefVector< C, T, F >::begin(), edm::RefVector< std::vector< Track > >::capacity(), edm::RefVector< std::vector< Track > >::clear(), edm::RefVector< std::vector< Track > >::empty(), edm::RefVector< C, T, F >::end(), edm::RefVector< C, T, F >::erase(), edm::RefVector< std::vector< Track > >::hasProductCache(), edm::RefVector< std::vector< Track > >::id(), edm::RefVector< std::vector< Track > >::isAvailable(), edm::RefVector< std::vector< Track > >::isTransient(), edm::RefVector< std::vector< Track > >::operator[](), edm::RefVector< C, T, F >::product(), edm::RefVector< std::vector< Track > >::productGetter(), edm::RefVector< std::vector< Track > >::push_back(), edm::RefVector< std::vector< Track > >::refVector(), edm::RefVector< std::vector< Track > >::reserve(), edm::RefVector< std::vector< Track > >::size(), and edm::RefVector< C, T, F >::swap().


The documentation for this class was generated from the following file:
Generated on Tue Jun 9 18:43:54 2009 for CMSSW by  doxygen 1.5.4