| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | List of all members
concurrency::RankerByDataRealmEccentricity Class Reference

`#include <src/PRGraphVisitors.h>`

Inheritance diagram for concurrency::RankerByDataRealmEccentricity:
[legend]
Collaboration diagram for concurrency::RankerByDataRealmEccentricity:
[legend]

## Public Member Functions
| RankerByDataRealmEccentricity ()
| Constructor. More...
| ~RankerByDataRealmEccentricity () override
| Destructor. More...
bool | visitEnter (DecisionNode &) const override
bool | visit (DecisionNode &) override
bool | visitLeave (DecisionNode &) const override
bool | visitEnter (AlgorithmNode &) const override
bool | visit (AlgorithmNode &node) override
void | reset () override
void | recursiveVisit (AlgorithmNode &node)
| Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence rules graph) More...
Public Member Functions inherited from concurrency::IGraphVisitor
virtual | ~IGraphVisitor ()

## Public Attributes
uint | m_currentDepth
uint | m_maxKnownDepth
Public Attributes inherited from concurrency::IGraphVisitor
int | m_nodesSucceeded
int | m_slotNum

## Detailed Description

Definition at line 197 of file PRGraphVisitors.h.

## Constructor & Destructor Documentation

concurrency::RankerByDataRealmEccentricity::RankerByDataRealmEccentricity | ( |  | ) |
| inline

Constructor.

Definition at line 200 of file PRGraphVisitors.h.

200 {
201 m_nodesSucceeded = 0;
202 m_slotNum = -1;
203 m_currentDepth = 0;
204 m_maxKnownDepth = 0;
205 };
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: PRGraphVisitors.h:231
concurrency::IGraphVisitor::m_slotNum
int m_slotNum
Definition: IGraphVisitor.h:24
concurrency::IGraphVisitor::m_nodesSucceeded
int m_nodesSucceeded
Definition: IGraphVisitor.h:23
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: PRGraphVisitors.h:232

concurrency::RankerByDataRealmEccentricity::~RankerByDataRealmEccentricity | ( |  | ) |
| inline override

Destructor.

Definition at line 207 of file PRGraphVisitors.h.

207 {}

## Member Function Documentation

void concurrency::RankerByDataRealmEccentricity::recursiveVisit | ( | AlgorithmNode & | node | ) |

Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence rules graph)

Definition at line 383 of file PRGraphVisitors.cpp.

383 {
384
385 m_currentDepth += 1;
386
387 auto& products = node.getOutputDataNodes();
388
389 if (products.empty())
390 if ( (m_currentDepth - 1) > m_maxKnownDepth)
391 m_maxKnownDepth = m_currentDepth - 1;
392
393 for (auto p : products)
394 for ( auto algoNode : p->getConsumers())
395 recursiveVisit(*algoNode);
396
397 m_currentDepth -= 1;
398
399 }
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: PRGraphVisitors.h:231
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &node)
Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence ...
Definition: PRGraphVisitors.cpp:383
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: PRGraphVisitors.h:232

void concurrency::RankerByDataRealmEccentricity::reset | ( |  | ) |
| inline override virtual

Implements concurrency::IGraphVisitor.

Definition at line 221 of file PRGraphVisitors.h.

221 {
222 m_nodesSucceeded = 0;
223 m_currentDepth = 0;
224 m_maxKnownDepth = 0;
225 }
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: PRGraphVisitors.h:231
concurrency::IGraphVisitor::m_nodesSucceeded
int m_nodesSucceeded
Definition: IGraphVisitor.h:23
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: PRGraphVisitors.h:232

bool concurrency::RankerByDataRealmEccentricity::visit | ( | DecisionNode & |  | ) |
| inline override virtual

Implements concurrency::IGraphVisitor.

Definition at line 211 of file PRGraphVisitors.h.

211 {return true;}

bool concurrency::RankerByDataRealmEccentricity::visit | ( | AlgorithmNode & | node | ) |
| override virtual

Implements concurrency::IGraphVisitor.

Definition at line 368 of file PRGraphVisitors.cpp.

368 {
369
370 // Find eccentricity of the node (only within the data realm of the execution flow graph)
371 recursiveVisit(node);
372
373 float rank = m_maxKnownDepth;
374 node.setRank(rank);
375
376 // Reset visitor for next nodes, if any
377 reset();
378
379 return true;
380 }
concurrency::RankerByDataRealmEccentricity::reset
void reset() override
Definition: PRGraphVisitors.h:221
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &node)
Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence ...
Definition: PRGraphVisitors.cpp:383
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: PRGraphVisitors.h:232

bool concurrency::RankerByDataRealmEccentricity::visitEnter | ( | DecisionNode & |  | ) | const
| inline override virtual

Implements concurrency::IGraphVisitor.

Definition at line 209 of file PRGraphVisitors.h.

209 {return true;}

bool concurrency::RankerByDataRealmEccentricity::visitEnter | ( | AlgorithmNode & |  | ) | const
| inline override virtual

Implements concurrency::IGraphVisitor.

Definition at line 216 of file PRGraphVisitors.h.

216 {return true;}

bool concurrency::RankerByDataRealmEccentricity::visitLeave | ( | DecisionNode & |  | ) | const
| inline override virtual

Implements concurrency::IGraphVisitor.

Definition at line 213 of file PRGraphVisitors.h.

213 {return true;}

## Member Data Documentation

uint concurrency::RankerByDataRealmEccentricity::m_currentDepth

Definition at line 231 of file PRGraphVisitors.h.

uint concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth

Definition at line 232 of file PRGraphVisitors.h.

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

- GaudiHive/src/PRGraphVisitors.h
- GaudiHive/src/PRGraphVisitors.cpp