LArSoft  v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
Inputfwd.h
Go to the documentation of this file.
1 #ifndef art_Framework_IO_Root_Inputfwd_h
2 #define art_Framework_IO_Root_Inputfwd_h
3 
4 // ======================================================================
5 //
6 // Inputfwd
7 //
8 // ======================================================================
9 
10 #include "Rtypes.h"
11 #include <map>
12 #include <vector>
13 
14 // ----------------------------------------------------------------------
15 
16 class TBranch;
17 class TTree;
18 
19 namespace art {
20  class BranchDescription;
21  struct BranchKey;
22  struct FileFormatVersion;
23  class FastCloningInfoProvider;
24  class RootInputFile;
25  class RootDelayedReader;
26  class RootInputTree;
27  class RootInputFileSequence;
28  class FileCatalogItem;
29  class RootInput;
30 
31  namespace input {
32 
33  struct BranchInfo {
34  BranchInfo(BranchDescription const& prod, TBranch* const branch)
35  : branchDescription_{prod}, productBranch_{branch}
36  {}
37 
38  // Ideally, a reference to the branch-description does not need
39  // to be retained. It is used to fill the groups in the
40  // principal.
42  TBranch* productBranch_;
43  }; // BranchInfo
44 
45  using BranchMap = std::map<BranchKey const, BranchInfo>;
46  using EntryNumber = Long64_t;
47  using EntryNumbers = std::vector<EntryNumber>;
48  Int_t getEntry(TBranch* branch, EntryNumber entryNumber);
49  Int_t getEntry(TTree* tree, EntryNumber entryNumber);
50 
51  } // input
52 } // art
53 
54  // ======================================================================
55 
56 #endif /* art_Framework_IO_Root_Inputfwd_h */
57 
58 // Local Variables:
59 // mode: c++
60 // End:
BranchInfo(BranchDescription const &prod, TBranch *const branch)
Definition: Inputfwd.h:34
std::vector< EntryNumber > EntryNumbers
Definition: Inputfwd.h:47
std::map< BranchKey const, BranchInfo > BranchMap
Definition: Inputfwd.h:45
Long64_t EntryNumber
Definition: Inputfwd.h:46
BranchDescription const & branchDescription_
Definition: Inputfwd.h:41
HLT enums.
Int_t getEntry(TBranch *branch, EntryNumber entryNumber)
Definition: getEntry.cc:12
TBranch * productBranch_
Definition: Inputfwd.h:42