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

Processor specializiation for vertically concatenated RNTuples (chains).

Definition at line 266 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.
 
NTupleSize_t ConnectNTuple (const RNTupleOpenSpec &ntuple)
 Connect an RNTuple for processing.
 
void LoadEntry () final
 Fill the entry with values belonging to the current entry number.
 

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.
 
static std::unique_ptr< RNTupleProcessorCreateJoin (const std::vector< RNTupleOpenSpec > &ntuples, const std::vector< std::string > &joinFields, std::vector< std::unique_ptr< RNTupleModel > > models={})
 Create a new RNTuple processor for horizontallly concatenated RNTuples.
 
- Protected Member Functions inherited from ROOT::Experimental::RNTupleProcessor
 RNTupleProcessor (const std::vector< RNTupleOpenSpec > &ntuples)
 
void ConnectField (RFieldContext &fieldContext, Internal::RPageSource &pageSource, REntry &entry)
 Creates and connects a concrete field to the current page source, based on its proto field.
 
- Protected Attributes inherited from ROOT::Experimental::RNTupleProcessor
std::size_t fCurrentNTupleNumber
 
std::unique_ptr< REntryfEntry
 
std::unordered_map< std::string, 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 108 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 updated number of entries processed so far after advancing, or kInvalidNTupleIndex if the last (global) 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 165 of file RNTupleProcessor.cxx.

◆ ConnectNTuple()

ROOT::Experimental::NTupleSize_t ROOT::Experimental::RNTupleChainProcessor::ConnectNTuple ( const RNTupleOpenSpec ntuple)
private

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.

Definition at line 146 of file RNTupleProcessor.cxx.

◆ LoadEntry()

void ROOT::Experimental::RNTupleChainProcessor::LoadEntry ( )
inlinefinalprivatevirtual

Fill the entry with values belonging to the current entry number.

Implements ROOT::Experimental::RNTupleProcessor.

Definition at line 271 of file RNTupleProcessor.hxx.

Friends And Related Symbol Documentation

◆ RNTupleProcessor

friend class RNTupleProcessor
friend

Definition at line 267 of file RNTupleProcessor.hxx.

Libraries for ROOT::Experimental::RNTupleChainProcessor:

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