Logo ROOT   6.12/07
Reference Guide
List of all members | Public Member Functions | Private Types | Private Attributes | List of all members
ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE > Class Template Referencefinal

template<typename F, typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
class ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >

Definition at line 482 of file TDFNodes.hxx.

Public Member Functions

 TCustomColumn (std::string_view name, F &&expression, const ColumnNames_t &bl, TLoopManager *lm, bool isDSColumn=false)
 
 TCustomColumn (const TCustomColumn &)=delete
 
void ClearValueReaders (unsigned int slot) final
 
const std::type_info & GetTypeId () const
 
voidGetValuePtr (unsigned int slot) final
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
TCustomColumnoperator= (const TCustomColumn &)=delete
 
void Update (unsigned int slot, Long64_t entry) final
 
template<int... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, TDFInternal::StaticSeq< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TNothing *)
 
template<int... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, TDFInternal::StaticSeq< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TSlot *)
 
template<int... S, typename... BranchTypes>
void UpdateHelper (unsigned int slot, Long64_t entry, TDFInternal::StaticSeq< S... >, TypeList< BranchTypes... >, TCCHelperTypes::TSlotAndEntry *)
 
- Public Member Functions inherited from ROOT::Detail::TDF::TCustomColumnBase
 TCustomColumnBase (TLoopManager *df, std::string_view name, const unsigned int nSlots, const bool isDSColumn)
 
virtual ~TCustomColumnBase ()=default
 
TLoopManagerGetImplPtr () const
 
std::string GetName () const
 
unsigned int GetNSlots () const
 
void InitNode ()
 
bool IsDataSourceColumn () const
 
TCustomColumnBaseoperator= (const TCustomColumnBase &)=delete
 

Private Types

using BranchTypes_t = typename TDFInternal::RemoveFirstTwoParametersIf< std::is_same< TSlotAndEntry, UHT_t >::value, BranchTypesTmp_t >::type
 
using BranchTypesTmp_t = typename TDFInternal::RemoveFirstParameterIf< std::is_same< TSlot, UHT_t >::value, FunParamTypes_t >::type
 
using FunParamTypes_t = typename CallableTraits< F >::arg_types
 
using ret_type = typename CallableTraits< F >::ret_type
 
using TNothing = TCCHelperTypes::TNothing
 
using TSlot = TCCHelperTypes::TSlot
 
using TSlotAndEntry = TCCHelperTypes::TSlotAndEntry
 
using TypeInd_t = TDFInternal::GenStaticSeq_t< BranchTypes_t::list_size >
 
using UHT_t = UPDATE_HELPER_TYPE
 
using ValuesPerSlot_t = typename std::conditional< std::is_same< ret_type, bool >::value, std::deque< ret_type >, std::vector< ret_type > >::type
 

Private Attributes

const ColumnNames_t fBranches
 
F fExpression
 
ValuesPerSlot_t fLastResults
 
std::vector< TDFInternal::TDFValueTuple_t< BranchTypes_t > > fValues
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Detail::TDF::TCustomColumnBase
TLoopManagerfImplPtr
 A raw pointer to the TLoopManager at the root of this functional graph. More...
 
const bool fIsDataSourceColumn
 does the custom column refer to a data-source column? (or a user-define column?) More...
 
std::vector< Long64_tfLastCheckedEntry
 
const std::string fName
 
unsigned int fNChildren {0}
 number of nodes of the functional graph hanging from this object More...
 
const unsigned int fNSlots
 number of thread slots used by this node, inherited from parent node. More...
 
unsigned int fNStopsReceived {0}
 number of times that a children node signaled to stop processing entries. More...
 

#include <ROOT/TDFNodes.hxx>

Inheritance diagram for ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >:
[legend]

Member Typedef Documentation

◆ BranchTypes_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::BranchTypes_t = typename TDFInternal::RemoveFirstTwoParametersIf<std::is_same<TSlotAndEntry, UHT_t>::value, BranchTypesTmp_t>::type
private

Definition at line 493 of file TDFNodes.hxx.

◆ BranchTypesTmp_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::BranchTypesTmp_t = typename TDFInternal::RemoveFirstParameterIf<std::is_same<TSlot, UHT_t>::value, FunParamTypes_t>::type
private

Definition at line 491 of file TDFNodes.hxx.

◆ FunParamTypes_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::FunParamTypes_t = typename CallableTraits<F>::arg_types
private

Definition at line 489 of file TDFNodes.hxx.

◆ ret_type

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::ret_type = typename CallableTraits<F>::ret_type
private

Definition at line 495 of file TDFNodes.hxx.

◆ TNothing

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TNothing = TCCHelperTypes::TNothing
private

Definition at line 484 of file TDFNodes.hxx.

◆ TSlot

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TSlot = TCCHelperTypes::TSlot
private

Definition at line 485 of file TDFNodes.hxx.

◆ TSlotAndEntry

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TSlotAndEntry = TCCHelperTypes::TSlotAndEntry
private

Definition at line 486 of file TDFNodes.hxx.

◆ TypeInd_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TypeInd_t = TDFInternal::GenStaticSeq_t<BranchTypes_t::list_size>
private

Definition at line 494 of file TDFNodes.hxx.

◆ UHT_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::UHT_t = UPDATE_HELPER_TYPE
private

Definition at line 487 of file TDFNodes.hxx.

◆ ValuesPerSlot_t

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
using ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::ValuesPerSlot_t = typename std::conditional<std::is_same<ret_type, bool>::value, std::deque<ret_type>, std::vector<ret_type> >::type
private

Definition at line 498 of file TDFNodes.hxx.

Constructor & Destructor Documentation

◆ TCustomColumn() [1/2]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TCustomColumn ( std::string_view  name,
F &&  expression,
const ColumnNames_t &  bl,
TLoopManager lm,
bool  isDSColumn = false 
)
inline

Definition at line 507 of file TDFNodes.hxx.

◆ TCustomColumn() [2/2]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::TCustomColumn ( const TCustomColumn< F, UPDATE_HELPER_TYPE > &  )
delete

Member Function Documentation

◆ ClearValueReaders()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::ClearValueReaders ( unsigned int  slot)
inlinefinalvirtual

Implements ROOT::Detail::TDF::TCustomColumnBase.

Definition at line 569 of file TDFNodes.hxx.

◆ GetTypeId()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
const std::type_info& ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::GetTypeId ( ) const
inlinevirtual

Implements ROOT::Detail::TDF::TCustomColumnBase.

Definition at line 534 of file TDFNodes.hxx.

◆ GetValuePtr()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void* ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::GetValuePtr ( unsigned int  slot)
inlinefinalvirtual

Implements ROOT::Detail::TDF::TCustomColumnBase.

Definition at line 523 of file TDFNodes.hxx.

◆ InitSlot()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::InitSlot ( TTreeReader r,
unsigned int  slot 
)
inlinefinalvirtual

Implements ROOT::Detail::TDF::TCustomColumnBase.

Definition at line 517 of file TDFNodes.hxx.

◆ operator=()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
TCustomColumn& ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::operator= ( const TCustomColumn< F, UPDATE_HELPER_TYPE > &  )
delete

◆ Update()

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::Update ( unsigned int  slot,
Long64_t  entry 
)
inlinefinalvirtual

Implements ROOT::Detail::TDF::TCustomColumnBase.

Definition at line 525 of file TDFNodes.hxx.

◆ UpdateHelper() [1/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<int... S, typename... BranchTypes>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
TDFInternal::StaticSeq< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TNothing  
)
inline

Definition at line 540 of file TDFNodes.hxx.

◆ UpdateHelper() [2/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<int... S, typename... BranchTypes>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
TDFInternal::StaticSeq< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TSlot  
)
inline

Definition at line 550 of file TDFNodes.hxx.

◆ UpdateHelper() [3/3]

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
template<int... S, typename... BranchTypes>
void ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::UpdateHelper ( unsigned int  slot,
Long64_t  entry,
TDFInternal::StaticSeq< S... >  ,
TypeList< BranchTypes... >  ,
TCCHelperTypes::TSlotAndEntry  
)
inline

Definition at line 560 of file TDFNodes.hxx.

Member Data Documentation

◆ fBranches

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
const ColumnNames_t ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::fBranches
private

Definition at line 501 of file TDFNodes.hxx.

◆ fExpression

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
F ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::fExpression
private

Definition at line 500 of file TDFNodes.hxx.

◆ fLastResults

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
ValuesPerSlot_t ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::fLastResults
private

Definition at line 502 of file TDFNodes.hxx.

◆ fValues

template<typename F , typename UPDATE_HELPER_TYPE = TCCHelperTypes::TNothing>
std::vector<TDFInternal::TDFValueTuple_t<BranchTypes_t> > ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >::fValues
private

Definition at line 504 of file TDFNodes.hxx.

Libraries for ROOT::Detail::TDF::TCustomColumn< F, UPDATE_HELPER_TYPE >:
[legend]

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