CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::ProductProvenance Class Reference

#include <ProductProvenance.h>

Public Member Functions

BranchID const & branchID () const
 
ProductProvenance makeProductProvenance () const
 
ParentageID moveParentageID ()
 
Parentage const & parentage () const
 
ParentageID const & parentageID () const
 
 ProductProvenance ()
 
 ProductProvenance (BranchID bid)
 
 ProductProvenance (BranchID bid, ParentageID id)
 
 ProductProvenance (BranchID bid, std::vector< BranchID > const &parents)
 
 ProductProvenance (BranchID bid, std::vector< BranchID > &&parents)
 
void set (ParentageID id)
 
void write (std::ostream &os) const
 

Private Attributes

BranchID branchID_
 
ParentageID parentageID_
 

Detailed Description

Definition at line 24 of file ProductProvenance.h.

Constructor & Destructor Documentation

◆ ProductProvenance() [1/5]

edm::ProductProvenance::ProductProvenance ( )

Definition at line 15 of file ProductProvenance.cc.

◆ ProductProvenance() [2/5]

edm::ProductProvenance::ProductProvenance ( BranchID  bid)
explicit

Definition at line 17 of file ProductProvenance.cc.

◆ ProductProvenance() [3/5]

edm::ProductProvenance::ProductProvenance ( BranchID  bid,
ParentageID  id 
)

Definition at line 19 of file ProductProvenance.cc.

20  : branchID_(bid), parentageID_(std::move(edid)) {}
def move(src, dest)
Definition: eostools.py:511

◆ ProductProvenance() [4/5]

edm::ProductProvenance::ProductProvenance ( BranchID  bid,
std::vector< BranchID > const &  parents 
)

Definition at line 22 of file ProductProvenance.cc.

References edm::ParentageRegistry::insertMapped(), edm::ParentageRegistry::instance(), AlCaHLTBitMon_ParallelJobs::p, parentageID_, and parents.

23  : branchID_(bid), parentageID_() {
24  Parentage p;
25  p.setParents(parents);
26  parentageID_ = p.id();
28  }
TPRegexp parents
Definition: eve_filter.cc:21
static ParentageRegistry * instance()
bool insertMapped(value_type const &v)

◆ ProductProvenance() [5/5]

edm::ProductProvenance::ProductProvenance ( BranchID  bid,
std::vector< BranchID > &&  parents 
)

Definition at line 30 of file ProductProvenance.cc.

References edm::ParentageRegistry::insertMapped(), edm::ParentageRegistry::instance(), eostools::move(), AlCaHLTBitMon_ParallelJobs::p, parentageID_, and parents.

30  : branchID_(bid), parentageID_() {
31  Parentage p;
32  p.setParents(std::move(parents));
33  parentageID_ = p.id();
35  }
TPRegexp parents
Definition: eve_filter.cc:21
static ParentageRegistry * instance()
bool insertMapped(value_type const &v)
def move(src, dest)
Definition: eostools.py:511

Member Function Documentation

◆ branchID()

BranchID const& edm::ProductProvenance::branchID ( ) const
inline

◆ makeProductProvenance()

ProductProvenance edm::ProductProvenance::makeProductProvenance ( ) const

Definition at line 37 of file ProductProvenance.cc.

37 { return *this; }

◆ moveParentageID()

ParentageID edm::ProductProvenance::moveParentageID ( )
inline

Definition at line 43 of file ProductProvenance.h.

References eostools::move(), and parentageID_.

Referenced by edm::ProductProvenanceLookup::insertIntoSet().

43 { return std::move(parentageID_); }
def move(src, dest)
Definition: eostools.py:511

◆ parentage()

Parentage const & edm::ProductProvenance::parentage ( ) const

Definition at line 39 of file ProductProvenance.cc.

References edm::ParentageRegistry::getMapped(), edm::ParentageRegistry::instance(), AlCaHLTBitMon_ParallelJobs::p, and parentageID_.

Referenced by edm::RootOutputFile::insertAncestors(), and OniaVtxReProducer::OniaVtxReProducer().

39  {
41  if (p) {
42  return *p;
43  }
44  return s_emptyParentage;
45  }
bool getMapped(key_type const &k, value_type &result) const
static ParentageRegistry * instance()

◆ parentageID()

ParentageID const& edm::ProductProvenance::parentageID ( ) const
inline

◆ set()

void edm::ProductProvenance::set ( ParentageID  id)
inline

Definition at line 42 of file ProductProvenance.h.

References eostools::move(), and parentageID_.

Referenced by edm::ProductProvenanceLookup::ProducedProvenanceInfo::threadsafe_set().

42 { parentageID_ = std::move(id); }
def move(src, dest)
Definition: eostools.py:511

◆ write()

void edm::ProductProvenance::write ( std::ostream &  os) const

Definition at line 47 of file ProductProvenance.cc.

References branchID(), and parentageID().

Referenced by pkg.AbstractPkg::generate().

47  {
48  os << "branch ID = " << branchID() << '\n';
49  os << "entry description ID = " << parentageID() << '\n';
50  }
ParentageID const & parentageID() const
BranchID const & branchID() const

Member Data Documentation

◆ branchID_

BranchID edm::ProductProvenance::branchID_
private

Definition at line 46 of file ProductProvenance.h.

Referenced by branchID().

◆ parentageID_

ParentageID edm::ProductProvenance::parentageID_
private

Definition at line 47 of file ProductProvenance.h.

Referenced by moveParentageID(), parentage(), parentageID(), ProductProvenance(), and set().