TreeReaderArray.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include "TTreeReaderArray.h"
6 
7 class TTreeReader;
8 class TClass;
9 class TObject;
10 
11 namespace boca
12 {
13 
14 class TreeReaderArray : public ROOT::Internal::TTreeReaderArrayBase
15 {
16 
17 public:
18 
19  class Iterator : public std::iterator<std::input_iterator_tag, TObject, long>
20  {
21 
22  public:
23 
24  Iterator();
25 
26  Iterator(std::size_t index, TreeReaderArray* array);
27 
28  bool IsValid() const;
29 
30  bool operator==(Iterator const& iter) const;
31 
32  bool operator!=(Iterator const& iter) const;
33 
34  Iterator operator++(int);
35 
37 
38  TObject& operator*() const;
39 
40  private:
41 
42  std::size_t index_;
43 
44  TreeReaderArray* array_;
45 
46  };
47 
48  TreeReaderArray(TTreeReader& tree_reader, std::string const& branch_name, TClass& cl);
49 
50  TObject& At(std::size_t index);
51 
52  TObject& operator[](std::size_t index);
53 
54  using iterator = Iterator;
55 
56  Iterator begin();
57 
58  Iterator end() const;
59 
60 protected:
61 
62  virtual char const* GetDerivedTypeName() const;
63 
64 };
65 
66 }
67 
Iterator end() const
Definition: TreeReaderArray.cpp:78
TObject & operator[](std::size_t index)
Definition: TreeReaderArray.cpp:67
Iterator begin()
Definition: TreeReaderArray.cpp:73
bool operator!=(Iterator const &iter) const
Definition: TreeReaderArray.cpp:29
bool IsValid() const
Definition: TreeReaderArray.cpp:17
Iterator()
Definition: TreeReaderArray.cpp:9
TreeReaderArray(TTreeReader &tree_reader, std::string const &branch_name, TClass &cl)
Definition: TreeReaderArray.cpp:58
Definition: TreeReaderArray.hh:14
TObject & At(std::size_t index)
Definition: TreeReaderArray.cpp:62
Definition: TreeReaderArray.hh:19
Boosted Collider Analysis.
Definition: Analysis.hh:15
bool operator==(Iterator const &iter) const
Definition: TreeReaderArray.cpp:23
virtual char const * GetDerivedTypeName() const
Definition: TreeReaderArray.cpp:83
Iterator & operator++()
Definition: TreeReaderArray.cpp:40
TObject & operator*() const
Definition: TreeReaderArray.cpp:50