test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StableProvenance.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_StableProvenance_h
2 #define DataFormats_Provenance_StableProvenance_h
3 
4 /*----------------------------------------------------------------------
5 
6 StableProvenance: The full description of a product, excluding the parentage.
7 The parentage can change from event to event.
8 
9 ----------------------------------------------------------------------*/
10 
16 
17 #include <memory>
18 
19 #include <iosfwd>
20 /*
21  StableProvenance
22 
23  definitions:
24  Product: The EDProduct to which a provenance object is associated
25 
26  Creator: The EDProducer that made the product.
27 */
28 
29 namespace edm {
31  public:
33 
34  StableProvenance(std::shared_ptr<BranchDescription const> const& p, ProductID const& pid);
35 
37  std::shared_ptr<BranchDescription const> const& constBranchDescriptionPtr() const {return branchDescription_;}
38 
39  BranchID const& branchID() const {return branchDescription().branchID();}
40  std::string const& branchName() const {return branchDescription().branchName();}
41  std::string const& className() const {return branchDescription().className();}
43  std::string const& moduleName() const {return branchDescription().moduleName();}
47  ProcessHistory const& processHistory() const {return *processHistory_;}
50  std::set<std::string> const& branchAliases() const {return branchDescription().branchAliases();}
51 
52  void write(std::ostream& os) const;
53 
55 
56  ProductID const& productID() const {return productID_;}
57 
58  void setProductID(ProductID const& pid) {
59  productID_ = pid;
60  }
61 
62  void setBranchDescription(std::shared_ptr<BranchDescription const> const& p) {
64  }
65 
66  void swap(StableProvenance&);
67 
68  private:
69  std::shared_ptr<BranchDescription const> branchDescription_;
71  ProcessHistory const* processHistory_; // We don't own this
72  };
73 
74  inline
75  std::ostream&
76  operator<<(std::ostream& os, StableProvenance const& p) {
77  p.write(os);
78  return os;
79  }
80 
81  bool operator==(StableProvenance const& a, StableProvenance const& b);
82 
83 }
84 #endif
std::set< std::string > const & branchAliases() const
std::string const & branchName() const
std::shared_ptr< BranchDescription const > const & constBranchDescriptionPtr() const
std::string const & className() const
ReleaseVersion releaseVersion() const
std::string const & moduleName() const
BranchDescription const & branchDescription() const
void setProcessHistory(ProcessHistory const &ph)
void write(std::ostream &os) const
std::string const & processName() const
bool getProcessConfiguration(ProcessConfiguration &pc) const
void swap(StableProvenance &)
std::string const & productInstanceName() const
ProcessHistory const & processHistory() const
std::string const & className() const
std::string const & moduleLabel() const
std::string const & productInstanceName() const
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &)
std::string const & friendlyClassName() const
BranchID const & branchID() const
std::string const & moduleName() const
void setProductID(ProductID const &pid)
BranchID const & branchID() const
tuple pid
Definition: sysUtil.py:22
double b
Definition: hdecay.h:120
std::string ReleaseVersion
Definition: ReleaseVersion.h:7
std::set< std::string > const & branchAliases() const
std::string const & friendlyClassName() const
std::string const & branchName() const
double a
Definition: hdecay.h:121
std::string const & processName() const
ProductID const & productID() const
std::string const & moduleLabel() const
void setBranchDescription(std::shared_ptr< BranchDescription const > const &p)
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
ProcessHistory const * processHistory_
std::shared_ptr< BranchDescription const > branchDescription_