CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch12/src/IOPool/Input/src/Inputfwd.h

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_; // For backward compatibility
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