Logo ROOT  
Reference Guide
No Matches
ROOT::Experimental::RClusterDescriptor Class Reference

Meta-data for a set of ntuple clusters.

The cluster descriptor is built in two phases. In a first phase, the descriptor has only an ID. In a second phase, the event range, column group, page locations and column ranges are added. Both phases are populated by the RClusterDescriptorBuilder. Clusters usually span across all available columns but in some cases they can describe only a subset of the columns, for instance when describing friend ntuples.

Definition at line 218 of file RNTupleDescriptor.hxx.


struct  RColumnRange
 The window of element indexes of a particular column in a particular cluster. More...
class  RPageRange
 Records the parition of data into pages for a particular column in a particular cluster. More...

Public Member Functions

 RClusterDescriptor ()=default
 RClusterDescriptor (const RClusterDescriptor &other)=delete
 RClusterDescriptor (RClusterDescriptor &&other)=default
RClusterDescriptor Clone () const
bool ContainsColumn (DescriptorId_t physicalId) const
std::uint64_t GetBytesOnStorage () const
std::unordered_set< DescriptorId_tGetColumnIds () const
const RColumnRangeGetColumnRange (DescriptorId_t physicalId) const
NTupleSize_t GetFirstEntryIndex () const
DescriptorId_t GetId () const
ClusterSize_t GetNEntries () const
const RPageRangeGetPageRange (DescriptorId_t physicalId) const
RClusterDescriptoroperator= (const RClusterDescriptor &other)=delete
RClusterDescriptoroperator= (RClusterDescriptor &&other)=default
bool operator== (const RClusterDescriptor &other) const

Private Attributes

DescriptorId_t fClusterId = kInvalidDescriptorId
std::unordered_map< DescriptorId_t, RColumnRangefColumnRanges
NTupleSize_t fFirstEntryIndex = kInvalidNTupleIndex
 Clusters can be swapped by adjusting the entry offsets.
ClusterSize_t fNEntries = kInvalidClusterIndex
std::unordered_map< DescriptorId_t, RPageRangefPageRanges


class Internal::RClusterDescriptorBuilder

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RClusterDescriptor() [1/3]

ROOT::Experimental::RClusterDescriptor::RClusterDescriptor ( )

◆ RClusterDescriptor() [2/3]

ROOT::Experimental::RClusterDescriptor::RClusterDescriptor ( const RClusterDescriptor other)

◆ RClusterDescriptor() [3/3]

ROOT::Experimental::RClusterDescriptor::RClusterDescriptor ( RClusterDescriptor &&  other)

Member Function Documentation

◆ Clone()

ROOT::Experimental::RClusterDescriptor ROOT::Experimental::RClusterDescriptor::Clone ( ) const

Definition at line 202 of file RNTupleDescriptor.cxx.

◆ ContainsColumn()

bool ROOT::Experimental::RClusterDescriptor::ContainsColumn ( DescriptorId_t  physicalId) const

Definition at line 333 of file RNTupleDescriptor.hxx.

◆ GetBytesOnStorage()

std::uint64_t ROOT::Experimental::RClusterDescriptor::GetBytesOnStorage ( ) const

Definition at line 191 of file RNTupleDescriptor.cxx.

◆ GetColumnIds()

std::unordered_set< ROOT::Experimental::DescriptorId_t > ROOT::Experimental::RClusterDescriptor::GetColumnIds ( ) const

Definition at line 183 of file RNTupleDescriptor.cxx.

◆ GetColumnRange()

const RColumnRange & ROOT::Experimental::RClusterDescriptor::GetColumnRange ( DescriptorId_t  physicalId) const

Definition at line 331 of file RNTupleDescriptor.hxx.

◆ GetFirstEntryIndex()

NTupleSize_t ROOT::Experimental::RClusterDescriptor::GetFirstEntryIndex ( ) const

Definition at line 329 of file RNTupleDescriptor.hxx.

◆ GetId()

DescriptorId_t ROOT::Experimental::RClusterDescriptor::GetId ( ) const

Definition at line 328 of file RNTupleDescriptor.hxx.

◆ GetNEntries()

ClusterSize_t ROOT::Experimental::RClusterDescriptor::GetNEntries ( ) const

Definition at line 330 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

const RPageRange & ROOT::Experimental::RClusterDescriptor::GetPageRange ( DescriptorId_t  physicalId) const

Definition at line 332 of file RNTupleDescriptor.hxx.

◆ operator=() [1/2]

RClusterDescriptor & ROOT::Experimental::RClusterDescriptor::operator= ( const RClusterDescriptor other)

◆ operator=() [2/2]

RClusterDescriptor & ROOT::Experimental::RClusterDescriptor::operator= ( RClusterDescriptor &&  other)

◆ operator==()

bool ROOT::Experimental::RClusterDescriptor::operator== ( const RClusterDescriptor other) const

Definition at line 176 of file RNTupleDescriptor.cxx.

Friends And Related Symbol Documentation

◆ Internal::RClusterDescriptorBuilder

Definition at line 219 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

DescriptorId_t ROOT::Experimental::RClusterDescriptor::fClusterId = kInvalidDescriptorId

Definition at line 308 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

std::unordered_map<DescriptorId_t, RColumnRange> ROOT::Experimental::RClusterDescriptor::fColumnRanges

Definition at line 314 of file RNTupleDescriptor.hxx.

◆ fFirstEntryIndex

NTupleSize_t ROOT::Experimental::RClusterDescriptor::fFirstEntryIndex = kInvalidNTupleIndex

Clusters can be swapped by adjusting the entry offsets.

Definition at line 310 of file RNTupleDescriptor.hxx.

◆ fNEntries

ClusterSize_t ROOT::Experimental::RClusterDescriptor::fNEntries = kInvalidClusterIndex

Definition at line 312 of file RNTupleDescriptor.hxx.

◆ fPageRanges

std::unordered_map<DescriptorId_t, RPageRange> ROOT::Experimental::RClusterDescriptor::fPageRanges

Definition at line 315 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RClusterDescriptor:

The documentation for this class was generated from the following files: