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

Meta-data for a set of ntuple clusters.

The cluster descriptor might carry information of only a subset of available clusters, for instance if multiple files are chained and not all of them have been processed yet. 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 164 of file RNTupleDescriptor.hxx.

Classes

struct  RColumnRange
 The window of element indexes of a particular column in a particular cluster. More...
 
struct  RLocator
 Generic information about the physical location of data. More...
 
struct  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
 
bool ContainsColumn (DescriptorId_t columnId) const
 
std::unordered_set< DescriptorId_tGetColumnIds () const
 
const RColumnRangeGetColumnRange (DescriptorId_t columnId) const
 
NTupleSize_t GetFirstEntryIndex () const
 
DescriptorId_t GetId () const
 
RLocator GetLocator () const
 
ClusterSize_t GetNEntries () const
 
const RPageRangeGetPageRange (DescriptorId_t columnId) const
 
RNTupleVersion GetVersion () const
 
RClusterDescriptoroperator= (const RClusterDescriptor &other)=delete
 
RClusterDescriptoroperator= (RClusterDescriptor &&other)=default
 
bool operator== (const RClusterDescriptor &other) const
 

Static Public Attributes

static constexpr std::uint16_t kFrameVersionCurrent = 0
 In order to handle changes to the serialization routine in future ntuple versions. More...
 
static constexpr std::uint16_t kFrameVersionMin = 0
 

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. More...
 
RLocator fLocator
 For pre-fetching / caching an entire contiguous cluster. More...
 
ClusterSize_t fNEntries = kInvalidClusterIndex
 
std::unordered_map< DescriptorId_t, RPageRangefPageRanges
 
RNTupleVersion fVersion
 Future versions of the cluster descriptor might add more meta-data, e.g. a semantic checksum. More...
 

Friends

class RNTupleDescriptorBuilder
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RClusterDescriptor() [1/3]

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

◆ RClusterDescriptor() [2/3]

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

◆ RClusterDescriptor() [3/3]

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

Member Function Documentation

◆ ContainsColumn()

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

Definition at line 480 of file RNTupleDescriptor.cxx.

◆ GetColumnIds()

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

Definition at line 471 of file RNTupleDescriptor.cxx.

◆ GetColumnRange()

const RColumnRange & ROOT::Experimental::RClusterDescriptor::GetColumnRange ( DescriptorId_t  columnId) const
inline

Definition at line 284 of file RNTupleDescriptor.hxx.

◆ GetFirstEntryIndex()

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

Definition at line 281 of file RNTupleDescriptor.hxx.

◆ GetId()

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

Definition at line 279 of file RNTupleDescriptor.hxx.

◆ GetLocator()

RLocator ROOT::Experimental::RClusterDescriptor::GetLocator ( ) const
inline

Definition at line 283 of file RNTupleDescriptor.hxx.

◆ GetNEntries()

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

Definition at line 282 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

const RPageRange & ROOT::Experimental::RClusterDescriptor::GetPageRange ( DescriptorId_t  columnId) const
inline

Definition at line 285 of file RNTupleDescriptor.hxx.

◆ GetVersion()

RNTupleVersion ROOT::Experimental::RClusterDescriptor::GetVersion ( ) const
inline

Definition at line 280 of file RNTupleDescriptor.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ operator==()

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

Definition at line 459 of file RNTupleDescriptor.cxx.

Friends And Related Function Documentation

◆ RNTupleDescriptorBuilder

friend class RNTupleDescriptorBuilder
friend

Definition at line 165 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

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

Definition at line 254 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

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

Definition at line 263 of file RNTupleDescriptor.hxx.

◆ fFirstEntryIndex

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

Clusters can be swapped by adjusting the entry offsets.

Definition at line 258 of file RNTupleDescriptor.hxx.

◆ fLocator

RLocator ROOT::Experimental::RClusterDescriptor::fLocator
private

For pre-fetching / caching an entire contiguous cluster.

Definition at line 261 of file RNTupleDescriptor.hxx.

◆ fNEntries

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

Definition at line 259 of file RNTupleDescriptor.hxx.

◆ fPageRanges

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

Definition at line 264 of file RNTupleDescriptor.hxx.

◆ fVersion

RNTupleVersion ROOT::Experimental::RClusterDescriptor::fVersion
private

Future versions of the cluster descriptor might add more meta-data, e.g. a semantic checksum.

Definition at line 256 of file RNTupleDescriptor.hxx.

◆ kFrameVersionCurrent

constexpr std::uint16_t ROOT::Experimental::RClusterDescriptor::kFrameVersionCurrent = 0
staticconstexpr

In order to handle changes to the serialization routine in future ntuple versions.

Definition at line 268 of file RNTupleDescriptor.hxx.

◆ kFrameVersionMin

constexpr std::uint16_t ROOT::Experimental::RClusterDescriptor::kFrameVersionMin = 0
staticconstexpr

Definition at line 269 of file RNTupleDescriptor.hxx.


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