18class Container :
public IndexedObject {
20 Container() =
default;
22 explicit Container(
size_t id) : IndexedObject(
id) {}
25 floats_(branch.GetSize<
float>()),
26 ints_(branch.GetSize<
int>()),
27 bools_(branch.GetSize<
bool>()) {}
29 Container(
const Container& container) =
default;
30 Container(Container&& container) =
default;
31 Container& operator=(Container&&) =
default;
32 Container& operator=(
const Container& part) =
default;
33 ~Container()
override =
default;
36 std::vector<T>& Vector();
39 const std::vector<T>& GetVector()
const;
42 void SetField(T value, Integer_t field_id) {
43 Vector<T>().at(field_id) = value;
47 ANALYSISTREE_ATTR_NODISCARD T GetField(Integer_t field_id)
const {
48 return GetVector<T>().at(field_id);
52 ANALYSISTREE_ATTR_NODISCARD
size_t GetSize()
const {
53 return GetVector<T>().size();
57 virtual void Print()
const noexcept;
60 std::vector<float> floats_{};
61 std::vector<int> ints_{};
62 std::vector<bool> bools_{};
64 ClassDefOverride(Container, 2);