CMS 3D CMS Logo

EventEntryDescription.h
Go to the documentation of this file.
1 #ifndef DataFormats_Provenance_EventEntryDescription_h
2 #define DataFormats_Provenance_EventEntryDescription_h
3 
4 /*----------------------------------------------------------------------
5 
6 EventEntryDescription: The event dependent portion of the description of a product
7 and how it came into existence.
8 
9 ----------------------------------------------------------------------*/
10 #include <iosfwd>
11 #include <vector>
12 
15 
16 /*
17  EventEntryDescription
18 
19  definitions:
20  Product: The WrapperBase to which a provenance object is associated
21 
22  Creator: The EDProducer that made the product.
23 
24  Parents: The EDProducts used as input by the creator.
25 */
26 
27 namespace edm {
29  public:
31 
33 
34  // Only the 'salient attributes' are encoded into the ID.
35  EntryDescriptionID id() const;
36 
37  void write(std::ostream& os) const;
38 
39  std::vector<BranchID> const& parents() const { return parents_; }
40 
41  void setParents(std::vector<BranchID> const& parents) { parents_ = parents; }
42 
43  private:
44  // The Branch IDs of the parents
45  std::vector<BranchID> parents_;
46 
48  };
49 
50  inline std::ostream& operator<<(std::ostream& os, EventEntryDescription const& p) {
51  p.write(os);
52  return os;
53  }
54 
55  // Only the 'salient attributes' are testing in equality comparison.
56  bool operator==(EventEntryDescription const& a, EventEntryDescription const& b);
57  inline bool operator!=(EventEntryDescription const& a, EventEntryDescription const& b) { return !(a == b); }
58 } // namespace edm
59 #endif
edm::EventEntryDescription
Definition: EventEntryDescription.h:28
edm::EventEntryDescription::EventEntryDescription
EventEntryDescription()
Definition: EventEntryDescription.cc:11
edm::EventEntryDescription::parents_
std::vector< BranchID > parents_
Definition: EventEntryDescription.h:45
edm
HLT enums.
Definition: AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
BranchID.h
EntryDescriptionID.h
edm::EventEntryDescription::setParents
void setParents(std::vector< BranchID > const &parents)
Definition: EventEntryDescription.h:41
edm::operator<<
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
Definition: HLTGlobalStatus.h:106
edm::operator!=
bool operator!=(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
Definition: debugging_allocator.h:75
edm::operator==
bool operator==(debugging_allocator< X > const &, debugging_allocator< Y > const &) noexcept
Definition: debugging_allocator.h:72
edm::EventEntryDescription::moduleDescriptionID_
Hash< ModuleDescriptionType > moduleDescriptionID_
Definition: EventEntryDescription.h:47
edm::Hash< EntryDescriptionType >
b
double b
Definition: hdecay.h:118
edm::EventEntryDescription::parents
std::vector< BranchID > const & parents() const
Definition: EventEntryDescription.h:39
a
double a
Definition: hdecay.h:119
edm::EventEntryDescription::write
void write(std::ostream &os) const
Definition: EventEntryDescription.cc:26
edm::EventEntryDescription::~EventEntryDescription
~EventEntryDescription()
Definition: EventEntryDescription.h:32
edm::EventEntryDescription::id
EntryDescriptionID id() const
Definition: EventEntryDescription.cc:13