4#ifndef MUONTESTER_MUONVECTORBRANCH_H
5#define MUONTESTER_MUONVECTORBRANCH_H
28 bool fill(
const EventContext& ctx)
override;
33 inline size_t size()
const;
39 inline const std::vector<T>&
operator=(
const std::vector<T>& values);
45 inline T&
get(
size_t idx);
Most basic interface class used by the MuonTester tree.
virtual std::string name() const =0
Returns the name of the branch.
virtual TTree * tree()=0
Returns the pointer to the underlying TTree object.
MuonTesterBranch(MuonTesterTree &tree, const std::string &br_name)
size_t size() const
Returns the number of actual saved elements.
void push_back(const T &value)
Adds a new element at the end of the vector.
bool fill(const EventContext &ctx) override
Clears vector in cases that it has not been updated in this event Retursn falls if the vector has not...
const T & getDefault() const
VectorBranch(MuonTesterTree &tree, const std::string &name, const T &def)
void setDefault(const T &def)
VectorBranch(TTree *tree, const std::string &name)
Standard constructor.
virtual ~VectorBranch()=default
T & operator[](size_t idx)
Accesses the idx-th element.
VectorBranch(TTree *tree, const std::string &name, const T &def)
Constructor with assigned default value.
const std::vector< T > & operator=(const std::vector< T > &values)
std::vector< T > m_variable
VectorBranch(MuonTesterTree &tree, const std::string &name)
void operator+=(const T &value)
bool init() override
Initialized the Branch.
Class to store array like branches into the n-tuples.