CMS 3D CMS Logo

PFCandidateFwdPtrFactory.h
Go to the documentation of this file.
1 #ifndef CommonTools_ParticleFlow_PFCandidateFwdPtrFactory_h
2 #define CommonTools_ParticleFlow_PFCandidateFwdPtrFactory_h
3 
15 
16 namespace reco {
20  edm::Ptr<reco::PFCandidate> backPtr = ptr;
21  if (ptr.isNonnull() && ptr.isAvailable() && ptr->numberOfSourceCandidatePtrs() > 0) {
23  if (basePtr.isNonnull() && basePtr.isAvailable())
24  backPtr = edm::Ptr<reco::PFCandidate>(basePtr); //this cast works only for available stuff
25  }
26  return edm::FwdPtr<reco::PFCandidate>(ptr, backPtr);
27  }
28  };
29 } // namespace reco
30 
31 #endif
mps_fire.i
i
Definition: mps_fire.py:428
PFCandidate.h
reco::PFCandidateFwdPtrFactory::operator()
edm::FwdPtr< reco::PFCandidate > operator()(edm::View< reco::PFCandidate > const &view, unsigned int i) const
Definition: PFCandidateFwdPtrFactory.h:18
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
reco::PFCandidate::sourceCandidatePtr
CandidatePtr sourceCandidatePtr(size_type i) const override
Definition: PFCandidate.h:124
edm::FwdPtr
Definition: FwdPtr.h:40
edm::View< reco::PFCandidate >
edm::Ptr
Definition: AssociationVector.h:31
reco::PFCandidateFwdPtrFactory
Creates a FwdPtr<PFCandidate> from an input PFCandidate. If the PFCandidate has a valid sourceCandida...
Definition: PFCandidateFwdPtrFactory.h:17
reco::PFCandidate::numberOfSourceCandidatePtrs
size_t numberOfSourceCandidatePtrs() const override
Definition: PFCandidate.h:122
edm::Ptr::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ptr.h:146
edm::Ptr::isAvailable
bool isAvailable() const
Definition: Ptr.h:230
edm::View::ptrAt
Ptr< value_type > ptrAt(size_type i) const
PFCandidateFwd.h