Logo ROOT   6.18/05
Reference Guide
List of all members | Classes | Public Member Functions | Private Attributes | List of all members
ROOT::Experimental::Detail::RPageSourceRoot Class Reference

Storage provider that reads ntuple pages from a ROOT TFile.

Definition at line 174 of file RPageStorageRoot.hxx.

Classes

struct  RSettings
 

Public Member Functions

 RPageSourceRoot (std::string_view ntupleName, RSettings settings)
 
 RPageSourceRoot (std::string_view ntupleName, std::string_view path)
 
virtual ~RPageSourceRoot ()
 
ColumnHandle_t AddColumn (RColumn *column) final
 Register a new column. More...
 
void Attach () final
 TODO: copy/assignment for creating clones in multiple threads. More...
 
std::unique_ptr< ROOT::Experimental::RNTupleModelGenerateModel () final
 
ColumnId_t GetColumnId (ColumnHandle_t columnHandle) final
 
const RNTupleDescriptorGetDescriptor () const final
 
NTupleSize_t GetNElements (ColumnHandle_t columnHandle) final
 
NTupleSize_t GetNEntries () final
 
void PopulatePage (ColumnHandle_t columnHandle, NTupleSize_t index, RPage *page) final
 Fills a page starting with index rangeStart; the corresponding column is taken from the page object. More...
 
- Public Member Functions inherited from ROOT::Experimental::Detail::RPageSource
 RPageSource (std::string_view treeName)
 
virtual ~RPageSource ()
 
virtual void Attach ()=0
 TODO: copy/assignment for creating clones in multiple threads. More...
 
virtual std::unique_ptr< ROOT::Experimental::RNTupleModelGenerateModel ()=0
 
virtual ColumnId_t GetColumnId (ColumnHandle_t columnHandle)=0
 
virtual const RNTupleDescriptorGetDescriptor () const =0
 
virtual NTupleSize_t GetNElements (ColumnHandle_t columnHandle)=0
 
virtual NTupleSize_t GetNEntries ()=0
 
EPageStorageType GetType () final
 
virtual void PopulatePage (ColumnHandle_t columnHandle, NTupleSize_t index, RPage *page)=0
 Fills a page starting with index rangeStart; the corresponding column is taken from the page object. More...
 
- Public Member Functions inherited from ROOT::Experimental::Detail::RPageStorage
 RPageStorage ()
 
 RPageStorage (const RPageStorage &other)=delete
 
virtual ~RPageStorage ()
 
virtual ColumnHandle_t AddColumn (RColumn *column)=0
 Register a new column. More...
 
RPagePoolGetPagePool () const
 
virtual EPageStorageType GetType ()=0
 
RPageStorageoperator= (const RPageStorage &other)=delete
 

Private Attributes

RNTupleDescriptor fDescriptor
 
TDirectoryfDirectory
 Currently, an ntuple is stored as a directory in a TFile. More...
 
RMapper fMapper
 
std::string fNTupleName
 
RSettings fSettings
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::Detail::RPageStorage
using ColumnHandle_t = RColumnHandle
 The column handle identfies a column with the current open page storage. More...
 
- Protected Attributes inherited from ROOT::Experimental::Detail::RPageStorage
std::unique_ptr< RPagePoolfPagePool
 All data is shipped to and from physical storage in pages, and moderated through a page pool. More...
 

#include <ROOT/RPageStorageRoot.hxx>

Inheritance diagram for ROOT::Experimental::Detail::RPageSourceRoot:
[legend]

Constructor & Destructor Documentation

◆ RPageSourceRoot() [1/2]

ROOT::Experimental::Detail::RPageSourceRoot::RPageSourceRoot ( std::string_view  ntupleName,
RSettings  settings 
)

Definition at line 148 of file RPageStorageRoot.cxx.

◆ RPageSourceRoot() [2/2]

ROOT::Experimental::Detail::RPageSourceRoot::RPageSourceRoot ( std::string_view  ntupleName,
std::string_view  path 
)

Definition at line 156 of file RPageStorageRoot.cxx.

◆ ~RPageSourceRoot()

ROOT::Experimental::Detail::RPageSourceRoot::~RPageSourceRoot ( )
virtual

Definition at line 167 of file RPageStorageRoot.cxx.

Member Function Documentation

◆ AddColumn()

ROOT::Experimental::Detail::RPageStorage::ColumnHandle_t ROOT::Experimental::Detail::RPageSourceRoot::AddColumn ( RColumn column)
finalvirtual

Register a new column.

When reading, the column must exist in the tree on disk corresponding to the meta-data. When writing, every column can only be attached once.

Implements ROOT::Experimental::Detail::RPageStorage.

Definition at line 177 of file RPageStorageRoot.cxx.

◆ Attach()

void ROOT::Experimental::Detail::RPageSourceRoot::Attach ( )
finalvirtual

TODO: copy/assignment for creating clones in multiple threads.

Open the physical storage container for the tree

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 189 of file RPageStorageRoot.cxx.

◆ GenerateModel()

std::unique_ptr< ROOT::Experimental::RNTupleModel > ROOT::Experimental::Detail::RPageSourceRoot::GenerateModel ( )
finalvirtual

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 272 of file RPageStorageRoot.cxx.

◆ GetColumnId()

ROOT::Experimental::ColumnId_t ROOT::Experimental::Detail::RPageSourceRoot::GetColumnId ( ColumnHandle_t  columnHandle)
finalvirtual

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 351 of file RPageStorageRoot.cxx.

◆ GetDescriptor()

const RNTupleDescriptor & ROOT::Experimental::Detail::RPageSourceRoot::GetDescriptor ( ) const
inlinefinalvirtual

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 202 of file RPageStorageRoot.hxx.

◆ GetNElements()

ROOT::Experimental::NTupleSize_t ROOT::Experimental::Detail::RPageSourceRoot::GetNElements ( ColumnHandle_t  columnHandle)
finalvirtual

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 346 of file RPageStorageRoot.cxx.

◆ GetNEntries()

ROOT::Experimental::NTupleSize_t ROOT::Experimental::Detail::RPageSourceRoot::GetNEntries ( )
finalvirtual

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 341 of file RPageStorageRoot.cxx.

◆ PopulatePage()

void ROOT::Experimental::Detail::RPageSourceRoot::PopulatePage ( ColumnHandle_t  columnHandle,
NTupleSize_t  index,
RPage page 
)
finalvirtual

Fills a page starting with index rangeStart; the corresponding column is taken from the page object.

Implements ROOT::Experimental::Detail::RPageSource.

Definition at line 282 of file RPageStorageRoot.cxx.

Member Data Documentation

◆ fDescriptor

RNTupleDescriptor ROOT::Experimental::Detail::RPageSourceRoot::fDescriptor
private

Definition at line 188 of file RPageStorageRoot.hxx.

◆ fDirectory

TDirectory* ROOT::Experimental::Detail::RPageSourceRoot::fDirectory
private

Currently, an ntuple is stored as a directory in a TFile.

Definition at line 184 of file RPageStorageRoot.hxx.

◆ fMapper

RMapper ROOT::Experimental::Detail::RPageSourceRoot::fMapper
private

Definition at line 187 of file RPageStorageRoot.hxx.

◆ fNTupleName

std::string ROOT::Experimental::Detail::RPageSourceRoot::fNTupleName
private

Definition at line 182 of file RPageStorageRoot.hxx.

◆ fSettings

RSettings ROOT::Experimental::Detail::RPageSourceRoot::fSettings
private

Definition at line 185 of file RPageStorageRoot.hxx.


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