00001 #ifndef DataFormats_Provenance_RunLumiEntryInfo_h 00002 #define DataFormats_Provenance_RunLumiEntryInfo_h 00003 00004 /*---------------------------------------------------------------------- 00005 00006 RunLumiEntryInfo: The event dependent portion of the description of a product 00007 and how it came into existence, plus the product identifier. 00008 00009 ----------------------------------------------------------------------*/ 00010 #include <iosfwd> 00011 #include <vector> 00012 00013 #include "DataFormats/Provenance/interface/BranchID.h" 00014 00015 /* 00016 RunLumiEntryInfo 00017 */ 00018 namespace edm { 00019 class RunLumiEntryInfo { 00020 public: 00021 RunLumiEntryInfo(); 00022 ~RunLumiEntryInfo(); 00023 00024 void write(std::ostream& os) const; 00025 00026 BranchID const& branchID() const {return branchID_;} 00027 00028 private: 00029 BranchID branchID_; 00030 }; 00031 00032 inline 00033 bool 00034 operator < (RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) { 00035 return a.branchID() < b.branchID(); 00036 } 00037 00038 inline 00039 std::ostream& 00040 operator<<(std::ostream& os, RunLumiEntryInfo const& p) { 00041 p.write(os); 00042 return os; 00043 } 00044 00045 // Only the 'salient attributes' are testing in equality comparison. 00046 bool operator==(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b); 00047 inline bool operator!=(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) { return !(a==b); } 00048 00049 typedef RunLumiEntryInfo LumiEntryInfo; 00050 typedef RunLumiEntryInfo RunEntryInfo; 00051 } 00052 #endif