CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
BranchIDListHelper.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_BranchIDListHelper_h
2 #define FWCore_Framework_BranchIDListHelper_h
3 
8 
9 #include <map>
10 #include <vector>
11 #include <limits>
12 
13 namespace edm {
14 
16  public:
17  typedef std::pair<BranchListIndex, ProductIndex> IndexPair;
18  typedef std::multimap<BranchID, IndexPair> BranchIDToIndexMap;
19 
21 
22  //CMS-THREADING called when a new file is opened
23  bool updateFromInput(BranchIDLists const& bidlists);
25  void fixBranchListIndexes(BranchListIndexes& indexes) const;
26 
27  void updateFromRegistry(ProductRegistry const& reg);
28 
29  //CMS-THREADING this is called in SubJob::beginJob
31 
32  //Used by the EventPrincipal
33  BranchIDLists const& branchIDLists() const {return branchIDLists_;}
36  bool hasProducedProducts() const {
38  }
39 
40  private:
43  std::vector<BranchListIndex> inputIndexToJobIndex_;
45  };
46 }
47 
48 #endif
unsigned short BranchListIndex
std::pair< BranchListIndex, ProductIndex > IndexPair
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
BranchIDToIndexMap const & branchIDToIndexMap() const
void updateFromRegistry(ProductRegistry const &reg)
BranchListIndex producedBranchListIndex() const
std::vector< BranchListIndex > BranchListIndexes
const T & max(const T &a, const T &b)
BranchListIndex producedBranchListIndex_
BranchIDLists const & branchIDLists() const
std::multimap< BranchID, IndexPair > BranchIDToIndexMap
BranchIDLists & mutableBranchIDLists()
bool hasProducedProducts() const
BranchIDToIndexMap branchIDToIndexMap_
bool updateFromInput(BranchIDLists const &bidlists)
void fixBranchListIndexes(BranchListIndexes &indexes) const
Called by sources to convert their read indexes into the indexes used by the job. ...
std::vector< BranchListIndex > inputIndexToJobIndex_