11#ifndef ROOT_RDF_RDEFINEPERSAMPLE
12#define ROOT_RDF_RDEFINEPERSAMPLE
27using namespace ROOT::TypeTraits;
35 std::conditional_t<std::is_same<RetType_t, bool>::value, std::deque<RetType_t>, std::vector<RetType_t>>;
43 fExpression(std::move(expression)),
46 fLoopManager->Register(
this);
48 fLoopManager->AddSampleCallback(
this, std::move(callUpdate));
84 R__ASSERT(
false &&
"This should never be called");
long long Long64_t
Portable signed long integer 8 bytes.
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
RLoopManager * fLoopManager
RDefineBase(std::string_view name, std::string_view type, const RDFInternal::RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &columnNames, const std::string &variationName="nominal")
void FinalizeSlot(unsigned int) final
Clean-up operations to be performed at the end of a task.
RDefinePerSample & operator=(const RDefinePerSample &)=delete
RDefinePerSample(const RDefinePerSample &)=delete
void InitSlot(TTreeReader *, unsigned int) final
void Update(unsigned int slot, const ROOT::RDF::RSampleInfo &id) final
Update the value at the address returned by GetValuePtr with the content corresponding to the given e...
ValuesPerSlot_t fLastResults
RDefineBase & GetVariedDefine(const std::string &) final
Return a clone of this Define that works with values in the variationName "universe".
const std::type_info & GetTypeId() const final
std::conditional_t< std::is_same< RetType_t, bool >::value, std::deque< RetType_t >, std::vector< RetType_t > > ValuesPerSlot_t
void * GetValuePtr(unsigned int slot) final
Return the (type-erased) address of the Define'd value for the given processing slot.
typename CallableTraits< F >::ret_type RetType_t
RDefinePerSample(std::string_view name, std::string_view type, F expression, RLoopManager &lm)
void MakeVariations(const std::vector< std::string > &) final
Create clones of this Define that work with values in varied "universes".
void Update(unsigned int, Long64_t) final
Update the value at the address returned by GetValuePtr with the content corresponding to the given e...
The head node of a RDF computation graph.
This type represents a sample identifier, to be used in conjunction with RDataFrame features such as ...
ROOT::Detail::CallableTraitsImpl< F > CallableTraits
Extract types from the signature of a callable object.
A simple, robust and fast interface to read values from ROOT columnar datasets such as TTree,...
Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target ty...
constexpr std::size_t CacheLineStep()
Stepping through CacheLineStep<T> values in a vector<T> brings you to a new cache line.