| The Gaudi Framework v29r1 (5cd95fa2)

- 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
bool | visit (AlgorithmNode &) override
void | reset () override
void | recursiveVisit (AlgorithmNode &)
| 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 ()=default
virtual bool | visitEnter (DecisionNode &) const
virtual bool | visit (DecisionNode &)
virtual bool | visitEnter (AlgorithmNode &) const
virtual bool | visitEnter (DataNode &) const
virtual bool | visit (DataNode &)
virtual bool | visitEnter (ConditionNode &) const
virtual bool | visit (ConditionNode &)

## Public Attributes
uint | m_currentDepth {0}
uint | m_maxKnownDepth {0}

## Detailed Description

Definition at line 114 of file PRGraphVisitors.h.

## 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.

384 {
385
386 m_currentDepth += 1;
387
388 auto& products = node.getOutputDataNodes();
389
390 if ( products.empty() )
391 if ( ( m_currentDepth - 1 ) > m_maxKnownDepth ) m_maxKnownDepth = m_currentDepth - 1;
392
393 for ( auto p : products )
394 for ( auto algoNode : p->getConsumers() ) recursiveVisit( *algoNode );
395
396 m_currentDepth -= 1;
397 }
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: PRGraphVisitors.h:131
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &)
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:132

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

Reimplemented from concurrency::IGraphVisitor.

Definition at line 121 of file PRGraphVisitors.h.

122 {
123 m_currentDepth = 0;
124 m_maxKnownDepth = 0;
125 }
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition: PRGraphVisitors.h:131
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition: PRGraphVisitors.h:132

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

Reimplemented from concurrency::IGraphVisitor.

Definition at line 367 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:121
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &)
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:132

## Member Data Documentation

uint concurrency::RankerByDataRealmEccentricity::m_currentDepth {0}

Definition at line 131 of file PRGraphVisitors.h.

uint concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth {0}

Definition at line 132 of file PRGraphVisitors.h.

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

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