29 auto columnIterable = desc.GetColumnIterable(fieldId);
33 auto columnId = fnGetPrincipalColumnId(field.
GetOnDiskId());
37 const auto &linkIds = desc.GetFieldDescriptor(field.
GetOnDiskId()).GetLinkIds();
38 std::deque<ROOT::DescriptorId_t> subFields(linkIds.begin(), linkIds.end());
39 while (!subFields.empty()) {
40 auto subFieldId = subFields.front();
41 subFields.pop_front();
42 columnId = fnGetPrincipalColumnId(subFieldId);
46 const auto &subLinkIds = desc.GetFieldDescriptor(subFieldId).GetLinkIds();
47 subFields.insert(subFields.end(), subLinkIds.begin(), subLinkIds.end());
55 auto arraySize = std::max(std::uint64_t(1), desc.GetFieldDescriptor(field.
GetOnDiskId()).GetNRepetitions());
const ROOT::RNTupleDescriptor & GetRef() const
Abstract interface to read data from an ntuple.
const RSharedDescriptorGuard GetSharedDescriptorGuard() const
Takes the read lock for the descriptor. Multiple threads can take the lock concurrently....
ROOT::RNTupleGlobalRange GetFieldRange(const ROOT::RFieldBase &field, const ROOT::Internal::RPageSource &pageSource)
Helper to get the iteration space of the given field that needs to be connected to the given page sou...