Processor specialization for vertically combined (chained) RNTupleProcessors.
Definition at line 656 of file RNTupleProcessor.hxx.
Public Member Functions | |
| RNTupleChainProcessor (const RNTupleChainProcessor &)=delete | |
| RNTupleChainProcessor (RNTupleChainProcessor &&)=delete | |
| ~RNTupleChainProcessor () override=default | |
| RNTupleChainProcessor & | operator= (const RNTupleChainProcessor &)=delete |
| RNTupleChainProcessor & | operator= (RNTupleChainProcessor &&)=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 | |
| RNTupleChainProcessor (std::vector< std::unique_ptr< RNTupleProcessor > > processors, 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. | |
| 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. | |
| void | ConnectInnerProcessor (std::size_t processorNumber) |
| Update the entry to reflect any missing fields in the current inner processor. | |
| 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 (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(). | |
Private Attributes | |
| std::vector< ROOT::NTupleSize_t > | fInnerNEntries |
| std::vector< std::unique_ptr< RNTupleProcessor > > | fInnerProcessors |
| Internal::RNTupleProcessorProvenance | fProvenance |
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 RNTupleChainProcessor.
| [in] | ntuples | The source specification (name and storage location) for each RNTuple to process. |
| [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 281 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 380 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Add a field to the entry.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 342 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 698 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 324 of file RNTupleProcessor.cxx.
|
private |
Update the entry to reflect any missing fields in the current inner processor.
Definition at line 334 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Get the total number of entries in this processor.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 307 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 293 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 349 of file RNTupleProcessor.cxx.
|
delete |
|
delete |
|
finalprivatevirtual |
Processor-specific implementation for printing its structure, called by PrintStructure().
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 393 of file RNTupleProcessor.cxx.
|
friend |
Definition at line 657 of file RNTupleProcessor.hxx.
|
private |
Definition at line 661 of file RNTupleProcessor.hxx.
|
private |
Definition at line 660 of file RNTupleProcessor.hxx.
|
private |
Definition at line 663 of file RNTupleProcessor.hxx.