Processor specialization for horizontally combined (joined) RNTupleProcessors.
Definition at line 741 of file RNTupleProcessor.hxx.
|
| | 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.
|
| |
| ROOT::RResult< Internal::RNTupleProcessorEntry::FieldIndex_t > | AddFieldToEntry (std::string_view fieldName, 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 setting fProtoModel and 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.
|
| |
| void | SetProtoModel (std::unique_ptr< ROOT::RNTupleModel > primaryModel, std::unique_ptr< ROOT::RNTupleModel > auxModel) |
| | Set the processor's proto model by combining the primary and auxiliary models.
|
| |
|
| 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.
|
| |
| | RNTupleProcessor (std::string_view processorName) |
| | Create a new base RNTupleProcessor.
|
| |
| const ROOT::RNTupleModel & | GetProtoModel () const |
| | Get the proto model used by the processor.
|
| |
| bool | IsInitialized () const |
| | Check if the processor already has been initialized.
|
| |
| 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 |
| |
| std::unique_ptr< ROOT::RNTupleModel > | fProtoModel = nullptr |
| |
Set the processor's proto model by combining the primary and auxiliary models.
- Parameters
-
| [in] | primaryModel | The proto model of the primary processor. |
| [in] | auxModel | The proto model of the auxiliary processors. |
To prevent field name clashes when one or more models have fields with duplicate names, fields from each auxiliary model are stored as a anonymous record, and subsequently registered as subfields in the join model. This way, they can be accessed from the processor's entry as auxNTupleName.fieldName.
Definition at line 490 of file RNTupleProcessor.cxx.