CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/DataFormats/Provenance/interface/RunLumiEntryInfo.h

Go to the documentation of this file.
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