11#ifndef ROOT_RVARIATIONBASE
12#define ROOT_RVARIATIONBASE
52 RVariationBase(
const std::vector<std::string> &colNames, std::string_view variationName,
53 const std::vector<std::string> &variationTags, std::string_view
type,
65 virtual void *
GetValuePtr(
unsigned int slot,
const std::string &column,
const std::string &variation) = 0;
66 virtual const std::type_info &
GetTypeId()
const = 0;
The head node of a RDF computation graph.
A binder for user-defined columns and aliases.
This type includes all parts of RVariation that do not depend on the callable signature.
std::vector< std::string > fColNames
The names of the varied columns.
const std::vector< std::string > & GetVariationNames() const
const std::vector< std::string > & GetColumnNames() const
RVariationBase & operator=(RVariationBase &&)=default
std::string fType
The type of the custom column as a text string.
virtual void FinalizeSlot(unsigned int slot)=0
Clean-up operations to be performed at the end of a task.
virtual const std::type_info & GetTypeId() const =0
RLoopManager * fLoopManager
ROOT::RVecB fIsDefine
The nth flag signals whether the nth input column is a custom column or not.
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 e...
std::vector< std::string > fVariationNames
The names of the systematic variation.
ColumnNames_t fInputColumns
RVariationBase(RVariationBase &&)=default
std::vector< Long64_t > fLastCheckedEntry
RColumnRegister fColumnRegister
std::string GetTypeName() const
virtual void * GetValuePtr(unsigned int slot, const std::string &column, const std::string &variation)=0
Return the (type-erased) address of the value of one variation of one column (can be safely cast back...
virtual ~RVariationBase()
virtual void InitSlot(TTreeReader *r, unsigned int slot)=0
RVariationBase(const RVariationBase &)=delete
RVariationBase & operator=(const RVariationBase &)=delete
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
std::vector< std::string > ColumnNames_t
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...