Go to the documentation of this file.
11 #ifndef GAUDIHIVE_PRECEDENCESVC_H_
12 #define GAUDIHIVE_PRECEDENCESVC_H_
21 #include <boost/filesystem.hpp>
93 "Dump task precedence traces for each event." };
95 this,
"PrecedenceTraceFile",
"",
96 "Override default name of the GRAPHML trace file. NOTE: if more than "
97 "1 event is processed, the setting forces creation of a single file "
98 "with cumulative precedence trace." };
101 "Override default name of the GRAPHML precedence rules file." };
103 "Verify task precedence rules for common errors." };
105 "Show the configuration of DataFlow between Algorithms" };
A service to resolve the task execution precedence.
Gaudi::Property< bool > m_dumpPrecRules
void dumpPrecedenceTrace(const EventSlot &) override
Dump precedence trace (available only in DEBUG mode, and must be enabled with the corresponding servi...
void dumpPrecedenceRules(const EventSlot &) override
Dump precedence rules (available only in DEBUG mode, and must be enabled with the corresponding servi...
concurrency::PrecedenceRulesGraph m_PRGraph
Graph of precedence rules.
Gaudi::Property< std::string > m_dumpPrecTraceFile
PrecedenceSvc(const std::string &name, ISvcLocator *svcLoc)
Constructor.
StatusCode assembleCFRules(Gaudi::Algorithm *, const std::string &, unsigned int recursionDepth=0)
Class representing an event slot.
const concurrency::PrecedenceRulesGraph * getRules() const
Precedence rules accessor.
const std::string printState(EventSlot &) const override
StatusCode initialize() override
Initialize.
Gaudi::Property< bool > m_verifyRules
SmartIF< IAlgResourcePool > m_algResourcePool
A shortcut to the algorithm resource pool.
StatusCode simulate(EventSlot &) const override
Simulate execution flow.
void dumpDataFlow() const override
const std::string & name() const override
Retrieve name of the service
boost::filesystem::path m_dumpDirName
Precedence analysis facilities.
Base class from which all concrete algorithm classes should be derived.
bool CFRulesResolved(EventSlot &) const override
Check if the root CF decision is resolved.
Gaudi::Property< bool > m_dumpPrecTrace
bool isAsynchronous(const std::string &name) const override
Check if a task is asynchronous.
Base class used to extend a class implementing other interfaces.
float getRank() const
Get Algorithm rank.
StatusCode iterate(EventSlot &, const Cause &) override
Infer the precedence effect caused by an execution flow event.
AlgorithmNode * getAlgorithmNode(const std::string &algoName) const
Get the AlgorithmNode from by algorithm name using graph index.
Gaudi::Property< bool > m_ignoreDFRules
Scheduling strategy.
Gaudi::Property< std::string > m_dumpPrecRulesFile
void dumpControlFlow() const override
Dump precedence rules.
uint getPriority(const std::string &name) const override
Get priority of an algorithm.
Gaudi::Property< bool > m_showDataFlow
Gaudi::Property< std::string > m_mode
Scheduling strategy.
bool isAsynchronous() const
Check if algorithm is asynchronous.
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator
StatusCode finalize() override
Finalize.