ROOT   Reference Guide

An RNTuple that is used to read data from storage.

An input ntuple provides data from storage as C++ objects. The ntuple model can be created from the data on storage or it can be imposed by the user. The latter case allows users to read into a specialized ntuple model that covers only a subset of the fields in the ntuple. The ntuple model is used when reading complete entries. Individual fields can be read as well by instantiating a tree view.

Definition at line 73 of file RNTuple.hxx.

class  RIterator

## Public Member Functions

The model is generated from the ntuple metadata on storage. More...

RNTupleReader (std::unique_ptr< RNTupleModel > model, std::unique_ptr< Detail::RPageSource > source)
The user imposes an ntuple model, which must be compatible with the model found in the data on storage. More...

RIterator begin ()

void EnableMetrics ()

RIterator end ()

const RNTupleDescriptorGetDescriptor () const

RNTupleGlobalRange GetEntryRange ()

RNTupleModelGetModel ()

NTupleSize_t GetNEntries () const

template<typename T >
RNTupleView< T > GetView (std::string_view fieldName)
Provides access to an individual field that can contain either a scalar value or a collection, e.g. More...

RNTupleViewCollection GetViewCollection (std::string_view fieldName)

Analogous to Fill(), fills the default entry of the model. More...

void LoadEntry (NTupleSize_t index, REntry *entry)
Fills a user provided entry after checking that the entry has been instantiated from the ntuple model. More...

void PrintInfo (const ENTupleInfo what=ENTupleInfo::kSummary, std::ostream &output=std::cout)
Prints a detailed summary of the ntuple, including a list of fields. More...

void Show (NTupleSize_t index, const ENTupleFormat format=ENTupleFormat::kJSON, std::ostream &output=std::cout)
Shows the values of the i-th entry/row, starting with 0 for the first entry. More...

## Static Public Member Functions

static std::unique_ptr< RNTupleReaderOpen (std::string_view ntupleName, std::string_view storage)

static std::unique_ptr< RNTupleReaderOpen (std::unique_ptr< RNTupleModel > model, std::string_view ntupleName, std::string_view storage)

## Private Member Functions

void ConnectModel ()

## Private Attributes

Detail::RNTupleMetrics fMetrics

std::unique_ptr< RNTupleModelfModel
Needs to be destructed before fSource. More...

std::unique_ptr< Detail::RPageSourcefSource

#include <ROOT/RNTuple.hxx>

## Constructor & Destructor Documentation

The user imposes an ntuple model, which must be compatible with the model found in the data on storage.

Definition at line 46 of file RNTuple.cxx.

explicit

The model is generated from the ntuple metadata on storage.

Definition at line 58 of file RNTuple.cxx.

Definition at line 69 of file RNTuple.cxx.

## ◆ begin()

inline

Definition at line 151 of file RNTuple.hxx.

## ◆ Clone()

inline

Definition at line 111 of file RNTuple.hxx.

## ◆ ConnectModel()

private

Definition at line 34 of file RNTuple.cxx.

## ◆ EnableMetrics()

inline

Definition at line 154 of file RNTuple.hxx.

## ◆ end()

inline

Definition at line 152 of file RNTuple.hxx.

## ◆ GetDescriptor()

 const RNTupleDescriptor & ROOT::Experimental::RNTupleReader::GetDescriptor ( ) const
inline

Definition at line 116 of file RNTuple.hxx.

## ◆ GetEntryRange()

inline

Definition at line 136 of file RNTuple.hxx.

## ◆ GetModel()

inline

Definition at line 114 of file RNTuple.hxx.

## ◆ GetNEntries()

inline

Definition at line 115 of file RNTuple.hxx.

## ◆ GetView()

template<typename T >
 RNTupleView< T > ROOT::Experimental::RNTupleReader::GetView ( std::string_view fieldName )
inline

Provides access to an individual field that can contain either a scalar value or a collection, e.g.

GetView<double>("particles.pt") or GetView<std::vector<double>>("particle"). It can as well be the index field of a collection itself, like GetView<NTupleSize_t>("particle")

Definition at line 142 of file RNTuple.hxx.

## ◆ GetViewCollection()

 RNTupleViewCollection ROOT::Experimental::RNTupleReader::GetViewCollection ( std::string_view fieldName )
inline

Definition at line 146 of file RNTuple.hxx.

inline

Analogous to Fill(), fills the default entry of the model.

Returns false at the end of the ntuple. On I/O errors, raises an expection.

Definition at line 128 of file RNTuple.hxx.

inline

Fills a user provided entry after checking that the entry has been instantiated from the ntuple model.

Definition at line 130 of file RNTuple.hxx.

## ◆ Open() [1/2]

static

Definition at line 81 of file RNTuple.cxx.

## ◆ Open() [2/2]

 std::unique_ptr< ROOT::Experimental::RNTupleReader > ROOT::Experimental::RNTupleReader::Open ( std::unique_ptr< RNTupleModel > model, std::string_view ntupleName, std::string_view storage )
static

Definition at line 73 of file RNTuple.cxx.

## ◆ PrintInfo()

 void ROOT::Experimental::RNTupleReader::PrintInfo ( const ENTupleInfo what = ENTupleInfo::kSummary, std::ostream & output = std::cout )

Prints a detailed summary of the ntuple, including a list of fields.

Definition at line 88 of file RNTuple.cxx.

## ◆ Show()

 void ROOT::Experimental::RNTupleReader::Show ( NTupleSize_t index, const ENTupleFormat format = ENTupleFormat::kJSON, std::ostream & output = std::cout )

Shows the values of the i-th entry/row, starting with 0 for the first entry.

By default, prints the output in JSON format. Uses the visitor pattern to traverse through each field of the given entry.

Definition at line 143 of file RNTuple.cxx.

## ◆ fMetrics

private

Definition at line 78 of file RNTuple.hxx.

## ◆ fModel

private

Needs to be destructed before fSource.

Definition at line 77 of file RNTuple.hxx.