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 REntry & | GetEntry () 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. | |
RNTupleProcessor & | operator= (const RNTupleProcessor &)=delete |
RNTupleProcessor & | operator= (RNTupleProcessor &&)=delete |
Static Public Member Functions inherited from ROOT::Experimental::RNTupleProcessor | |
static std::unique_ptr< RNTupleProcessor > | CreateChain (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< RNTupleProcessor > | CreateJoin (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< REntry > | fEntry |
std::unordered_map< std::string, RFieldContext > | fFieldContexts |
NTupleSize_t | fLocalEntryNumber |
NTupleSize_t | fNEntriesProcessed |
std::vector< RNTupleOpenSpec > | fNTuples |
std::unique_ptr< Internal::RPageSource > | fPageSource |
#include <ROOT/RNTupleProcessor.hxx>
|
private |
Constructs 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 . |
RNTuples are processed in the order in which they are specified.
Definition at line 108 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Advance the processor to the next available entry.
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.
|
private |
Connect an RNTuple for processing.
[in] | ntuple | The RNTupleOpenSpec describing the RNTuple to connect. |
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.
|
inlinefinalprivatevirtual |
Fill the entry with values belonging to the current entry number.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 271 of file RNTupleProcessor.hxx.
|
friend |
Definition at line 267 of file RNTupleProcessor.hxx.