50 if (
fSize == std::numeric_limits<ULong64_t>::max()) {
53 std::vector<std::pair<ULong64_t, ULong64_t>> ranges(
fNSlots);
54 for (
auto &range : ranges) {
55 range = std::make_pair(currentEntry, currentEntry + 10);
77 assert(0U ==
fNSlots &&
"Setting the number of slots even if the number of slots is different from zero.");
86 if (
fSize == std::numeric_limits<ULong64_t>::max()) {
112 auto lm = std::make_unique<RDFDetail::RLoopManager>(std::make_unique<RTrivialDS>(
size, skipEvenEntries),
127std::unique_ptr<ROOT::Detail::RDF::RColumnReaderBase>
132 throw std::runtime_error(
"The type specified for the column \"col0\" is not ULong64_t.");
137 return std::make_unique<ROOT::Internal::RDF::RTrivialDSColumnReader>(
fCounterAddr[slot]);
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
unsigned long long ULong64_t
Portable unsigned long integer 8 bytes.
The public interface to the RDataFrame federation of classes.
std::string GetTypeName(std::string_view) const final
Type of a column as a string, e.g.
bool HasColumn(std::string_view colName) const final
Checks if the dataset has a certain column.
void SetNSlots(unsigned int nSlots) final
Inform RDataSource of the number of processing slots (i.e.
std::vector< std::pair< ULong64_t, ULong64_t > > fEntryRanges
std::string GetLabel() final
Return a string representation of the datasource type.
std::vector< ULong64_t * > fCounterAddr
std::vector< void * > GetColumnReadersImpl(std::string_view name, const std::type_info &) final
type-erased vector of pointers to pointers to column values - one per slot
std::vector< ULong64_t > fCounter
std::vector< std::string > fColNames
bool SetEntry(unsigned int slot, ULong64_t entry) final
Advance the "cursors" returned by GetColumnReaders to the selected entry for a particular slot.
std::unique_ptr< ROOT::Detail::RDF::RColumnReaderBase > GetColumnReaders(unsigned int slot, std::string_view colName, const std::type_info &tid) final
If the other GetColumnReaders overload returns an empty vector, this overload will be called instead.
std::vector< std::pair< ULong64_t, ULong64_t > > GetEntryRanges() final
Return ranges of entries to distribute to tasks.
RTrivialDS(ULong64_t size, bool skipEvenEntries=false)
const std::vector< std::string > & GetColumnNames() const final
Returns a reference to the collection of the dataset's column names.
void Initialize() final
Convenience method called before starting an event-loop.
RInterface< RDFDetail::RLoopManager > MakeTrivialDataFrame(ULong64_t size, bool skipEvenEntries=false)
Make a RDF wrapping a RTrivialDS with the specified amount of entries.
std::vector< std::string > ColumnNames_t
TSeq< unsigned long > TSeqUL