GamR  0.0.0
GammaROOT
Loading...
Searching...
No Matches
Reader.hh
Go to the documentation of this file.
1#ifndef GAMROOT_TREE_READER_HH
2#define GAMROOT_TREE_READER_HH
3
4#include <string>
5#include <unordered_map>
6#include <vector>
7
8#include <TTreeReader.h>
9#include <TTreeReaderArray.h>
10#include <TTreeReaderValue.h>
11
12namespace GamR {
13namespace Tree {
14
15class Reader {
16public: // Objects
17 struct DetGroup {
18 const Reader *p;
19 std::unordered_map<size_t, TTreeReaderArray<Double_t>> Meas;
20 TTreeReaderArray<UShort_t> ID;
21 // TTreeReaderArray<Float16_t> Eff;
22 DetGroup(const Reader *parent, size_t g, std::vector<size_t> measn);
23 size_t NumFired() const { return ID.GetSize(); }
24 const TTreeReaderArray<Double_t> &operator[](const size_t n) const { return Meas.at(n); }
25 };
26
27private: // Member variables
28 TTreeReader *pTreeReader;
29 std::unordered_map<size_t, DetGroup> Groups;
30 TTreeReaderValue<ULong64_t> EventNum;
31
32public: // Public interface
33 Reader(TTreeReader &R, std::vector<std::pair<size_t, size_t>> branches);
34
35 Bool_t Next() { return pTreeReader->Next(); }
36 ULong64_t GetEventNum() { return *EventNum; }
37
38 const DetGroup &operator[](const size_t n) const { return Groups.at(n); }
39};
40
41} // namespace Tree
42} // namespace GamR
43
44#endif
ULong64_t GetEventNum()
Definition Reader.hh:36
const DetGroup & operator[](const size_t n) const
Definition Reader.hh:38
Reader(TTreeReader &R, std::vector< std::pair< size_t, size_t > > branches)
Definition Reader.cc:22
Bool_t Next()
Definition Reader.hh:35
Definition Gain.cc:19
DetGroup(const Reader *parent, size_t g, std::vector< size_t > measn)
Definition Reader.cc:6
const TTreeReaderArray< Double_t > & operator[](const size_t n) const
Definition Reader.hh:24
std::unordered_map< size_t, TTreeReaderArray< Double_t > > Meas
Definition Reader.hh:19
size_t NumFired() const
Definition Reader.hh:23
TTreeReaderArray< UShort_t > ID
Definition Reader.hh:20