Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
ROOT::RClusterDescriptor Class Referencefinal

Metadata 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 240 of file RNTupleDescriptor.hxx.

Classes

class  RColumnRange
 
class  RColumnRangeIterable
 
class  RPageInfo
 Information about a single page in the context of a cluster's page range. More...
 
struct  RPageInfoExtended
 
class  RPageRange
 Records the partition 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 (ROOT::DescriptorId_t physicalId) const
 
const RColumnRangeGetColumnRange (ROOT::DescriptorId_t physicalId) const
 
RColumnRangeIterable GetColumnRangeIterable () const
 Returns an iterator over pairs { columnId, columnRange }. The iteration order is unspecified.
 
ROOT::NTupleSize_t GetFirstEntryIndex () const
 
ROOT::DescriptorId_t GetId () const
 
std::uint64_t GetNBytesOnStorage () const
 
ROOT::NTupleSize_t GetNEntries () const
 
const RPageRangeGetPageRange (ROOT::DescriptorId_t physicalId) const
 
RClusterDescriptoroperator= (const RClusterDescriptor &other)=delete
 
RClusterDescriptoroperator= (RClusterDescriptor &&other)=default
 
bool operator== (const RClusterDescriptor &other) const
 

Private Attributes

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

Friends

class Internal::RClusterDescriptorBuilder
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RClusterDescriptor() [1/3]

ROOT::RClusterDescriptor::RClusterDescriptor ( )
default

◆ RClusterDescriptor() [2/3]

ROOT::RClusterDescriptor::RClusterDescriptor ( const RClusterDescriptor & other)
delete

◆ RClusterDescriptor() [3/3]

ROOT::RClusterDescriptor::RClusterDescriptor ( RClusterDescriptor && other)
default

Member Function Documentation

◆ Clone()

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

Definition at line 285 of file RNTupleDescriptor.cxx.

◆ ContainsColumn()

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

Definition at line 462 of file RNTupleDescriptor.hxx.

◆ GetColumnRange()

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

Definition at line 458 of file RNTupleDescriptor.hxx.

◆ GetColumnRangeIterable()

ROOT::RClusterDescriptor::RColumnRangeIterable ROOT::RClusterDescriptor::GetColumnRangeIterable ( ) const

Returns an iterator over pairs { columnId, columnRange }. The iteration order is unspecified.

Definition at line 1321 of file RNTupleDescriptor.cxx.

◆ GetFirstEntryIndex()

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

Definition at line 456 of file RNTupleDescriptor.hxx.

◆ GetId()

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

Definition at line 455 of file RNTupleDescriptor.hxx.

◆ GetNBytesOnStorage()

std::uint64_t ROOT::RClusterDescriptor::GetNBytesOnStorage ( ) const

Definition at line 274 of file RNTupleDescriptor.cxx.

◆ GetNEntries()

ROOT::NTupleSize_t ROOT::RClusterDescriptor::GetNEntries ( ) const
inline

Definition at line 457 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

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

Definition at line 459 of file RNTupleDescriptor.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ operator==()

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

Definition at line 268 of file RNTupleDescriptor.cxx.

Friends And Related Symbol Documentation

◆ Internal::RClusterDescriptorBuilder

Definition at line 241 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

ROOT::DescriptorId_t ROOT::RClusterDescriptor::fClusterId = ROOT::kInvalidDescriptorId
private

Definition at line 433 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

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

Definition at line 439 of file RNTupleDescriptor.hxx.

◆ fFirstEntryIndex

ROOT::NTupleSize_t ROOT::RClusterDescriptor::fFirstEntryIndex = ROOT::kInvalidNTupleIndex
private

Clusters can be swapped by adjusting the entry offsets.

Definition at line 435 of file RNTupleDescriptor.hxx.

◆ fNEntries

ROOT::NTupleSize_t ROOT::RClusterDescriptor::fNEntries = ROOT::kInvalidNTupleIndex
private

Definition at line 437 of file RNTupleDescriptor.hxx.

◆ fPageRanges

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

Definition at line 440 of file RNTupleDescriptor.hxx.

Libraries for ROOT::RClusterDescriptor:

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