Storage provider that reads ntuple pages from a ROOT TFile.
Definition at line 116 of file RPageStorageRoot.hxx.
Public Member Functions | |
RPageSourceRoot (std::string_view ntupleName, std::string_view path, const RNTupleReadOptions &options) | |
virtual | ~RPageSourceRoot () |
std::unique_ptr< RPageSource > | Clone () const final |
Open the same storage multiple time, e.g. for reading in multiple threads. More... | |
RNTupleMetrics & | GetMetrics () final |
Page storage implementations usually have their own metrics. More... | |
RPage | PopulatePage (ColumnHandle_t columnHandle, const RClusterIndex &clusterIndex) final |
Another version of PopulatePage that allows to specify cluster-relative indexes. More... | |
RPage | PopulatePage (ColumnHandle_t columnHandle, NTupleSize_t globalIndex) final |
Allocates and fills a page that contains the index-th element. More... | |
void | ReleasePage (RPage &page) final |
Every page store needs to be able to free pages it handed out. More... | |
Public Member Functions inherited from ROOT::Experimental::Detail::RPageSource | |
RPageSource (std::string_view ntupleName, const RNTupleReadOptions &fOptions) | |
virtual | ~RPageSource () |
ColumnHandle_t | AddColumn (DescriptorId_t fieldId, const RColumn &column) final |
Register a new column. More... | |
void | Attach () |
Open the physical storage container for the tree. More... | |
virtual std::unique_ptr< RPageSource > | Clone () const =0 |
Open the same storage multiple time, e.g. for reading in multiple threads. More... | |
ColumnId_t | GetColumnId (ColumnHandle_t columnHandle) |
const RNTupleDescriptor & | GetDescriptor () const |
NTupleSize_t | GetNElements (ColumnHandle_t columnHandle) |
NTupleSize_t | GetNEntries () |
EPageStorageType | GetType () final |
Whether the concrete implementation is a sink or a source. More... | |
virtual RPage | PopulatePage (ColumnHandle_t columnHandle, const RClusterIndex &clusterIndex)=0 |
Another version of PopulatePage that allows to specify cluster-relative indexes. More... | |
virtual RPage | PopulatePage (ColumnHandle_t columnHandle, NTupleSize_t globalIndex)=0 |
Allocates and fills a page that contains the index-th element. More... | |
Public Member Functions inherited from ROOT::Experimental::Detail::RPageStorage | |
RPageStorage (const RPageStorage &other)=delete | |
RPageStorage (std::string_view name) | |
virtual | ~RPageStorage () |
virtual ColumnHandle_t | AddColumn (DescriptorId_t fieldId, const RColumn &column)=0 |
Register a new column. More... | |
virtual RNTupleMetrics & | GetMetrics ()=0 |
Page storage implementations usually have their own metrics. More... | |
virtual EPageStorageType | GetType ()=0 |
Whether the concrete implementation is a sink or a source. More... | |
RPageStorage & | operator= (const RPageStorage &other)=delete |
virtual void | ReleasePage (RPage &page)=0 |
Every page store needs to be able to free pages it handed out. More... | |
Protected Member Functions | |
RNTupleDescriptor | DoAttach () final |
virtual RNTupleDescriptor | DoAttach ()=0 |
Private Member Functions | |
RPage | PopulatePageFromCluster (ColumnHandle_t columnHandle, const RClusterDescriptor &clusterDescriptor, ClusterSize_t::ValueType clusterIndex) |
Private Attributes | |
TDirectory * | fDirectory = nullptr |
std::unique_ptr< TFile > | fFile |
Currently, an ntuple is stored as a directory in a TFile. More... | |
RNTupleMetrics | fMetrics |
std::unique_ptr< RPageAllocatorKey > | fPageAllocator |
std::shared_ptr< RPagePool > | fPagePool |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::Detail::RPageStorage | |
using | ColumnHandle_t = RColumnHandle |
The column handle identifies a column with the current open page storage. More... | |
Static Public Member Functions inherited from ROOT::Experimental::Detail::RPageSource | |
static std::unique_ptr< RPageSource > | Create (std::string_view ntupleName, std::string_view location, const RNTupleReadOptions &options=RNTupleReadOptions()) |
Guess the concrete derived page source from the file name (location) More... | |
Protected Attributes inherited from ROOT::Experimental::Detail::RPageSource | |
RNTupleDescriptor | fDescriptor |
const RNTupleReadOptions | fOptions |
Protected Attributes inherited from ROOT::Experimental::Detail::RPageStorage | |
std::string | fNTupleName |
#include <ROOT/RPageStorageRoot.hxx>
ROOT::Experimental::Detail::RPageSourceRoot::RPageSourceRoot | ( | std::string_view | ntupleName, |
std::string_view | path, | ||
const RNTupleReadOptions & | options | ||
) |
Definition at line 162 of file RPageStorageRoot.cxx.
|
virtual |
Definition at line 173 of file RPageStorageRoot.cxx.
|
finalvirtual |
Open the same storage multiple time, e.g. for reading in multiple threads.
Implements ROOT::Experimental::Detail::RPageSource.
Definition at line 291 of file RPageStorageRoot.cxx.
|
finalprotectedvirtual |
Implements ROOT::Experimental::Detail::RPageSource.
Definition at line 180 of file RPageStorageRoot.cxx.
|
inlinefinalvirtual |
Page storage implementations usually have their own metrics.
Implements ROOT::Experimental::Detail::RPageStorage.
Definition at line 141 of file RPageStorageRoot.hxx.
|
finalvirtual |
Another version of PopulatePage that allows to specify cluster-relative indexes.
Implements ROOT::Experimental::Detail::RPageSource.
Definition at line 271 of file RPageStorageRoot.cxx.
|
finalvirtual |
Allocates and fills a page that contains the index-th element.
Implements ROOT::Experimental::Detail::RPageSource.
Definition at line 254 of file RPageStorageRoot.cxx.
|
private |
Definition at line 201 of file RPageStorageRoot.cxx.
Every page store needs to be able to free pages it handed out.
But Sinks and sources have different means of allocating pages.
Implements ROOT::Experimental::Detail::RPageStorage.
Definition at line 286 of file RPageStorageRoot.cxx.
|
private |
Definition at line 124 of file RPageStorageRoot.hxx.
|
private |
Currently, an ntuple is stored as a directory in a TFile.
Definition at line 123 of file RPageStorageRoot.hxx.
|
private |
Definition at line 118 of file RPageStorageRoot.hxx.
|
private |
Definition at line 119 of file RPageStorageRoot.hxx.
|
private |
Definition at line 120 of file RPageStorageRoot.hxx.