A wrapper around a concrete RDefine, which forwards all calls to it RJittedDefine is a placeholder that is put in the collection of custom columns in place of a RDefine that will be just-in-time compiled.
Jitted code will assign the concrete RDefine to this RJittedDefine before the event-loop starts.
Definition at line 33 of file RJittedDefine.hxx.
Public Member Functions | |
RJittedDefine (std::string_view name, std::string_view type, RLoopManager &lm, const RDFInternal::RColumnRegister &colRegister, const ColumnNames_t &columns) | |
~RJittedDefine () | |
void | FinaliseSlot (unsigned int slot) final |
Clean-up operations to be performed at the end of a task. | |
const std::type_info & | GetTypeId () const final |
void * | GetValuePtr (unsigned int slot) final |
Return the (type-erased) address of the Define'd value for the given processing slot. | |
RDefineBase & | GetVariedDefine (const std::string &variationName) final |
Return a clone of this Define that works with values in the variationName "universe". | |
void | InitSlot (TTreeReader *r, unsigned int slot) final |
void | MakeVariations (const std::vector< std::string > &variations) final |
Create clones of this Define that work with values in varied "universes". | |
void | SetDefine (std::unique_ptr< RDefineBase > c) |
void | Update (unsigned int slot, const ROOT::RDF::RSampleInfo &id) final |
Update function to be called once per sample, used if the derived type is a RDefinePerSample. | |
void | Update (unsigned int slot, Long64_t entry) final |
Update the value at the address returned by GetValuePtr with the content corresponding to the given entry. | |
Public Member Functions inherited from ROOT::Detail::RDF::RDefineBase | |
RDefineBase (std::string_view name, std::string_view type, const RDFInternal::RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &columnNames, const std::string &variationName="nominal") | |
virtual | ~RDefineBase () |
std::string | GetName () const |
std::string | GetTypeName () const |
const std::vector< std::string > & | GetVariations () const |
RDefineBase & | operator= (const RDefineBase &)=delete |
RDefineBase & | operator= (RDefineBase &&)=delete |
Private Attributes | |
std::unique_ptr< RDefineBase > | fConcreteDefine = nullptr |
const std::type_info * | fTypeId = nullptr |
Type info obtained through TypeName2TypeID based on the column type name. | |
Additional Inherited Members | |
Protected Attributes inherited from ROOT::Detail::RDF::RDefineBase | |
RDFInternal::RColumnRegister | fColRegister |
const ROOT::RDF::ColumnNames_t | fColumnNames |
ROOT::RVecB | fIsDefine |
The nth flag signals whether the nth input column is a custom column or not. | |
std::vector< Long64_t > | fLastCheckedEntry |
RLoopManager * | fLoopManager |
const std::string | fName |
The name of the custom column. | |
const std::string | fType |
The type of the custom column as a text string. | |
std::string | fVariation |
This indicates for what variation this define evaluates values. | |
std::vector< std::string > | fVariationDeps |
List of systematic variations that affect the value of this define. | |
#include <ROOT/RDF/RJittedDefine.hxx>
|
inline |
Definition at line 41 of file RJittedDefine.hxx.
RJittedDefine::~RJittedDefine | ( | ) |
Definition at line 18 of file RJittedDefine.cxx.
Clean-up operations to be performed at the end of a task.
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 58 of file RJittedDefine.cxx.
|
finalvirtual |
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 35 of file RJittedDefine.cxx.
Return the (type-erased) address of the Define'd value for the given processing slot.
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 29 of file RJittedDefine.cxx.
|
finalvirtual |
Return a clone of this Define that works with values in the variationName "universe".
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 70 of file RJittedDefine.cxx.
|
finalvirtual |
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 23 of file RJittedDefine.cxx.
|
finalvirtual |
Create clones of this Define that work with values in varied "universes".
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 64 of file RJittedDefine.cxx.
|
inline |
Definition at line 53 of file RJittedDefine.hxx.
|
finalvirtual |
Update function to be called once per sample, used if the derived type is a RDefinePerSample.
Reimplemented from ROOT::Detail::RDF::RDefineBase.
Definition at line 52 of file RJittedDefine.cxx.
Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.
Implements ROOT::Detail::RDF::RDefineBase.
Definition at line 46 of file RJittedDefine.cxx.
|
private |
Definition at line 34 of file RJittedDefine.hxx.
|
private |
Type info obtained through TypeName2TypeID based on the column type name.
The expectation is that this always compares equal to fConcreteDefine->GetTypeId() (which however is only available after jitting). It can be null if TypeName2TypeID failed to figure out this type.
Definition at line 38 of file RJittedDefine.hxx.