Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RNTupleChainProcessor Class Reference

Processor specializiation for vertically concatenated RNTuples (chains).

Definition at line 247 of file RNTupleProcessor.hxx.

Private Member Functions

 RNTupleChainProcessor (const std::vector< RNTupleOpenSpec > &ntuples, std::unique_ptr< RNTupleModel > model=nullptr)
 Constructs a new RNTupleChainProcessor.
 
NTupleSize_t Advance () final
 Advance the processor to the next available entry.
 
void ConnectFields () final
 Creates and connects concrete fields to the current page source, based on the proto-fields.
 
NTupleSize_t ConnectNTuple (const RNTupleOpenSpec &ntuple) final
 Connect an RNTuple for processing.
 

Friends

class RNTupleProcessor
 

Additional Inherited Members

- Public Member Functions inherited from ROOT::Experimental::RNTupleProcessor
 RNTupleProcessor (const RNTupleProcessor &)=delete
 
 RNTupleProcessor (RNTupleProcessor &&)=delete
 
virtual ~RNTupleProcessor ()=default
 
RIterator begin ()
 
RIterator end ()
 
std::size_t GetCurrentNTupleNumber () const
 Get the index to the RNTuple currently being processed, according to the sources specified upon creation.
 
const REntryGetEntry () const
 Returns a reference to the entry used by the processor.
 
NTupleSize_t GetLocalEntryNumber () const
 Get the entry number local to the RNTuple that is currently being processed.
 
NTupleSize_t GetNEntriesProcessed () const
 Get the total number of entries processed so far.
 
RNTupleProcessoroperator= (const RNTupleProcessor &)=delete
 
RNTupleProcessoroperator= (RNTupleProcessor &&)=delete
 
- Static Public Member Functions inherited from ROOT::Experimental::RNTupleProcessor
static std::unique_ptr< RNTupleProcessorCreateChain (const std::vector< RNTupleOpenSpec > &ntuples, std::unique_ptr< RNTupleModel > model=nullptr)
 Create a new RNTuple processor chain for vertical concatenation of RNTuples.
 
- Protected Member Functions inherited from ROOT::Experimental::RNTupleProcessor
 RNTupleProcessor (const std::vector< RNTupleOpenSpec > &ntuples)
 
- Protected Attributes inherited from ROOT::Experimental::RNTupleProcessor
std::size_t fCurrentNTupleNumber
 
std::unique_ptr< REntryfEntry
 
std::vector< RFieldContextfFieldContexts
 
NTupleSize_t fLocalEntryNumber
 
NTupleSize_t fNEntriesProcessed
 
std::vector< RNTupleOpenSpecfNTuples
 
std::unique_ptr< Internal::RPageSourcefPageSource
 

#include <ROOT/RNTupleProcessor.hxx>

Inheritance diagram for ROOT::Experimental::RNTupleChainProcessor:
[legend]

Constructor & Destructor Documentation

◆ RNTupleChainProcessor()

ROOT::Experimental::RNTupleChainProcessor::RNTupleChainProcessor ( const std::vector< RNTupleOpenSpec > & ntuples,
std::unique_ptr< RNTupleModel > model = nullptr )
private

Constructs a new RNTupleChainProcessor.

Parameters
[in]ntuplesThe source specification (name and storage location) for each RNTuple to process.
[in]modelThe model that specifies which fields should be read by the processor. The pointer returned by RNTupleModel::MakeField can be used to access a field's value during the processor iteration. When no model is specified, it is created from the descriptor of the first RNTuple specified in ntuples.

RNTuples are processed in the order in which they are specified.

Definition at line 29 of file RNTupleProcessor.cxx.

Member Function Documentation

◆ Advance()

ROOT::Experimental::NTupleSize_t ROOT::Experimental::RNTupleChainProcessor::Advance ( )
finalprivatevirtual

Advance the processor to the next available entry.

Returns
The new (global) entry number of after advancing, or kInvalidNTupleIndex if the last entry has been processed.

Checks if the end of the currently connected RNTuple is reached. If this is the case, either the next RNTuple is connected or the iterator has reached the end.

Implements ROOT::Experimental::RNTupleProcessor.

Definition at line 100 of file RNTupleProcessor.cxx.

◆ ConnectFields()

void ROOT::Experimental::RNTupleChainProcessor::ConnectFields ( )
finalprivatevirtual

Creates and connects concrete fields to the current page source, based on the proto-fields.

Implements ROOT::Experimental::RNTupleProcessor.

Definition at line 78 of file RNTupleProcessor.cxx.

◆ ConnectNTuple()

ROOT::Experimental::NTupleSize_t ROOT::Experimental::RNTupleChainProcessor::ConnectNTuple ( const RNTupleOpenSpec & ntuple)
finalprivatevirtual

Connect an RNTuple for processing.

Parameters
[in]ntupleThe RNTupleOpenSpec describing the RNTuple to connect.
Returns
The number of entries in the newly-connected RNTuple.

Creates and attaches new page source for the specified RNTuple, and connects the fields that are known by the processor to it.

Implements ROOT::Experimental::RNTupleProcessor.

Definition at line 67 of file RNTupleProcessor.cxx.

Friends And Related Symbol Documentation

◆ RNTupleProcessor

friend class RNTupleProcessor
friend

Definition at line 248 of file RNTupleProcessor.hxx.

Libraries for ROOT::Experimental::RNTupleChainProcessor:

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