CMS 3D CMS Logo

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);
24 
25  void updateFromParent(BranchIDLists const& bidlists);
26 
28  bool fixBranchListIndexes(BranchListIndexes& indexes, bool assertOnFailure = true) const;
29 
30  void updateFromRegistry(ProductRegistry const& reg);
31 
32  //CMS-THREADING this is called in SubJob::beginJob
34 
35  //Used by the EventPrincipal
36  BranchIDLists const& branchIDLists() const { return branchIDLists_; }
40 
41  private:
44  std::vector<BranchListIndex> inputIndexToJobIndex_;
47  };
48 } // namespace edm
49 
50 #endif
unsigned short BranchListIndex
std::pair< BranchListIndex, ProductIndex > IndexPair
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
bool fixBranchListIndexes(BranchListIndexes &indexes, bool assertOnFailure=true) const
Called by sources to convert their read indexes into the indexes used by the job. ...
void updateFromParent(BranchIDLists const &bidlists)
BranchIDLists const & branchIDLists() const
uint16_t size_type
void updateFromRegistry(ProductRegistry const &reg)
BranchIDLists::size_type nAlreadyCopied_
BranchListIndex producedBranchListIndex() const
std::vector< BranchListIndex > BranchListIndexes
BranchListIndex producedBranchListIndex_
std::multimap< BranchID, IndexPair > BranchIDToIndexMap
BranchIDLists & mutableBranchIDLists()
BranchIDToIndexMap branchIDToIndexMap_
bool updateFromInput(BranchIDLists const &bidlists)
HLT enums.
BranchIDToIndexMap const & branchIDToIndexMap() const
std::vector< BranchListIndex > inputIndexToJobIndex_