CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/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 and the status.
00008 
00009 ----------------------------------------------------------------------*/
00010 #include <iosfwd>
00011 #include <vector>
00012 
00013 #include "DataFormats/Provenance/interface/BranchID.h"
00014 #include "DataFormats/Provenance/interface/ProductStatus.h"
00015 
00016 /*
00017   RunLumiEntryInfo
00018 */
00019 namespace edm {
00020   class RunLumiEntryInfo {
00021   public:
00022     RunLumiEntryInfo();
00023     ~RunLumiEntryInfo();
00024 
00025     void write(std::ostream& os) const;
00026 
00027     BranchID const& branchID() const {return branchID_;}
00028     ProductStatus const& productStatus() const {return productStatus_;}
00029 
00030   private:
00031     BranchID branchID_;
00032     ProductStatus productStatus_;
00033   };
00034 
00035   inline
00036   bool
00037   operator < (RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) {
00038     return a.branchID() < b.branchID();
00039   }
00040   
00041   inline
00042   std::ostream&
00043   operator<<(std::ostream& os, RunLumiEntryInfo const& p) {
00044     p.write(os);
00045     return os;
00046   }
00047 
00048   // Only the 'salient attributes' are testing in equality comparison.
00049   bool operator==(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b);
00050   inline bool operator!=(RunLumiEntryInfo const& a, RunLumiEntryInfo const& b) { return !(a==b); }
00051 
00052   typedef RunLumiEntryInfo LumiEntryInfo;
00053   typedef RunLumiEntryInfo RunEntryInfo;
00054 }
00055 #endif