The Gaudi Framework
master (d98a2936)
Rankers.h
Go to the documentation of this file.
1
/***********************************************************************************\
2
* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3
* *
4
* This software is distributed under the terms of the Apache version 2 licence, *
5
* copied verbatim in the file "LICENSE". *
6
* *
7
* In applying this licence, CERN does not waive the privileges and immunities *
8
* granted to it by virtue of its status as an Intergovernmental Organization *
9
* or submit itself to any jurisdiction. *
10
\***********************************************************************************/
11
#pragma once
12
13
#include "../PrecedenceRulesGraph.h"
14
#include "
IGraphVisitor.h
"
15
16
namespace
concurrency
{
17
18
//--------------------------------------------------------------------------
19
class
RankerByProductConsumption
:
public
IGraphVisitor
{
20
public
:
21
using
IGraphVisitor::visit
;
22
23
bool
visit
(
AlgorithmNode
& )
override
;
24
};
25
26
//--------------------------------------------------------------------------
27
class
RankerByCummulativeOutDegree
:
public
IGraphVisitor
{
28
public
:
29
using
IGraphVisitor::visit
;
30
31
bool
visit
(
AlgorithmNode
& )
override
;
32
void
reset
()
override
{
m_nodesSucceeded
= 0; }
33
34
void
runThroughAdjacents
( boost::graph_traits<precedence::PrecTrace>::vertex_descriptor,
precedence::PrecTrace
);
35
36
int
m_nodesSucceeded
{ 0 };
37
};
38
39
//--------------------------------------------------------------------------
40
class
RankerByTiming
:
public
IGraphVisitor
{
41
public
:
42
using
IGraphVisitor::visit
;
43
44
bool
visit
(
AlgorithmNode
& )
override
;
45
};
46
47
//--------------------------------------------------------------------------
48
class
RankerByEccentricity
:
public
IGraphVisitor
{
49
public
:
50
using
IGraphVisitor::visit
;
51
52
bool
visit
(
AlgorithmNode
& )
override
;
53
};
54
55
//--------------------------------------------------------------------------
56
class
RankerByDataRealmEccentricity
:
public
IGraphVisitor
{
57
public
:
58
using
IGraphVisitor::visit
;
59
60
bool
visit
(
AlgorithmNode
& )
override
;
61
62
void
reset
()
override
{
63
m_currentDepth
= 0;
64
m_maxKnownDepth
= 0;
65
}
66
69
void
recursiveVisit
(
AlgorithmNode
& );
70
71
uint
m_currentDepth
{ 0 };
72
uint
m_maxKnownDepth
{ 0 };
73
};
74
75
}
// namespace concurrency
concurrency::RankerByDataRealmEccentricity::reset
void reset() override
Definition:
Rankers.h:62
concurrency::RankerByProductConsumption
Definition:
Rankers.h:19
concurrency::RankerByDataRealmEccentricity::recursiveVisit
void recursiveVisit(AlgorithmNode &)
Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence ...
Definition:
Rankers.cpp:168
concurrency::IGraphVisitor
Definition:
IGraphVisitor.h:20
concurrency::AlgorithmNode
Definition:
PrecedenceRulesGraph.h:485
concurrency::RankerByDataRealmEccentricity::m_currentDepth
uint m_currentDepth
Definition:
Rankers.h:71
concurrency::RankerByDataRealmEccentricity::visit
bool visit(AlgorithmNode &) override
Definition:
Rankers.cpp:153
IGraphVisitor.h
concurrency::RankerByEccentricity
Definition:
Rankers.h:48
concurrency::RankerByCummulativeOutDegree::visit
bool visit(AlgorithmNode &) override
Definition:
Rankers.cpp:38
concurrency::IGraphVisitor::visit
virtual bool visit(DecisionNode &)
Definition:
IGraphVisitor.h:25
concurrency::RankerByCummulativeOutDegree::reset
void reset() override
Definition:
Rankers.h:32
precedence::PrecTrace
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, AlgoTraceProps > PrecTrace
Definition:
PrecedenceRulesGraph.h:62
concurrency
Definition:
PrecedenceRulesGraph.cpp:38
concurrency::RankerByEccentricity::visit
bool visit(AlgorithmNode &) override
Definition:
Rankers.cpp:121
concurrency::RankerByCummulativeOutDegree::runThroughAdjacents
void runThroughAdjacents(boost::graph_traits< precedence::PrecTrace >::vertex_descriptor, precedence::PrecTrace)
Definition:
Rankers.cpp:75
concurrency::RankerByTiming::visit
bool visit(AlgorithmNode &) override
Definition:
Rankers.cpp:87
concurrency::RankerByCummulativeOutDegree
Definition:
Rankers.h:27
concurrency::RankerByProductConsumption::visit
bool visit(AlgorithmNode &) override
Definition:
Rankers.cpp:19
concurrency::RankerByCummulativeOutDegree::m_nodesSucceeded
int m_nodesSucceeded
Definition:
Rankers.h:36
concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth
uint m_maxKnownDepth
Definition:
Rankers.h:72
concurrency::RankerByTiming
Definition:
Rankers.h:40
concurrency::RankerByDataRealmEccentricity
Definition:
Rankers.h:56
GaudiHive
src
PRGraph
Visitors
Rankers.h
Generated on Wed Aug 13 2025 09:05:03 for The Gaudi Framework by
1.8.18