Logo ROOT  
Reference Guide
ROOT::Detail::RDF::RDefineBase Class Referenceabstract

Definition at line 37 of file RDefineBase.hxx.

Public Member Functions

 RDefineBase (std::string_view name, std::string_view type, unsigned int nSlots, const RDFInternal::RBookedDefines &defines, const std::map< std::string, std::vector< void * > > &DSValuePtrs, ROOT::RDF::RDataSource *ds, const ColumnNames_t &columnNames)
 
virtual ~RDefineBase ()
 
virtual void FinaliseSlot (unsigned int slot)=0
 Clean-up operations to be performed at the end of a task. More...
 
std::string GetName () const
 
virtual const std::type_info & GetTypeId () const =0
 
std::string GetTypeName () const
 
virtual voidGetValuePtr (unsigned int slot)=0
 Return the (type-erased) address of the Define'd value for the given processing slot. More...
 
virtual void InitSlot (TTreeReader *r, unsigned int slot)=0
 
RDefineBaseoperator= (const RDefineBase &)=delete
 
RDefineBaseoperator= (RDefineBase &&)=delete
 
virtual void Update (unsigned int slot, Long64_t entry)=0
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry. More...
 
virtual void Update (unsigned int, const ROOT::RDF::RSampleInfo &)
 Update function to be called once per sample, used if the derived type is a RDefinePerSample. More...
 

Protected Attributes

const ROOT::RDF::ColumnNames_t fColumnNames
 
ROOT::RDF::RDataSourcefDataSource
 non-owning ptr to the RDataSource, if any. Used to retrieve column readers. More...
 
RDFInternal::RBookedDefines fDefines
 
const std::map< std::string, std::vector< void * > > & fDSValuePtrs
 
ROOT::RVecB fIsDefine
 The nth flag signals whether the nth input column is a custom column or not. More...
 
std::deque< bool > fIsInitialized
 
std::vector< Long64_tfLastCheckedEntry
 
const std::string fName
 The name of the custom column. More...
 
const std::string fType
 The type of the custom column as a text string. More...
 

#include <ROOT/RDF/RDefineBase.hxx>

Inheritance diagram for ROOT::Detail::RDF::RDefineBase:
[legend]

Constructor & Destructor Documentation

◆ RDefineBase()

RDefineBase::RDefineBase ( std::string_view  name,
std::string_view  type,
unsigned int  nSlots,
const RDFInternal::RBookedDefines defines,
const std::map< std::string, std::vector< void * > > &  DSValuePtrs,
ROOT::RDF::RDataSource ds,
const ColumnNames_t &  columnNames 
)

Definition at line 23 of file RDefineBase.cxx.

◆ ~RDefineBase()

RDefineBase::~RDefineBase ( )
virtual

Definition at line 37 of file RDefineBase.cxx.

Member Function Documentation

◆ FinaliseSlot()

virtual void ROOT::Detail::RDF::RDefineBase::FinaliseSlot ( unsigned int  slot)
pure virtual

Clean-up operations to be performed at the end of a task.

Implemented in ROOT::Detail::RDF::RDefine< F, ExtraArgsTag >, ROOT::Detail::RDF::RJittedDefine, and ROOT::Detail::RDF::RDefinePerSample< F >.

◆ GetName()

std::string RDefineBase::GetName ( ) const

Definition at line 39 of file RDefineBase.cxx.

◆ GetTypeId()

virtual const std::type_info & ROOT::Detail::RDF::RDefineBase::GetTypeId ( ) const
pure virtual

◆ GetTypeName()

std::string RDefineBase::GetTypeName ( ) const

Definition at line 44 of file RDefineBase.cxx.

◆ GetValuePtr()

virtual void * ROOT::Detail::RDF::RDefineBase::GetValuePtr ( unsigned int  slot)
pure virtual

Return the (type-erased) address of the Define'd value for the given processing slot.

Implemented in ROOT::Detail::RDF::RDefine< F, ExtraArgsTag >, ROOT::Detail::RDF::RDefinePerSample< F >, and ROOT::Detail::RDF::RJittedDefine.

◆ InitSlot()

virtual void ROOT::Detail::RDF::RDefineBase::InitSlot ( TTreeReader r,
unsigned int  slot 
)
pure virtual

◆ operator=() [1/2]

RDefineBase & ROOT::Detail::RDF::RDefineBase::operator= ( const RDefineBase )
delete

◆ operator=() [2/2]

RDefineBase & ROOT::Detail::RDF::RDefineBase::operator= ( RDefineBase &&  )
delete

◆ Update() [1/2]

virtual void ROOT::Detail::RDF::RDefineBase::Update ( unsigned int  slot,
Long64_t  entry 
)
pure virtual

Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Implemented in ROOT::Detail::RDF::RDefine< F, ExtraArgsTag >, ROOT::Detail::RDF::RJittedDefine, and ROOT::Detail::RDF::RDefinePerSample< F >.

◆ Update() [2/2]

virtual void ROOT::Detail::RDF::RDefineBase::Update ( unsigned int  ,
const ROOT::RDF::RSampleInfo  
)
inlinevirtual

Update function to be called once per sample, used if the derived type is a RDefinePerSample.

Reimplemented in ROOT::Detail::RDF::RDefinePerSample< F >, ROOT::Detail::RDF::RJittedDefine, and ROOT::Detail::RDF::RDefine< F, ExtraArgsTag >.

Definition at line 68 of file RDefineBase.hxx.

Member Data Documentation

◆ fColumnNames

const ROOT::RDF::ColumnNames_t ROOT::Detail::RDF::RDefineBase::fColumnNames
protected

Definition at line 46 of file RDefineBase.hxx.

◆ fDataSource

ROOT::RDF::RDataSource* ROOT::Detail::RDF::RDefineBase::fDataSource
protected

non-owning ptr to the RDataSource, if any. Used to retrieve column readers.

Definition at line 45 of file RDefineBase.hxx.

◆ fDefines

RDFInternal::RBookedDefines ROOT::Detail::RDF::RDefineBase::fDefines
protected

Definition at line 42 of file RDefineBase.hxx.

◆ fDSValuePtrs

const std::map<std::string, std::vector<void *> >& ROOT::Detail::RDF::RDefineBase::fDSValuePtrs
protected

Definition at line 44 of file RDefineBase.hxx.

◆ fIsDefine

ROOT::RVecB ROOT::Detail::RDF::RDefineBase::fIsDefine
protected

The nth flag signals whether the nth input column is a custom column or not.

Definition at line 48 of file RDefineBase.hxx.

◆ fIsInitialized

std::deque<bool> ROOT::Detail::RDF::RDefineBase::fIsInitialized
protected

Definition at line 43 of file RDefineBase.hxx.

◆ fLastCheckedEntry

std::vector<Long64_t> ROOT::Detail::RDF::RDefineBase::fLastCheckedEntry
protected

Definition at line 41 of file RDefineBase.hxx.

◆ fName

const std::string ROOT::Detail::RDF::RDefineBase::fName
protected

The name of the custom column.

Definition at line 39 of file RDefineBase.hxx.

◆ fType

const std::string ROOT::Detail::RDF::RDefineBase::fType
protected

The type of the custom column as a text string.

Definition at line 40 of file RDefineBase.hxx.

Libraries for ROOT::Detail::RDF::RDefineBase:
[legend]

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