28 std::tuple<Ts *...> fRawDatum;
29 std::tuple<std::pair<Ts, Double_t>...> fDatum;
30 std::tuple<std::vector<Ts>...> fRunning;
31 std::vector<std::shared_ptr<TFormula>> fCalFunc;
32 std::vector<std::shared_ptr<TFormula>> fPollGate;
38 std::array<std::pair<Double_t, Double_t>,
sizeof...(Ts)> fMean;
39 std::array<std::pair<Double_t, Double_t>,
sizeof...(Ts)> fStdDev;
44 std::array<Int_t,
sizeof...(Ts)> fRunningIndex;
45 std::array<Double_t,
sizeof...(Ts)> fRunningSquared;
56 TDetDefn(std::string t =
"",
int id = -1, std::string n =
"",
int I = 50000)
57 : fDatum(), fType(t), fName(n), fID(id), fPollFreq(I)
59 fRawDatum = std::make_tuple(
new Ts...);
60 fRunning = std::make_tuple(std::vector<Ts>(I)...);
61 fRnd.SetSeed(std::rand());
62 fRunningIndex.fill(0);
63 fRunningSquared.fill(0);
72 auto GetDatum(ULong64_t eventNum) ->
decltype(std::get<N>(fDatum)) &
75 return std::get<N>(fDatum);
88 void SetPtrs(std::map<std::string, void *> &branchmap, std::string branches);