Processor specialization for vertically combined (chained) RNTupleProcessors.
Definition at line 442 of file RNTupleProcessor.hxx.
Private Member Functions | |
RNTupleChainProcessor (std::vector< std::unique_ptr< RNTupleProcessor > > processors, std::unique_ptr< ROOT::RNTupleModel > model, std::string_view processorName) | |
Construct a new RNTupleChainProcessor. | |
void | AddEntriesToJoinTable (Internal::RNTupleJoinTable &joinTable, ROOT::NTupleSize_t entryOffset=0) final |
Add the entry mappings for this processor to the provided join table. | |
ROOT::NTupleSize_t | GetNEntries () final |
Get the total number of entries in this processor. | |
ROOT::NTupleSize_t | LoadEntry (ROOT::NTupleSize_t entryNumber) final |
Load the entry identified by the provided (global) entry number (i.e., considering all RNTuples in this processor). | |
void | PrintStructureImpl (std::ostream &output) const final |
Processor-specific implementation for printing its structure, called by PrintStructure(). | |
void | SetEntryPointers (const ROOT::REntry &, std::string_view fieldNamePrefix) final |
Private Attributes | |
std::vector< ROOT::NTupleSize_t > | fInnerNEntries |
std::vector< std::unique_ptr< RNTupleProcessor > > | fInnerProcessors |
Friends | |
class | RNTupleProcessor |
Additional Inherited Members | |
![]() | |
static std::unique_ptr< RNTupleProcessor > | Create (RNTupleOpenSpec ntuple, std::unique_ptr< ROOT::RNTupleModel > model=nullptr, std::string_view processorName="") |
Create an RNTupleProcessor for a single RNTuple. | |
static std::unique_ptr< RNTupleProcessor > | CreateChain (std::vector< RNTupleOpenSpec > ntuples, std::unique_ptr< ROOT::RNTupleModel > model=nullptr, std::string_view processorName="") |
Create an RNTupleProcessor for a chain (i.e., a vertical combination) of RNTuples. | |
static std::unique_ptr< RNTupleProcessor > | CreateChain (std::vector< std::unique_ptr< RNTupleProcessor > > innerProcessors, std::unique_ptr< ROOT::RNTupleModel > model=nullptr, std::string_view processorName="") |
Create an RNTupleProcessor for a chain (i.e., a vertical combination) of other RNTupleProcessors. | |
static std::unique_ptr< RNTupleProcessor > | CreateJoin (RNTupleOpenSpec primaryNTuple, RNTupleOpenSpec auxNTuple, const std::vector< std::string > &joinFields, std::unique_ptr< ROOT::RNTupleModel > primaryModel=nullptr, std::unique_ptr< ROOT::RNTupleModel > auxModel=nullptr, std::string_view processorName="") |
Create an RNTupleProcessor for a join (i.e., a horizontal combination) of RNTuples. | |
static std::unique_ptr< RNTupleProcessor > | CreateJoin (std::unique_ptr< RNTupleProcessor > primaryProcessor, std::unique_ptr< RNTupleProcessor > auxProcessor, const std::vector< std::string > &joinFields, std::unique_ptr< ROOT::RNTupleModel > primaryModel=nullptr, std::unique_ptr< ROOT::RNTupleModel > auxModel=nullptr, std::string_view processorName="") |
Create an RNTupleProcessor for a join (i.e., a horizontal combination) of RNTuples. | |
![]() | |
RNTupleProcessor (std::string_view processorName, std::unique_ptr< ROOT::RNTupleModel > model) | |
Create a new base RNTupleProcessor. | |
![]() | |
ROOT::NTupleSize_t | fCurrentEntryNumber = 0 |
std::size_t | fCurrentProcessorNumber = 0 |
std::unique_ptr< ROOT::REntry > | fEntry |
std::unique_ptr< ROOT::RNTupleModel > | fModel |
ROOT::NTupleSize_t | fNEntries = kInvalidNTupleIndex |
Total number of entries. | |
ROOT::NTupleSize_t | fNEntriesProcessed = 0 |
std::string | fProcessorName |
#include <ROOT/RNTupleProcessor.hxx>
|
private |
Construct a new RNTupleChainProcessor.
[in] | ntuples | The source specification (name and storage location) for each RNTuple to process. |
[in] | model | The 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 . |
[in] | processorName | Name of the processor. Unless specified otherwise in RNTupleProcessor::CreateChain, this is the name of the first inner processor. |
RNTuples are processed in the order in which they are specified.
Definition at line 261 of file RNTupleProcessor.cxx.
|
delete |
|
delete |
|
overridedefault |
|
finalprivatevirtual |
Add the entry mappings for this processor to the provided join table.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 354 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Get the total number of entries in this processor.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 294 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Load the entry identified by the provided (global) entry number (i.e., considering all RNTuples in this processor).
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 327 of file RNTupleProcessor.cxx.
|
delete |
|
delete |
|
finalprivatevirtual |
Processor-specific implementation for printing its structure, called by PrintStructure().
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 364 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 311 of file RNTupleProcessor.cxx.
|
friend |
Definition at line 443 of file RNTupleProcessor.hxx.
|
private |
Definition at line 447 of file RNTupleProcessor.hxx.
|
private |
Definition at line 446 of file RNTupleProcessor.hxx.