The Gaudi Framework
master (53dee381)
Toggle main menu visibility
Loading...
Searching...
No Matches
Promoters.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 "
../../EventSlot.h
"
14
#include "
../PrecedenceRulesGraph.h
"
15
#include "
IGraphVisitor.h
"
16
17
namespace
concurrency
{
18
19
//--------------------------------------------------------------------------
20
class
DataReadyPromoter
:
public
IGraphVisitor
{
21
public
:
23
DataReadyPromoter
(
EventSlot
& slot,
const
Cause
& cause,
bool
ifTrace =
false
)
24
:
m_slot
( &slot ),
m_cause
( cause ),
m_trace
( ifTrace ) {}
25
26
using
IGraphVisitor::visit
;
27
using
IGraphVisitor::visitEnter
;
28
29
bool
visitEnter
(
AlgorithmNode
& )
const override
;
30
31
bool
visit
(
AlgorithmNode
& )
override
;
32
33
bool
visitEnter
(
DataNode
& )
const override
;
34
35
bool
visit
(
DataNode
& )
override
;
36
37
bool
visitEnter
(
ConditionNode
& )
const override
;
38
39
bool
visit
(
ConditionNode
& )
override
;
40
41
EventSlot
*
m_slot
;
42
Cause
m_cause
;
43
bool
m_trace
;
44
};
45
46
//--------------------------------------------------------------------------
47
class
DecisionUpdater
:
public
IGraphVisitor
{
48
public
:
50
DecisionUpdater
(
EventSlot
& slot,
const
Cause
& cause,
bool
ifTrace =
false
)
51
:
m_slot
( &slot ),
m_cause
( cause ),
m_trace
( ifTrace ) {}
52
53
using
IGraphVisitor::visit
;
54
55
bool
visit
(
AlgorithmNode
& )
override
;
56
57
EventSlot
*
m_slot
;
58
Cause
m_cause
;
59
bool
m_trace
;
60
};
61
62
//--------------------------------------------------------------------------
63
class
Supervisor
:
public
IGraphVisitor
{
64
public
:
66
Supervisor
(
EventSlot
& slot,
const
Cause
& cause,
bool
ifTrace =
false
)
67
:
m_slot
( &slot ),
m_cause
( cause ),
m_trace
( ifTrace ) {}
68
69
using
IGraphVisitor::visit
;
70
using
IGraphVisitor::visitEnter
;
71
72
bool
visitEnter
(
DecisionNode
& )
const override
;
73
74
bool
visit
(
DecisionNode
& )
override
;
75
76
bool
visitEnter
(
AlgorithmNode
& )
const override
;
77
78
bool
visit
(
AlgorithmNode
& )
override
;
79
80
EventSlot
*
m_slot
;
81
Cause
m_cause
;
82
bool
m_trace
;
83
};
84
85
//--------------------------------------------------------------------------
86
class
RunSimulator
:
public
IGraphVisitor
{
87
public
:
89
RunSimulator
(
EventSlot
& slot,
const
Cause
& cause ) :
m_slot
( &slot ),
m_cause
( cause ) {}
90
91
using
IGraphVisitor::visit
;
92
using
IGraphVisitor::visitEnter
;
93
94
bool
visitEnter
(
DecisionNode
& )
const override
;
95
96
bool
visit
(
DecisionNode
& )
override
;
97
98
bool
visitEnter
(
AlgorithmNode
& )
const override
;
99
100
bool
visit
(
AlgorithmNode
& )
override
;
101
102
void
reset
()
override
{
m_nodesSucceeded
= 0; }
103
104
EventSlot
*
m_slot
;
105
Cause
m_cause
;
106
int
m_nodesSucceeded
{ 0 };
107
};
108
}
// namespace concurrency
EventSlot.h
IGraphVisitor.h
PrecedenceRulesGraph.h
concurrency::AlgorithmNode
Definition
PrecedenceRulesGraph.h:491
concurrency::ConditionNode
Definition
PrecedenceRulesGraph.h:598
concurrency::DataNode
Definition
PrecedenceRulesGraph.h:560
concurrency::DataReadyPromoter::DataReadyPromoter
DataReadyPromoter(EventSlot &slot, const Cause &cause, bool ifTrace=false)
Constructor.
Definition
Promoters.h:23
concurrency::DataReadyPromoter::m_cause
Cause m_cause
Definition
Promoters.h:42
concurrency::DataReadyPromoter::visitEnter
bool visitEnter(AlgorithmNode &) const override
Definition
Promoters.cpp:24
concurrency::DataReadyPromoter::m_slot
EventSlot * m_slot
Definition
Promoters.h:41
concurrency::DataReadyPromoter::visit
bool visit(AlgorithmNode &) override
Definition
Promoters.cpp:32
concurrency::DataReadyPromoter::m_trace
bool m_trace
Definition
Promoters.h:43
concurrency::DecisionNode
Definition
PrecedenceRulesGraph.h:446
concurrency::DecisionUpdater::m_slot
EventSlot * m_slot
Definition
Promoters.h:57
concurrency::DecisionUpdater::visit
bool visit(AlgorithmNode &) override
Definition
Promoters.cpp:104
concurrency::DecisionUpdater::m_trace
bool m_trace
Definition
Promoters.h:59
concurrency::DecisionUpdater::m_cause
Cause m_cause
Definition
Promoters.h:58
concurrency::DecisionUpdater::DecisionUpdater
DecisionUpdater(EventSlot &slot, const Cause &cause, bool ifTrace=false)
Constructor.
Definition
Promoters.h:50
concurrency::IGraphVisitor
Definition
IGraphVisitor.h:20
concurrency::IGraphVisitor::visit
virtual bool visit(DecisionNode &)
Definition
IGraphVisitor.h:25
concurrency::IGraphVisitor::visitEnter
virtual bool visitEnter(DecisionNode &) const
Definition
IGraphVisitor.h:24
concurrency::RunSimulator::visit
bool visit(DecisionNode &) override
Definition
Promoters.cpp:361
concurrency::RunSimulator::visitEnter
bool visitEnter(DecisionNode &) const override
Definition
Promoters.cpp:354
concurrency::RunSimulator::RunSimulator
RunSimulator(EventSlot &slot, const Cause &cause)
Constructor.
Definition
Promoters.h:89
concurrency::RunSimulator::m_nodesSucceeded
int m_nodesSucceeded
Definition
Promoters.h:106
concurrency::RunSimulator::reset
void reset() override
Definition
Promoters.h:102
concurrency::RunSimulator::m_slot
EventSlot * m_slot
Definition
Promoters.h:104
concurrency::RunSimulator::m_cause
Cause m_cause
Definition
Promoters.h:105
concurrency::Supervisor::m_slot
EventSlot * m_slot
Definition
Promoters.h:80
concurrency::Supervisor::visitEnter
bool visitEnter(DecisionNode &) const override
Definition
Promoters.cpp:152
concurrency::Supervisor::m_trace
bool m_trace
Definition
Promoters.h:82
concurrency::Supervisor::Supervisor
Supervisor(EventSlot &slot, const Cause &cause, bool ifTrace=false)
Constructor.
Definition
Promoters.h:66
concurrency::Supervisor::visit
bool visit(DecisionNode &) override
Definition
Promoters.cpp:159
concurrency::Supervisor::m_cause
Cause m_cause
Definition
Promoters.h:81
concurrency
Definition
PrecedenceRulesGraph.cpp:38
Cause
Definition
PrecedenceRulesGraph.h:403
EventSlot
Class representing an event slot.
Definition
EventSlot.h:23
GaudiHive
src
PRGraph
Visitors
Promoters.h
Generated on
for The Gaudi Framework by
1.17.0