Logo ROOT  
Reference Guide
RDefineBase.cxx
Go to the documentation of this file.
1// Author: Enrico Guiraud, Danilo Piparo CERN 09/2018
2
3/*************************************************************************
4 * Copyright (C) 1995-2018, Rene Brun and Fons Rademakers. *
5 * All rights reserved. *
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. *
8 * For the list of contributors see $ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
13#include "ROOT/RDF/Utils.hxx"
14#include "ROOT/RStringView.hxx"
15#include "RtypesCore.h" // Long64_t
16
17#include <string>
18#include <vector>
19#include <atomic>
20
22namespace RDFInternal = ROOT::Internal::RDF; // redundant (already present in the header), but Windows needs it
23
26 const std::string &variationName)
27 : fName(name), fType(type), fLastCheckedEntry(lm.GetNSlots() * RDFInternal::CacheLineStep<Long64_t>(), -1),
28 fColRegister(colRegister), fLoopManager(&lm), fColumnNames(columnNames), fIsDefine(columnNames.size()),
29 fVariationDeps(fColRegister.GetVariationDeps(fColumnNames)), fVariation(variationName)
30{
31 const auto nColumns = fColumnNames.size();
32 for (auto i = 0u; i < nColumns; ++i) {
34 if (fVariation != "nominal" && fIsDefine[i])
36 }
37}
38
39// pin vtable. Work around cling JIT issue.
41
42std::string RDefineBase::GetName() const
43{
44 return fName;
45}
46
47std::string RDefineBase::GetTypeName() const
48{
49 return fType;
50}
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
long long Long64_t
Definition: RtypesCore.h:80
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char name[80]
Definition: TGX11.cxx:110
virtual void MakeVariations(const std::vector< std::string > &variations)=0
Create clones of this Define that work with values in varied "universes".
ROOT::RVecB fIsDefine
The nth flag signals whether the nth input column is a custom column or not.
Definition: RDefineBase.hxx:48
std::string fVariation
This indicates for what variation this define evaluates values.
Definition: RDefineBase.hxx:50
const std::string fType
The type of the custom column as a text string.
Definition: RDefineBase.hxx:42
std::string GetTypeName() const
Definition: RDefineBase.cxx:47
RDefineBase(std::string_view name, std::string_view type, const RDFInternal::RColumnRegister &colRegister, RLoopManager &lm, const ColumnNames_t &columnNames, const std::string &variationName="nominal")
Definition: RDefineBase.cxx:24
std::string GetName() const
Definition: RDefineBase.cxx:42
RDFInternal::RColumnRegister fColRegister
Definition: RDefineBase.hxx:44
const ROOT::RDF::ColumnNames_t fColumnNames
Definition: RDefineBase.hxx:46
const std::string fName
The name of the custom column.
Definition: RDefineBase.hxx:41
The head node of a RDF computation graph.
A binder for user-defined columns, variations and aliases.
bool IsDefineOrAlias(std::string_view name) const
Check if the provided name is tracked in the names list.
RDFDetail::RDefineBase * GetDefine(const std::string &colName) const
Return the RDefine for the requested column name, or nullptr.
basic_string_view< char > string_view
unsigned int GetNSlots()
Definition: RDFUtils.cxx:283
constexpr std::size_t CacheLineStep()
Stepping through CacheLineStep<T> values in a vector<T> brings you to a new cache line.
Definition: Utils.hxx:220
std::vector< std::string > ColumnNames_t