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
edm::BranchIDListHelper::updateFromRegistry
void updateFromRegistry(ProductRegistry const &reg)
Definition: BranchIDListHelper.cc:59
ProvenanceFwd.h
edm::BranchIDListHelper::branchIDToIndexMap
BranchIDToIndexMap const & branchIDToIndexMap() const
Definition: BranchIDListHelper.h:37
edm::BranchIDListHelper::producedBranchListIndex
BranchListIndex producedBranchListIndex() const
Definition: BranchIDListHelper.h:38
edm::BranchIDListHelper::IndexPair
std::pair< BranchListIndex, ProductIndex > IndexPair
Definition: BranchIDListHelper.h:17
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::BranchListIndexes
std::vector< BranchListIndex > BranchListIndexes
Definition: BranchListIndex.h:18
edm::BranchIDListHelper::branchIDLists
BranchIDLists const & branchIDLists() const
Definition: BranchIDListHelper.h:36
edm::BranchIDListHelper::branchIDLists_
BranchIDLists branchIDLists_
Definition: BranchIDListHelper.h:42
edm::BranchIDListHelper::branchIDToIndexMap_
BranchIDToIndexMap branchIDToIndexMap_
Definition: BranchIDListHelper.h:43
edm::BranchIDListHelper::updateFromParent
void updateFromParent(BranchIDLists const &bidlists)
Definition: BranchIDListHelper.cc:44
edm::ProductRegistry
Definition: ProductRegistry.h:37
edm::BranchIDListHelper::mutableBranchIDLists
BranchIDLists & mutableBranchIDLists()
Definition: BranchIDListHelper.h:33
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
edm::BranchIDListHelper::nAlreadyCopied_
BranchIDLists::size_type nAlreadyCopied_
Definition: BranchIDListHelper.h:46
BranchListIndex.h
ProductID.h
edm::BranchIDListHelper::BranchIDToIndexMap
std::multimap< BranchID, IndexPair > BranchIDToIndexMap
Definition: BranchIDListHelper.h:18
edm::BranchListIndex
unsigned short BranchListIndex
Definition: BranchListIndex.h:17
edm::BranchIDLists
std::vector< BranchIDList > BranchIDLists
Definition: BranchIDList.h:19
edm::BranchIDListHelper::BranchIDListHelper
BranchIDListHelper()
Definition: BranchIDListHelper.cc:10
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
edm::BranchIDListHelper
Definition: BranchIDListHelper.h:15
edm::BranchIDListHelper::inputIndexToJobIndex_
std::vector< BranchListIndex > inputIndexToJobIndex_
Definition: BranchIDListHelper.h:44
BranchIDList.h
edm::BranchIDListHelper::updateFromInput
bool updateFromInput(BranchIDLists const &bidlists)
Definition: BranchIDListHelper.cc:17
edm::BranchIDListHelper::producedBranchListIndex_
BranchListIndex producedBranchListIndex_
Definition: BranchIDListHelper.h:45
edm::BranchIDListHelper::hasProducedProducts
bool hasProducedProducts() const
Definition: BranchIDListHelper.h:39
edm::BranchIDListHelper::fixBranchListIndexes
bool fixBranchListIndexes(BranchListIndexes &indexes, bool assertOnFailure=true) const
Called by sources to convert their read indexes into the indexes used by the job.
Definition: BranchIDListHelper.cc:84