Logo ROOT   6.10/00
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROOT::Detail::TDF::TLoopManager Class Reference

Definition at line 49 of file TDFNodes.hxx.

Public Member Functions

 TLoopManager (TTree *tree, const ColumnNames_t &defaultBranches)
 
 TLoopManager (Long64_t nEmptyEntries)
 
 TLoopManager (const TLoopManager &)=delete
 
 ~TLoopManager ()
 
void Book (const ActionBasePtr_t &actionPtr)
 
void Book (const FilterBasePtr_t &filterPtr)
 
void Book (const TmpBranchBasePtr_t &branchPtr)
 
void Book (const std::shared_ptr< bool > &branchPtr)
 
void Book (const RangeBasePtr_t &rangePtr)
 
bool CheckFilters (int, unsigned int)
 
void CreateSlots (unsigned int nSlots)
 Initialize all nodes of the functional graph before running the event loop. More...
 
TCustomColumnBaseGetBookedBranch (const std::string &name) const
 
const std::map< std::string,
TmpBranchBasePtr_t > & 
GetBookedBranches () const
 
const ColumnNames_t & GetDefaultBranches () const
 
::TDirectoryGetDirectory () const
 
TLoopManagerGetImplPtr ()
 
Long64_t GetNEmptyEntries () const
 
unsigned int GetNSlots () const
 
std::shared_ptr< TLoopManagerGetSharedPtr ()
 
const ColumnNames_t GetTmpBranches () const
 
TTreeGetTree () const
 
bool HasRunAtLeastOnce () const
 
void IncrChildrenCount ()
 
void InitAllNodes (TTreeReader *r, unsigned int slot)
 Build TTreeReaderValues for all nodes. More...
 
void PartialReport () const
 End of recursive chain of calls, does nothing. More...
 
void Report () const
 Call PrintReport on all booked filters. More...
 
void Run ()
 
void SetTree (std::shared_ptr< TTree > tree)
 
void StopProcessing ()
 

Private Member Functions

void RunAndCheckFilters (unsigned int slot, Long64_t entry)
 

Private Attributes

ActionBaseVec_t fBookedActions
 
std::map< std::string,
TmpBranchBasePtr_t
fBookedBranches
 
FilterBaseVec_t fBookedFilters
 
FilterBaseVec_t fBookedNamedFilters
 
RangeBaseVec_t fBookedRanges
 
const ColumnNames_t fDefaultBranches
 
bool fHasRunAtLeastOnce {false}
 
unsigned int fNChildren {0}
 Number of nodes of the functional graph hanging from this object. More...
 
const Long64_t fNEmptyEntries {0}
 
const unsigned int fNSlots {0}
 
unsigned int fNStopsReceived {0}
 Number of times that a children node signaled to stop processing entries. More...
 
std::vector< std::shared_ptr
< bool > > 
fResProxyReadiness
 
std::shared_ptr< TTreefTree {nullptr}
 
::TDirectory *fDirPtr nullptr
 

#include <ROOT/TDFNodes.hxx>

Inheritance diagram for ROOT::Detail::TDF::TLoopManager:
[legend]

Constructor & Destructor Documentation

TLoopManager::TLoopManager ( TTree tree,
const ColumnNames_t &  defaultBranches 
)

Definition at line 126 of file TDFNodes.cxx.

ROOT::Detail::TDF::TLoopManager::TLoopManager ( Long64_t  nEmptyEntries)
ROOT::Detail::TDF::TLoopManager::TLoopManager ( const TLoopManager )
delete
ROOT::Detail::TDF::TLoopManager::~TLoopManager ( )
inline

Definition at line 72 of file TDFNodes.hxx.

Member Function Documentation

void TLoopManager::Book ( const ActionBasePtr_t actionPtr)

Definition at line 280 of file TDFNodes.cxx.

void TLoopManager::Book ( const FilterBasePtr_t filterPtr)

Definition at line 285 of file TDFNodes.cxx.

void TLoopManager::Book ( const TmpBranchBasePtr_t branchPtr)

Definition at line 293 of file TDFNodes.cxx.

void TLoopManager::Book ( const std::shared_ptr< bool > &  branchPtr)

Definition at line 298 of file TDFNodes.cxx.

void TLoopManager::Book ( const RangeBasePtr_t rangePtr)

Definition at line 303 of file TDFNodes.cxx.

bool TLoopManager::CheckFilters ( int  ,
unsigned  int 
)

Definition at line 309 of file TDFNodes.cxx.

void TLoopManager::CreateSlots ( unsigned int  nSlots)

Initialize all nodes of the functional graph before running the event loop.

This method loops over all filters, actions and other booked objects and calls their CreateSlots methods. It is called once per node before running the event loop. The main effect is to inform all nodes of the number of slots (i.e. workers) that will be used to perform the event loop.

Definition at line 247 of file TDFNodes.cxx.

TCustomColumnBase * TLoopManager::GetBookedBranch ( const std::string &  name) const

Definition at line 269 of file TDFNodes.cxx.

const std::map<std::string, TmpBranchBasePtr_t>& ROOT::Detail::TDF::TLoopManager::GetBookedBranches ( ) const
inline

Definition at line 82 of file TDFNodes.hxx.

const ColumnNames_t & TLoopManager::GetDefaultBranches ( ) const

Definition at line 259 of file TDFNodes.cxx.

TDirectory * TLoopManager::GetDirectory ( ) const

Definition at line 275 of file TDFNodes.cxx.

TLoopManager * TLoopManager::GetImplPtr ( )

Definition at line 254 of file TDFNodes.cxx.

Long64_t ROOT::Detail::TDF::TLoopManager::GetNEmptyEntries ( ) const
inline

Definition at line 84 of file TDFNodes.hxx.

unsigned int TLoopManager::GetNSlots ( ) const

Definition at line 314 of file TDFNodes.cxx.

std::shared_ptr<TLoopManager> ROOT::Detail::TDF::TLoopManager::GetSharedPtr ( )
inline

Definition at line 77 of file TDFNodes.hxx.

const ColumnNames_t ROOT::Detail::TDF::TLoopManager::GetTmpBranches ( ) const
inline

Definition at line 79 of file TDFNodes.hxx.

TTree * TLoopManager::GetTree ( ) const

Definition at line 264 of file TDFNodes.cxx.

bool ROOT::Detail::TDF::TLoopManager::HasRunAtLeastOnce ( ) const
inline

Definition at line 92 of file TDFNodes.hxx.

void ROOT::Detail::TDF::TLoopManager::IncrChildrenCount ( )
inline

Definition at line 97 of file TDFNodes.hxx.

void TLoopManager::InitAllNodes ( TTreeReader r,
unsigned int  slot 
)

Build TTreeReaderValues for all nodes.

This method loops over all filters, actions and other booked objects and calls their BuildReaderValues methods. It is called once per node per slot, before running the event loop. It also informs each node of the TTreeReader that a particular slot will be using.

Definition at line 232 of file TDFNodes.cxx.

void ROOT::Detail::TDF::TLoopManager::PartialReport ( ) const
inline

End of recursive chain of calls, does nothing.

Definition at line 95 of file TDFNodes.hxx.

void TLoopManager::Report ( ) const

Call PrintReport on all booked filters.

Definition at line 320 of file TDFNodes.cxx.

void TLoopManager::Run ( )

Definition at line 142 of file TDFNodes.cxx.

void TLoopManager::RunAndCheckFilters ( unsigned int  slot,
Long64_t  entry 
)
private

Definition at line 136 of file TDFNodes.cxx.

void ROOT::Detail::TDF::TLoopManager::SetTree ( std::shared_ptr< TTree tree)
inline

Definition at line 96 of file TDFNodes.hxx.

void ROOT::Detail::TDF::TLoopManager::StopProcessing ( )
inline

Definition at line 98 of file TDFNodes.hxx.

Member Data Documentation

ActionBaseVec_t ROOT::Detail::TDF::TLoopManager::fBookedActions
private

Definition at line 51 of file TDFNodes.hxx.

std::map<std::string, TmpBranchBasePtr_t> ROOT::Detail::TDF::TLoopManager::fBookedBranches
private

Definition at line 54 of file TDFNodes.hxx.

FilterBaseVec_t ROOT::Detail::TDF::TLoopManager::fBookedFilters
private

Definition at line 52 of file TDFNodes.hxx.

FilterBaseVec_t ROOT::Detail::TDF::TLoopManager::fBookedNamedFilters
private

Definition at line 53 of file TDFNodes.hxx.

RangeBaseVec_t ROOT::Detail::TDF::TLoopManager::fBookedRanges
private

Definition at line 55 of file TDFNodes.hxx.

const ColumnNames_t ROOT::Detail::TDF::TLoopManager::fDefaultBranches
private

Definition at line 59 of file TDFNodes.hxx.

bool ROOT::Detail::TDF::TLoopManager::fHasRunAtLeastOnce {false}
private

Definition at line 62 of file TDFNodes.hxx.

unsigned int ROOT::Detail::TDF::TLoopManager::fNChildren {0}
private

Number of nodes of the functional graph hanging from this object.

Definition at line 63 of file TDFNodes.hxx.

const Long64_t ROOT::Detail::TDF::TLoopManager::fNEmptyEntries {0}
private

Definition at line 60 of file TDFNodes.hxx.

const unsigned int ROOT::Detail::TDF::TLoopManager::fNSlots {0}
private

Definition at line 61 of file TDFNodes.hxx.

unsigned int ROOT::Detail::TDF::TLoopManager::fNStopsReceived {0}
private

Number of times that a children node signaled to stop processing entries.

Definition at line 64 of file TDFNodes.hxx.

std::vector<std::shared_ptr<bool> > ROOT::Detail::TDF::TLoopManager::fResProxyReadiness
private

Definition at line 56 of file TDFNodes.hxx.

std::shared_ptr<TTree> ROOT::Detail::TDF::TLoopManager::fTree {nullptr}
private

Definition at line 58 of file TDFNodes.hxx.

::TDirectory* fDirPtr ROOT::Detail::TDF::TLoopManager::nullptr
private

Definition at line 57 of file TDFNodes.hxx.


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