Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Internal::RDF::RTreeColumnReader< RVec< T > > Class Template Referencefinal

template<typename T>
class ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >

RTreeColumnReader specialization for TTree values read via TTreeReaderArrays.

TTreeReaderArrays are used whenever the RDF column type is RVec<T>.

Definition at line 56 of file RTreeColumnReader.hxx.

Public Member Functions

 RTreeColumnReader (TTreeReader &r, const std::string &colName)
 
 ~RTreeColumnReader () override
 See the other class template specializations for an explanation.
 
- Public Member Functions inherited from ROOT::Detail::RDF::RColumnReaderBase
virtual ~RColumnReaderBase ()=default
 
template<typename T >
T & Get (Long64_t entry)
 Return the column value for the given entry.
 

Private Types

enum class  EStorageType : char { kContiguous , kUnknown , kSparse }
 Enumerator for the memory layout of the branch. More...
 

Private Member Functions

void * GetImpl (Long64_t entry) final
 

Private Attributes

bool fCopyWarningPrinted = false
 Whether we already printed a warning about performing a copy of the TTreeReaderArray contents.
 
Long64_t fLastEntry = -1
 
RVec< T > fRVec
 We return a reference to this RVec to clients, to guarantee a stable address and contiguous memory layout.
 
EStorageType fStorageType = EStorageType::kUnknown
 Signal whether we ever checked that the branch we are reading with a TTreeReaderArray stores array elements in contiguous memory.
 
std::unique_ptr< TTreeReaderArray< T > > fTreeArray
 

#include <ROOT/RDF/RTreeColumnReader.hxx>

Inheritance diagram for ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >:
[legend]

Member Enumeration Documentation

◆ EStorageType

template<typename T >
enum class ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::EStorageType : char
strongprivate

Enumerator for the memory layout of the branch.

Enumerator
kContiguous 
kUnknown 
kSparse 

Definition at line 60 of file RTreeColumnReader.hxx.

Constructor & Destructor Documentation

◆ RTreeColumnReader()

template<typename T >
ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::RTreeColumnReader ( TTreeReader r,
const std::string &  colName 
)
inline

Definition at line 134 of file RTreeColumnReader.hxx.

◆ ~RTreeColumnReader()

template<typename T >
ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::~RTreeColumnReader ( )
inlineoverride

See the other class template specializations for an explanation.

Definition at line 140 of file RTreeColumnReader.hxx.

Member Function Documentation

◆ GetImpl()

template<typename T >
void * ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::GetImpl ( Long64_t  entry)
inlinefinalprivatevirtual

Implements ROOT::Detail::RDF::RColumnReaderBase.

Definition at line 73 of file RTreeColumnReader.hxx.

Member Data Documentation

◆ fCopyWarningPrinted

template<typename T >
bool ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::fCopyWarningPrinted = false
private

Whether we already printed a warning about performing a copy of the TTreeReaderArray contents.

Definition at line 71 of file RTreeColumnReader.hxx.

◆ fLastEntry

template<typename T >
Long64_t ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::fLastEntry = -1
private

Definition at line 68 of file RTreeColumnReader.hxx.

◆ fRVec

template<typename T >
RVec<T> ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::fRVec
private

We return a reference to this RVec to clients, to guarantee a stable address and contiguous memory layout.

Definition at line 63 of file RTreeColumnReader.hxx.

◆ fStorageType

template<typename T >
EStorageType ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::fStorageType = EStorageType::kUnknown
private

Signal whether we ever checked that the branch we are reading with a TTreeReaderArray stores array elements in contiguous memory.

Definition at line 67 of file RTreeColumnReader.hxx.

◆ fTreeArray

template<typename T >
std::unique_ptr<TTreeReaderArray<T> > ROOT::Internal::RDF::RTreeColumnReader< RVec< T > >::fTreeArray
private

Definition at line 57 of file RTreeColumnReader.hxx.

  • tree/dataframe/inc/ROOT/RDF/RTreeColumnReader.hxx