00001 #ifndef DataFormats_Provenance_ProductLookupIndex_h 00002 #define DataFormats_Provenance_ProductLookupIndex_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Provenance 00006 // Class : ProductLookupIndex 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Fri May 1 11:00:21 CDT 2009 00019 // 00020 00021 // system include files 00022 00023 // user include files 00024 #include "DataFormats/Provenance/interface/ProductTransientIndex.h" 00025 00026 // forward declarations 00027 00028 namespace edm { 00029 class ConstBranchDescription; 00030 00031 class ProductLookupIndex { 00032 00033 public: 00034 ProductLookupIndex(ConstBranchDescription const* iBranch, 00035 ProductTransientIndex iIndex, 00036 unsigned int iProcessIndex, 00037 bool iIsFirst=false): 00038 branchDescription_(iBranch), 00039 index_(iIndex), 00040 processIndex_(iProcessIndex), 00041 isFirst_(iIsFirst) {} 00042 00043 void setIsFirst(bool iIsFirst) { 00044 isFirst_ = iIsFirst; 00045 } 00046 00047 void setProcessIndex(unsigned int iIndex) { 00048 processIndex_ = iIndex; 00049 } 00050 // ---------- const member functions --------------------- 00051 ConstBranchDescription const* branchDescription() const { return branchDescription_; } 00052 ProductTransientIndex index() const { return index_; } 00053 00055 unsigned int processIndex() const { return processIndex_; } 00056 00060 bool isFirst() const { return isFirst_; } 00061 00062 private: 00063 //ProductLookupIndex(ProductLookupIndex const&); // allow default 00064 00065 //ProductLookupIndex const& operator=(ProductLookupIndex const&); // allow default 00066 00067 // ---------- member data -------------------------------- 00068 ConstBranchDescription const* branchDescription_; 00069 ProductTransientIndex index_; 00070 unsigned int processIndex_; 00071 bool isFirst_; 00072 00073 }; 00074 } 00075 00076 00077 #endif