Logo ROOT  
Reference Guide
 
Loading...
Searching...
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 summary data, i.e. the ID and the event range. In a second phase, 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 211 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 (DescriptorId_t clusterId, std::uint64_t firstEntryIndex, std::uint64_t nEntries)
 
 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
 
bool HasPageLocations () const
 
RClusterDescriptoroperator= (const RClusterDescriptor &other)=delete
 
RClusterDescriptoroperator= (RClusterDescriptor &&other)=default
 
bool operator== (const RClusterDescriptor &other) const
 

Private Member Functions

void EnsureHasPageLocations () 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.
 
bool fHasPageLocations = false
 
ClusterSize_t fNEntries = kInvalidClusterIndex
 
std::unordered_map< DescriptorId_t, RPageRangefPageRanges
 

Friends

class RClusterDescriptorBuilder
 

#include <ROOT/RNTupleDescriptor.hxx>

Constructor & Destructor Documentation

◆ RClusterDescriptor() [1/4]

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

◆ RClusterDescriptor() [2/4]

ROOT::Experimental::RClusterDescriptor::RClusterDescriptor ( DescriptorId_t  clusterId,
std::uint64_t  firstEntryIndex,
std::uint64_t  nEntries 
)
inline

Definition at line 312 of file RNTupleDescriptor.hxx.

◆ RClusterDescriptor() [3/4]

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

◆ RClusterDescriptor() [4/4]

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

Member Function Documentation

◆ Clone()

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

Definition at line 211 of file RNTupleDescriptor.cxx.

◆ ContainsColumn()

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

Definition at line 186 of file RNTupleDescriptor.cxx.

◆ EnsureHasPageLocations()

void ROOT::Experimental::RClusterDescriptor::EnsureHasPageLocations ( ) const
private

Definition at line 205 of file RNTupleDescriptor.cxx.

◆ GetBytesOnStorage()

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

Definition at line 193 of file RNTupleDescriptor.cxx.

◆ GetColumnIds()

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

Definition at line 177 of file RNTupleDescriptor.cxx.

◆ GetColumnRange()

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

Definition at line 328 of file RNTupleDescriptor.hxx.

◆ GetFirstEntryIndex()

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

Definition at line 326 of file RNTupleDescriptor.hxx.

◆ GetId()

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

Definition at line 325 of file RNTupleDescriptor.hxx.

◆ GetNEntries()

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

Definition at line 327 of file RNTupleDescriptor.hxx.

◆ GetPageRange()

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

Definition at line 333 of file RNTupleDescriptor.hxx.

◆ HasPageLocations()

bool ROOT::Experimental::RClusterDescriptor::HasPageLocations ( ) const
inline

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

Friends And Related Symbol Documentation

◆ RClusterDescriptorBuilder

friend class RClusterDescriptorBuilder
friend

Definition at line 212 of file RNTupleDescriptor.hxx.

Member Data Documentation

◆ fClusterId

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

Definition at line 297 of file RNTupleDescriptor.hxx.

◆ fColumnRanges

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

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

◆ fHasPageLocations

bool ROOT::Experimental::RClusterDescriptor::fHasPageLocations = false
private

Definition at line 302 of file RNTupleDescriptor.hxx.

◆ fNEntries

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

Definition at line 301 of file RNTupleDescriptor.hxx.

◆ fPageRanges

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

Definition at line 305 of file RNTupleDescriptor.hxx.

Libraries for ROOT::Experimental::RClusterDescriptor:

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