11#ifndef ROOT_RDF_COLUMNREADERUTILS
12#define ROOT_RDF_COLUMNREADERUTILS
41using namespace ROOT::TypeTraits;
45 RLoopManager &lm, TTreeReader *treeReader, std::string_view colName,
46 const std::type_info &ti);
60template <
typename... ColTypes>
61std::array<RDFDetail::RColumnReaderBase *,
sizeof...(ColTypes)>
63 const std::string &variationName =
"nominal")
72 std::array<RDFDetail::RColumnReaderBase *,
sizeof...(ColTypes)>
ret{
73 (++i,
GetColumnReader(slot, colRegister.GetReader(slot, colNames[i], variationName,
typeid(ColTypes)), lm,
74 treeReader, colNames[i],
typeid(ColTypes)))...};
79inline std::array<RDFDetail::RColumnReaderBase *, 0>
85std::vector<RDFDetail::RColumnReaderBase *>
88 const std::vector<const std::type_info *> &colTypeIDs,
89 const std::string &variationName =
"nominal");
The head node of a RDF computation graph.
A binder for user-defined columns, variations and aliases.
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
RDFDetail::RColumnReaderBase * GetColumnReader(unsigned int slot, RColumnReaderBase *defineOrVariationReader, RLoopManager &lm, TTreeReader *treeReader, std::string_view colName, const std::type_info &ti)
std::vector< RDFDetail::RColumnReaderBase * > GetUntypedColumnReaders(unsigned int slot, TTreeReader *treeReader, ROOT::Internal::RDF::RColumnRegister &colRegister, ROOT::Detail::RDF::RLoopManager &lm, const std::vector< std::string > &colNames, const std::vector< const std::type_info * > &colTypeIDs, const std::string &variationName="nominal")
std::array< RDFDetail::RColumnReaderBase *, sizeof...(ColTypes)> GetColumnReaders(unsigned int slot, TTreeReader *treeReader, TypeList< ColTypes... >, const RColumnReadersInfo &colInfo, const std::string &variationName="nominal")
Create a group of column readers, one per type in the parameter pack.
This type aggregates some of the arguments passed to GetColumnReaders.
RLoopManager & fLoopManager
RColumnRegister & fColRegister
const std::vector< std::string > & fColNames
Lightweight storage for a collection of types.