Go to the documentation of this file.00001 #ifndef IOPool_Input_Inputfwd_h
00002 #define IOPool_Input_Inputfwd_h
00003
00004 #include <map>
00005
00006 #include "Rtypes.h"
00007 class TBranch;
00008 class TTree;
00009 class TTreeCache;
00010 class TClass;
00011
00012 #include "InputFile.h"
00013 #include "DataFormats/Provenance/interface/ConstBranchDescription.h"
00014
00015 namespace edm {
00016 class BranchKey;
00017 class FileFormatVersion;
00018 class RootFile;
00019 class RootDelayedReader;
00020 class RootTree;
00021 namespace input {
00022 unsigned int const defaultCacheSize = 20U * 1024 * 1024;
00023 unsigned int const defaultNonEventCacheSize = 1U * 1024 * 1024;
00024 unsigned int const defaultLearningEntries = 20U;
00025 unsigned int const defaultNonEventLearningEntries = 1U;
00026 struct BranchInfo {
00027 BranchInfo(ConstBranchDescription const& prod) :
00028 branchDescription_(prod),
00029 productBranch_(0),
00030 provenanceBranch_(0),
00031 classCache_(0),
00032 offsetToEDProduct_(0) {}
00033 ConstBranchDescription branchDescription_;
00034 TBranch* productBranch_;
00035 TBranch* provenanceBranch_;
00036 mutable TClass* classCache_;
00037 mutable Int_t offsetToEDProduct_;
00038 };
00039 typedef std::map<BranchKey const, BranchInfo> BranchMap;
00040 typedef Long64_t EntryNumber;
00041 Int_t getEntry(TBranch* branch, EntryNumber entryNumber);
00042 Int_t getEntry(TTree* tree, EntryNumber entryNumber);
00043 Int_t getEntryWithCache(TBranch* branch, EntryNumber entryNumber, TTreeCache* treeCache, InputFile* filePtr);
00044 Int_t getEntryWithCache(TTree* tree, EntryNumber entryNumber, TTreeCache* treeCache, InputFile* filePtr);
00045 }
00046 }
00047 #endif