Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:05:02

0001 #ifndef DataFormats_Provenance_RunLumiEntryInfo_h
0002 #define DataFormats_Provenance_RunLumiEntryInfo_h
0003 
0004 /*----------------------------------------------------------------------
0005   
0006 RunLumiEntryInfo: The event dependent portion of the description of a product
0007 and how it came into existence, plus the product identifier.
0008 
0009 ----------------------------------------------------------------------*/
0010 #include <iosfwd>
0011 #include <vector>
0012 
0013 #include "DataFormats/Provenance/interface/BranchID.h"
0014 
0015 /*
0016   RunLumiEntryInfo
0017 */
0018 namespace edm {
0019   class RunLumiEntryInfo {
0020   public:
0021     RunLumiEntryInfo();
0022     ~RunLumiEntryInfo();
0023 
0024     void write(std::ostream& os) const;
0025 
0026     BranchID const& branchID() const { return branchID_; }
0027 
0028   private:
0029     BranchID branchID_;
0030   };
0031 
0032   inline bool operator<(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) { return a.branchID() < b.branchID(); }
0033 
0034   inline std::ostream& operator<<(std::ostream& os, RunLumiEntryInfo const& p) {
0035     p.write(os);
0036     return os;
0037   }
0038 
0039   // Only the 'salient attributes' are testing in equality comparison.
0040   bool operator==(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b);
0041   inline bool operator!=(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) { return !(a == b); }
0042 
0043   typedef RunLumiEntryInfo LumiEntryInfo;
0044   typedef RunLumiEntryInfo RunEntryInfo;
0045 }  // namespace edm
0046 #endif