Logo ROOT  
Reference Guide
ROOT::Experimental::RNTupleWriter Class Reference

An RNTuple that gets filled with entries (data) and writes them to storage.

An output ntuple can be filled with entries. The caller has to make sure that the data that gets filled into an ntuple is not modified for the time of the Fill() call. The fill call serializes the C++ object into the column format and writes data into the corresponding column page buffers. Writing of the buffers to storage is deferred and can be triggered by Flush() or by destructing the ntuple. On I/O errors, an exception is thrown.

Definition at line 351 of file RNTuple.hxx.

Public Member Functions

 RNTupleWriter (const RNTupleWriter &)=delete
 
 RNTupleWriter (std::unique_ptr< RNTupleModel > model, std::unique_ptr< Detail::RPageSink > sink)
 Throws an exception if the model or the sink is null. More...
 
 ~RNTupleWriter ()
 
void CommitCluster ()
 Ensure that the data from the so far seen Fill calls has been written to storage. More...
 
std::unique_ptr< REntryCreateEntry ()
 
void EnableMetrics ()
 
void Fill ()
 The simplest user interface if the default entry that comes with the ntuple model is used. More...
 
void Fill (REntry &entry)
 Multiple entries can have been instantiated from the tnuple model. More...
 
const Detail::RNTupleMetricsGetMetrics () const
 
RNTupleWriteroperator= (const RNTupleWriter &)=delete
 

Static Public Member Functions

static std::unique_ptr< RNTupleWriterAppend (std::unique_ptr< RNTupleModel > model, std::string_view ntupleName, TFile &file, const RNTupleWriteOptions &options=RNTupleWriteOptions())
 Throws an exception if the model is null. More...
 
static std::unique_ptr< RNTupleWriterRecreate (std::unique_ptr< RNTupleModel > model, std::string_view ntupleName, std::string_view storage, const RNTupleWriteOptions &options=RNTupleWriteOptions())
 Throws an exception if the model is null. More...
 

Private Attributes

NTupleSize_t fLastCommitted
 
Detail::RNTupleMetrics fMetrics
 
std::unique_ptr< RNTupleModelfModel
 Needs to be destructed before fSink. More...
 
NTupleSize_t fNEntries
 
std::unique_ptr< Detail::RPageSinkfSink
 
std::unique_ptr< Detail::RPageStorage::RTaskSchedulerfZipTasks
 The page sink's parallel page compression scheduler if IMT is on. More...
 

#include <ROOT/RNTuple.hxx>

Constructor & Destructor Documentation

◆ RNTupleWriter() [1/2]

ROOT::Experimental::RNTupleWriter::RNTupleWriter ( std::unique_ptr< RNTupleModel model,
std::unique_ptr< Detail::RPageSink sink 
)

Throws an exception if the model or the sink is null.

Definition at line 274 of file RNTuple.cxx.

◆ RNTupleWriter() [2/2]

ROOT::Experimental::RNTupleWriter::RNTupleWriter ( const RNTupleWriter )
delete

◆ ~RNTupleWriter()

ROOT::Experimental::RNTupleWriter::~RNTupleWriter ( )

Definition at line 299 of file RNTuple.cxx.

Member Function Documentation

◆ Append()

std::unique_ptr< ROOT::Experimental::RNTupleWriter > ROOT::Experimental::RNTupleWriter::Append ( std::unique_ptr< RNTupleModel model,
std::string_view  ntupleName,
TFile file,
const RNTupleWriteOptions options = RNTupleWriteOptions() 
)
static

Throws an exception if the model is null.

Definition at line 314 of file RNTuple.cxx.

◆ CommitCluster()

void ROOT::Experimental::RNTupleWriter::CommitCluster ( )

Ensure that the data from the so far seen Fill calls has been written to storage.

Definition at line 329 of file RNTuple.cxx.

◆ CreateEntry()

std::unique_ptr< REntry > ROOT::Experimental::RNTupleWriter::CreateEntry ( )
inline

Definition at line 395 of file RNTuple.hxx.

◆ EnableMetrics()

void ROOT::Experimental::RNTupleWriter::EnableMetrics ( )
inline

Definition at line 397 of file RNTuple.hxx.

◆ Fill() [1/2]

void ROOT::Experimental::RNTupleWriter::Fill ( )
inline

The simplest user interface if the default entry that comes with the ntuple model is used.

Definition at line 381 of file RNTuple.hxx.

◆ Fill() [2/2]

void ROOT::Experimental::RNTupleWriter::Fill ( REntry entry)
inline

Multiple entries can have been instantiated from the tnuple model.

This method will perform a light check whether the entry comes from the ntuple's own model

Definition at line 384 of file RNTuple.hxx.

◆ GetMetrics()

const Detail::RNTupleMetrics & ROOT::Experimental::RNTupleWriter::GetMetrics ( ) const
inline

Definition at line 398 of file RNTuple.hxx.

◆ operator=()

RNTupleWriter & ROOT::Experimental::RNTupleWriter::operator= ( const RNTupleWriter )
delete

◆ Recreate()

std::unique_ptr< ROOT::Experimental::RNTupleWriter > ROOT::Experimental::RNTupleWriter::Recreate ( std::unique_ptr< RNTupleModel model,
std::string_view  ntupleName,
std::string_view  storage,
const RNTupleWriteOptions options = RNTupleWriteOptions() 
)
static

Throws an exception if the model is null.

Definition at line 305 of file RNTuple.cxx.

Member Data Documentation

◆ fLastCommitted

NTupleSize_t ROOT::Experimental::RNTupleWriter::fLastCommitted
private

Definition at line 360 of file RNTuple.hxx.

◆ fMetrics

Detail::RNTupleMetrics ROOT::Experimental::RNTupleWriter::fMetrics
private

Definition at line 359 of file RNTuple.hxx.

◆ fModel

std::unique_ptr<RNTupleModel> ROOT::Experimental::RNTupleWriter::fModel
private

Needs to be destructed before fSink.

Definition at line 358 of file RNTuple.hxx.

◆ fNEntries

NTupleSize_t ROOT::Experimental::RNTupleWriter::fNEntries
private

Definition at line 361 of file RNTuple.hxx.

◆ fSink

std::unique_ptr<Detail::RPageSink> ROOT::Experimental::RNTupleWriter::fSink
private

Definition at line 356 of file RNTuple.hxx.

◆ fZipTasks

std::unique_ptr<Detail::RPageStorage::RTaskScheduler> ROOT::Experimental::RNTupleWriter::fZipTasks
private

The page sink's parallel page compression scheduler if IMT is on.

Needs to be destructed after the page sink is destructed and so declared before.

Definition at line 355 of file RNTuple.hxx.


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