![]() |
![]() |
00001 #ifndef IOPool_Input_BranchMapperWithReader 00002 #define IOPool_Input_BranchMapperWithReader 00003 00004 /*---------------------------------------------------------------------- 00005 00006 BranchMapperWithReader: 00007 00008 ----------------------------------------------------------------------*/ 00009 #include "DataFormats/Provenance/interface/BranchMapper.h" 00010 00011 #include <vector> 00012 00013 namespace edm { 00014 class RootTree; 00015 class BranchMapperWithReader : public BranchMapper { 00016 public: 00017 BranchMapperWithReader(); 00018 explicit BranchMapperWithReader(RootTree* rootTree); 00019 00020 virtual ~BranchMapperWithReader() {} 00021 void insertIntoMap(ProductID const& oldProductID, BranchID const& branchID); 00022 00023 private: 00024 virtual void readProvenance_() const; 00025 virtual BranchID oldProductIDToBranchID_(ProductID const& oldProductID) const; 00026 virtual void reset_(); 00027 00028 RootTree* rootTree_; 00029 ProductProvenanceVector infoVector_; 00030 mutable ProductProvenanceVector* pInfoVector_; 00031 std::map<unsigned int, BranchID> oldProductIDToBranchIDMap_; 00032 }; 00033 } 00034 #endif