Processor specialization for horizontally combined (joined) RNTupleProcessors.
Definition at line 748 of file RNTupleProcessor.hxx.
Public Member Functions | |
| RNTupleJoinProcessor (const RNTupleJoinProcessor &)=delete | |
| RNTupleJoinProcessor (RNTupleJoinProcessor &&)=delete | |
| ~RNTupleJoinProcessor () override=default | |
| RNTupleJoinProcessor | operator= (const RNTupleJoinProcessor &)=delete |
| RNTupleJoinProcessor | operator= (RNTupleJoinProcessor &&)=delete |
Public Member Functions inherited from ROOT::Experimental::RNTupleProcessor | |
| RNTupleProcessor (const RNTupleProcessor &)=delete | |
| RNTupleProcessor (RNTupleProcessor &&)=delete | |
| virtual | ~RNTupleProcessor ()=default |
| RIterator | begin () |
| RIterator | end () |
| ROOT::NTupleSize_t | GetCurrentEntryNumber () const |
| Get the entry number that is currently being processed. | |
| std::size_t | GetCurrentProcessorNumber () const |
| Get the number of the inner processor currently being read. | |
| ROOT::NTupleSize_t | GetNEntriesProcessed () const |
| Get the total number of entries processed so far. | |
| const std::string & | GetProcessorName () const |
| Get the name of the processor. | |
| RNTupleProcessor & | operator= (const RNTupleProcessor &)=delete |
| RNTupleProcessor & | operator= (RNTupleProcessor &&)=delete |
| void | PrintStructure (std::ostream &output=std::cout) |
| Print a graphical representation of the processor composition. | |
| template<typename T> | |
| RNTupleProcessorOptionalPtr< T > | RequestField (const std::string &fieldName, void *valuePtr=nullptr) |
| Request access to a field for reading during processing. | |
Private Member Functions | |
| RNTupleJoinProcessor (std::unique_ptr< RNTupleProcessor > primaryProcessor, std::unique_ptr< RNTupleProcessor > auxProcessor, const std::vector< std::string > &joinFields, std::string_view processorName) | |
| Construct a new RNTupleJoinProcessor. | |
| void | AddEntriesToJoinTable (Internal::RNTupleJoinTable &joinTable, ROOT::NTupleSize_t entryOffset=0) final |
| Add the entry mappings for this processor to the provided join table. | |
| Internal::RNTupleProcessorEntry::FieldIndex_t | AddFieldToEntry (const std::string &fieldName, const std::string &typeName, void *valuePtr=nullptr, const Internal::RNTupleProcessorProvenance &provenance=Internal::RNTupleProcessorProvenance()) final |
| Add a field to the entry. | |
| bool | CanReadFieldFromDisk (std::string_view fieldName) final |
| Check if a field exists on-disk and can be read by the processor. | |
| void | Connect (const std::unordered_set< Internal::RNTupleProcessorEntry::FieldIndex_t > &fieldIdxs, const Internal::RNTupleProcessorProvenance &provenance=Internal::RNTupleProcessorProvenance(), bool updateFields=false) final |
| Connect the provided fields indices in the entry to their on-disk fields. | |
| ROOT::NTupleSize_t | GetNEntries () final |
| Get the total number of entries in this processor. | |
| void | Initialize (std::shared_ptr< Internal::RNTupleProcessorEntry > entry=nullptr) final |
Initialize the processor by creating an (initially empty) fEntry, or setting an existing one. | |
| ROOT::NTupleSize_t | LoadEntry (ROOT::NTupleSize_t entryNumber) final |
| Load the entry identified by the provided entry number of the primary processor. | |
| void | PrintStructureImpl (std::ostream &output) const final |
| Processor-specific implementation for printing its structure, called by PrintStructure(). | |
| void | SetAuxiliaryFieldValidity (bool validity) |
| Set the validity for all fields in the auxiliary processor at once. | |
Private Attributes | |
| std::unordered_set< Internal::RNTupleProcessorEntry::FieldIndex_t > | fAuxiliaryFieldIdxs |
| std::unique_ptr< RNTupleProcessor > | fAuxiliaryProcessor |
| std::set< Internal::RNTupleProcessorEntry::FieldIndex_t > | fJoinFieldIdxs |
| std::vector< std::string > | fJoinFieldNames |
| std::unique_ptr< Internal::RNTupleJoinTable > | fJoinTable |
| bool | fJoinTableIsBuilt = false |
| std::unique_ptr< RNTupleProcessor > | fPrimaryProcessor |
Friends | |
| class | RNTupleProcessor |
Additional Inherited Members | |
Static Public Member Functions inherited from ROOT::Experimental::RNTupleProcessor | |
| static std::unique_ptr< RNTupleProcessor > | Create (RNTupleOpenSpec ntuple, std::string_view processorName="") |
| Create an RNTupleProcessor for a single RNTuple. | |
| static std::unique_ptr< RNTupleProcessor > | CreateChain (std::vector< RNTupleOpenSpec > ntuples, 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::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::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::string_view processorName="") |
| Create an RNTupleProcessor for a join (i.e., a horizontal combination) of RNTuples. | |
Protected Member Functions inherited from ROOT::Experimental::RNTupleProcessor | |
| RNTupleProcessor (std::string_view processorName) | |
| Create a new base RNTupleProcessor. | |
| bool | IsInitialized () const |
| Check if the processor already has been initialized. | |
Protected Attributes inherited from ROOT::Experimental::RNTupleProcessor | |
| ROOT::NTupleSize_t | fCurrentEntryNumber = 0 |
| std::size_t | fCurrentProcessorNumber = 0 |
| std::shared_ptr< Internal::RNTupleProcessorEntry > | fEntry = nullptr |
| std::unordered_set< Internal::RNTupleProcessorEntry::FieldIndex_t > | fFieldIdxs |
| 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 RNTupleJoinProcessor.
| [in] | primaryProcessor | The primary processor. Its entries are processed in sequential order. |
| [in] | auxProcessor | The processor to join the primary processor with. The order in which its entries are processed is determined by the primary processor and doesn't necessarily have to be sequential. |
| [in] | joinFields | The names of the fields on which to join, in case the specified processors are unaligned. The join is made based on the combined join field values, and therefore each field has to be present in each specified processor. If an empty list is provided, it is assumed that the processors are fully aligned. |
| [in] | processorName | Name of the processor. Unless specified otherwise in RNTupleProcessor::CreateJoin, this is the name of the primary processor. |
Definition at line 420 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 582 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Add a field to the entry.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 490 of file RNTupleProcessor.cxx.
|
inlinefinalprivatevirtual |
Check if a field exists on-disk and can be read by the processor.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 792 of file RNTupleProcessor.hxx.
|
finalprivatevirtual |
Connect the provided fields indices in the entry to their on-disk fields.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 470 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Get the total number of entries in this processor.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 575 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Initialize the processor by creating an (initially empty) fEntry, or setting an existing one.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 434 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Load the entry identified by the provided entry number of the primary processor.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 527 of file RNTupleProcessor.cxx.
|
delete |
|
delete |
|
finalprivatevirtual |
Processor-specific implementation for printing its structure, called by PrintStructure().
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 588 of file RNTupleProcessor.cxx.
|
private |
Set the validity for all fields in the auxiliary processor at once.
Definition at line 520 of file RNTupleProcessor.cxx.
|
friend |
Definition at line 749 of file RNTupleProcessor.hxx.
|
private |
Definition at line 761 of file RNTupleProcessor.hxx.
|
private |
Definition at line 753 of file RNTupleProcessor.hxx.
|
private |
Definition at line 756 of file RNTupleProcessor.hxx.
|
private |
Definition at line 755 of file RNTupleProcessor.hxx.
|
private |
Definition at line 758 of file RNTupleProcessor.hxx.
|
private |
Definition at line 759 of file RNTupleProcessor.hxx.
|
private |
Definition at line 752 of file RNTupleProcessor.hxx.