4 #ifndef PODIO_ROOT_UTILS_H
5 #define PODIO_ROOT_UTILS_H
7 #include "podio/podioVersion.h"
8 #include "podio/CollectionBase.h"
9 #include "podio/CollectionBranches.h"
22 return static_cast<TBranch*
>(chain->GetListOfBranches()->FindObject(name));
25 inline std::string
refBranch(
const std::string& name,
size_t index) {
26 return name +
"#" + std::to_string(index);
29 inline std::string
vecBranch(
const std::string& name,
size_t index) {
30 return name +
"_" + std::to_string(index);
35 auto buffers = collection->getBuffers();
36 auto data = buffers.data;
37 auto references = buffers.references;
38 auto vecmembers = buffers.vectorMembers;
41 branches.data->SetAddress(data);
45 for (
size_t i = 0; i < references->size(); ++i) {
46 branches.refs[i]->SetAddress(&(*references)[i]);
51 for (
size_t i = 0; i < vecmembers->size(); ++i) {
52 branches.vecs[i]->SetAddress((*vecmembers)[i].second);