CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/DataFormats/Provenance/interface/ProductLookupIndex.h

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