00001 #ifndef IOPool_Input_Inputfwd_h 00002 #define IOPool_Input_Inputfwd_h 00003 00004 #include <map> 00005 00006 #include "Rtypes.h" 00007 #include "Reflex/Type.h" 00008 class TBranch; 00009 class TTree; 00010 00011 #include "DataFormats/Provenance/interface/ConstBranchDescription.h" 00012 00013 namespace edm { 00014 class BranchKey; 00015 class FileFormatVersion; 00016 class RootFile; 00017 class RootDelayedReader; 00018 class RootTree; 00019 namespace input { 00020 struct BranchInfo { 00021 BranchInfo(ConstBranchDescription const& prod) : 00022 branchDescription_(prod), 00023 productBranch_(0), 00024 provenanceBranch_(0) {} 00025 ConstBranchDescription branchDescription_; 00026 TBranch * productBranch_; 00027 // The rest are for backward compatibility 00028 TBranch * provenanceBranch_; 00029 }; 00030 typedef std::map<BranchKey const, BranchInfo> BranchMap; 00031 typedef Long64_t EntryNumber; 00032 Int_t getEntry(TBranch * branch, EntryNumber entryNumber); 00033 Int_t getEntry(TTree * tree, EntryNumber entryNumber); 00034 } 00035 } 00036 #endif