Processor specializiation for vertically concatenated RNTuples (chains).
Definition at line 247 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. | |
void | ConnectFields () final |
Creates and connects concrete fields to the current page source, based on the proto-fields. | |
NTupleSize_t | ConnectNTuple (const RNTupleOpenSpec &ntuple) final |
Connect an RNTuple for processing. | |
Friends | |
class | RNTupleProcessor |
Additional Inherited Members | |
![]() | |
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 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. | |
![]() | |
RNTupleProcessor (const std::vector< RNTupleOpenSpec > &ntuples) | |
![]() | |
std::size_t | fCurrentNTupleNumber |
std::unique_ptr< REntry > | fEntry |
std::vector< 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 29 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 100 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
Creates and connects concrete fields to the current page source, based on the proto-fields.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 78 of file RNTupleProcessor.cxx.
|
finalprivatevirtual |
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.
Implements ROOT::Experimental::RNTupleProcessor.
Definition at line 67 of file RNTupleProcessor.cxx.
|
friend |
Definition at line 248 of file RNTupleProcessor.hxx.