RDFAnalysis  0.1.1
Physics analysis with ROOT::RDataFrame
SchedulerBase::ScheduleNode Struct Reference

Helper struct used to build and express the schedule. More...

#include <SchedulerBase.h>

Public Member Functions

 ScheduleNode (const Action &action)
 Build the node from the action it performs. More...
 
const Actionnext () const
 Get the next dependency from this action. This is defined as the 'smallest' action (using Action::CostOrdering) that has no remaining dependencies

Exceptions
std::out_of_rangeIf no such dependency exists. This is a logic error as it should be impossible to occur.
More...
 
void removeDependency (Action action, const SchedulerBase &scheduler)
 Remove a dependency from consideration. More...
 
void expand (const SchedulerBase &scheduler, const std::set< Action > &preExisting={})
 Expand this node's dependencies. More...
 

Data Fields

Action action
 The action performed by this node. More...
 
std::map< Action, std::set< Action >, Action::CostOrderingdependencies
 The dependencies of that action. More...
 
std::vector< ScheduleNodechildren
 The children of this node (i.e. the ones that follow it) More...
 
std::string region
 The region, if any, that this node defines (i.e. is the final action listed for that region) More...
 

Detailed Description

Helper struct used to build and express the schedule.

Each node performs one action. When building the raw schedule, each node is loaded with its dependencies which are then expanded in the full schedule.

Constructor & Destructor Documentation

ScheduleNode ( const Action action)
inline

Build the node from the action it performs.

Member Function Documentation

void expand ( const SchedulerBase scheduler,
const std::set< Action > &  preExisting = {} 
)
inline

Expand this node's dependencies.

const SchedulerBase::Action & next ( ) const

Get the next dependency from this action. This is defined as the 'smallest' action (using Action::CostOrdering) that has no remaining dependencies

Exceptions
std::out_of_rangeIf no such dependency exists. This is a logic error as it should be impossible to occur.

void removeDependency ( Action  action,
const SchedulerBase scheduler 
)

Remove a dependency from consideration.

Field Documentation

Action action

The action performed by this node.

std::vector<ScheduleNode> children

The children of this node (i.e. the ones that follow it)

std::map<Action, std::set<Action>, Action::CostOrdering> dependencies

The dependencies of that action.

std::string region

The region, if any, that this node defines (i.e. is the final action listed for that region)


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