Project
Loading...
Searching...
No Matches
ROOT::RDF::RCombinedDSIndex Class Referenceabstract

#include <RCombinedDS.h>

Inherited by ROOT::RDF::RCombinedDSBlockJoinIndex< INDEX_TYPE >, ROOT::RDF::RCombinedDSColumnJoinIndex< INDEX_TYPE >, ROOT::RDF::RCombinedDSCrossJoinIndex, and ROOT::RDF::RCombinedDSFriendIndex.

Public Member Functions

virtual ~RCombinedDSIndex ()=default
 
virtual std::vector< std::pair< ULong64_t, ULong64_t > > BuildIndex (std::unique_ptr< RDataFrame > &left, std::unique_ptr< RDataFrame > &right)=0
 
virtual std::pair< ULong64_t, ULong64_t > GetAssociatedEntries (ULong64_t entry)=0
 

Detailed Description

This is the baseclass which actually implements how two tables should be combined together, via the GetAssociatedEntries() method. The BuildIndex() method is a convenience method which gets invoked only once per Initialise() and that can be used to precompute the index itself, if the mapping combinedEntry -> (leftEntry, rightEntry) cannot be computed on the fly quickly.

Definition at line 33 of file RCombinedDS.h.

Constructor & Destructor Documentation

◆ ~RCombinedDSIndex()

virtual ROOT::RDF::RCombinedDSIndex::~RCombinedDSIndex ( )
virtualdefault

Member Function Documentation

◆ BuildIndex()

virtual std::vector< std::pair< ULong64_t, ULong64_t > > ROOT::RDF::RCombinedDSIndex::BuildIndex ( std::unique_ptr< RDataFrame > &  left,
std::unique_ptr< RDataFrame > &  right 
)
pure virtual

This is invoked on every Inititialise of the RCombinedDS to allow constructing the index associated to it.

Parameters
[in]

is the dataframe constructed on top of the left input.

Parameters
[in]

is the dataframe constructed on top of the right input.

Returns
the vector with the ranges of the combined dataset.

Implemented in ROOT::RDF::RCombinedDSFriendIndex, ROOT::RDF::RCombinedDSCrossJoinIndex, ROOT::RDF::RCombinedDSColumnJoinIndex< INDEX_TYPE >, and ROOT::RDF::RCombinedDSBlockJoinIndex< INDEX_TYPE >.

◆ GetAssociatedEntries()

virtual std::pair< ULong64_t, ULong64_t > ROOT::RDF::RCombinedDSIndex::GetAssociatedEntries ( ULong64_t  entry)
pure virtual

This is invoked on every GetEntry() of the RCombinedDS and it's used to effectively enumerate all the pairs of the combination.

Parameters
[in]

is the entry in the combined table

Returns
a pair where first is the entry in the associated left table, while right is an entry in the associated right table.

Implemented in ROOT::RDF::RCombinedDSFriendIndex, ROOT::RDF::RCombinedDSCrossJoinIndex, ROOT::RDF::RCombinedDSColumnJoinIndex< INDEX_TYPE >, and ROOT::RDF::RCombinedDSBlockJoinIndex< INDEX_TYPE >.


The documentation for this class was generated from the following file: