The Gaudi Framework
master (bdbe7744)
Toggle main menu visibility
Loading...
Searching...
No Matches
IPrecedenceSvc.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 <
GaudiKernel/IInterface.h
>
14
15
#include <string>
16
17
struct
EventSlot
;
18
struct
Cause
;
19
20
//-----------------------------------------------------------------------------
21
29
30
//-----------------------------------------------------------------------------
31
32
class
GAUDI_API
IPrecedenceSvc
:
virtual
public
IInterface
{
33
34
public
:
36
DeclareInterfaceID
(
IPrecedenceSvc
, 1, 0 );
37
39
virtual
StatusCode
iterate
(
EventSlot
&,
const
Cause
& ) = 0;
40
42
virtual
StatusCode
simulate
(
EventSlot
& )
const
= 0;
43
45
virtual
bool
CFRulesResolved
(
EventSlot
& )
const
= 0;
46
48
virtual
uint
getPriority
(
const
std::string& )
const
= 0;
49
51
virtual
bool
isAsynchronous
(
const
std::string& )
const
= 0;
52
54
virtual
void
dumpControlFlow
()
const
= 0;
55
virtual
void
dumpDataFlow
()
const
= 0;
56
virtual
const
std::string
printState
(
EventSlot
& )
const
= 0;
57
59
virtual
void
dumpPrecedenceRules
(
const
EventSlot
& ) = 0;
61
virtual
void
dumpPrecedenceTrace
(
const
EventSlot
& ) = 0;
62
};
IInterface.h
GAUDI_API
#define GAUDI_API
Definition
Kernel.h:49
IInterface
Definition of the basic interface.
Definition
IInterface.h:225
IPrecedenceSvc
Abstract interface for a service that manages tasks' precedence.
Definition
IPrecedenceSvc.h:32
IPrecedenceSvc::printState
virtual const std::string printState(EventSlot &) const =0
IPrecedenceSvc::dumpDataFlow
virtual void dumpDataFlow() const =0
IPrecedenceSvc::simulate
virtual StatusCode simulate(EventSlot &) const =0
Simulate execution flow.
IPrecedenceSvc::dumpControlFlow
virtual void dumpControlFlow() const =0
Dump precedence rules.
IPrecedenceSvc::DeclareInterfaceID
DeclareInterfaceID(IPrecedenceSvc, 1, 0)
InterfaceID.
IPrecedenceSvc::iterate
virtual StatusCode iterate(EventSlot &, const Cause &)=0
Infer the precedence effect caused by an execution flow event.
IPrecedenceSvc::getPriority
virtual uint getPriority(const std::string &) const =0
Get task priority.
IPrecedenceSvc::CFRulesResolved
virtual bool CFRulesResolved(EventSlot &) const =0
Check if control flow rules are resolved.
IPrecedenceSvc::dumpPrecedenceTrace
virtual void dumpPrecedenceTrace(const EventSlot &)=0
Dump precedence trace.
IPrecedenceSvc::isAsynchronous
virtual bool isAsynchronous(const std::string &) const =0
Check if a task is asynchronous.
IPrecedenceSvc::dumpPrecedenceRules
virtual void dumpPrecedenceRules(const EventSlot &)=0
Dump precedence rules.
StatusCode
This class is used for returning status codes from appropriate routines.
Definition
StatusCode.h:64
Cause
Definition
PrecedenceRulesGraph.h:403
EventSlot
Class representing an event slot.
Definition
EventSlot.h:23
GaudiHive
src
IPrecedenceSvc.h
Generated on
for The Gaudi Framework by
1.17.0