Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 171 of file RNTupleDescriptor.hxx.

Classes

struct  RColumnRange
 The window of element indexes of a particular column in a particular cluster. 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::uint64_t GetBytesOnStorage () const
 
std::unordered_set< DescriptorId_tGetColumnIds () const
 
const RColumnRangeGetColumnRange (DescriptorId_t columnId) const
 
NTupleSize_t GetFirstEntryIndex () const
 
DescriptorId_t GetId () 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.
 
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.
 
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.
 

Friends

class RClusterDescriptorBuilder
 
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 492 of file RNTupleDescriptor.cxx.

◆ GetBytesOnStorage()

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

Definition at line 498 of file RNTupleDescriptor.cxx.

◆ GetColumnIds()

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

Definition at line 483 of file RNTupleDescriptor.cxx.

◆ GetColumnRange()

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

Definition at line 276 of file RNTupleDescriptor.hxx.

◆ GetFirstEntryIndex()

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

Definition at line 274 of file RNTupleDescriptor.hxx.

◆ GetId()

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

Definition at line 272 of file RNTupleDescriptor.hxx.

◆ GetNEntries()

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

Definition at line 275 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

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

Definition at line 277 of file RNTupleDescriptor.hxx.

◆ GetVersion()

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

Definition at line 273 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 472 of file RNTupleDescriptor.cxx.

Friends And Related Symbol Documentation

◆ RClusterDescriptorBuilder

friend class RClusterDescriptorBuilder
friend

Definition at line 173 of file RNTupleDescriptor.hxx.

◆ RNTupleDescriptorBuilder

friend class RNTupleDescriptorBuilder
friend

Definition at line 172 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

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

Definition at line 249 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

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

Definition at line 256 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 253 of file RNTupleDescriptor.hxx.

◆ fNEntries

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

Definition at line 254 of file RNTupleDescriptor.hxx.

◆ fPageRanges

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

Definition at line 257 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 251 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 261 of file RNTupleDescriptor.hxx.

◆ kFrameVersionMin

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

Definition at line 262 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RClusterDescriptor:

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