1 #ifndef LIB_GAUDIPARALLELIZER_H 2 #define LIB_GAUDIPARALLELIZER_H 1 8 #include <boost/bind.hpp> 9 #include <tbb/task_group.h> 10 #include <tbb/task_scheduler_init.h> 90 #endif // LIB_GAUDIPARALLELIZER_H StatusCode initialize() override
Algorithm initialization.
Gaudi::Property< bool > m_measureTime
StatusCode execute() override
Algorithm execution.
bool m_reverse
Indicates that the flag has to be inverted.
AlgorithmEntry(Algorithm *alg)
Standard constructor.
Gaudi::Property< bool > m_modeOR
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
GaudiParallelizer(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
Algorithm * algorithm() const
const std::string & name() const override
The identifying name of the algorithm object.
Implementation of property with value of concrete type.
Header file for class GaudiAlgorithm.
StatusCode decodeNames()
Decode a vector of string.
StatusCode finalize() override
Algorithm finalization.
This class is used for returning status codes from appropriate routines.
The useful base class for data processing algorithms.
GAUDI_API const EventContext & currentContext()
Gaudi::Property< bool > m_returnOK
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
~GaudiParallelizer() noexcept(true) override
Destructor. An explicit noexcept(true) is necessary for Gaudi to build (see GAUDI-1187) ...
Gaudi::Property< unsigned short > m_nthreads
tbb::task_group m_task_group
TBB task group.
Base class from which all concrete algorithm classes should be derived.
Algorithm * m_algorithm
Algorithm pointer.
virtual ~AlgorithmEntry()
void setReverse(bool flag)
Destructor.
std::vector< AlgorithmEntry > m_entries
List of algorithms to process.
void setExecuted(bool state) const override
Set the executed flag to the specified state.
StatusCode m_returncode
StatusCode of an algorithm execution received from a thread.
void membershipHandler(Gaudi::Details::PropertyBase &theProp)
for asynchronous changes in the list of algorithms
Gaudi::Property< std::vector< std::string > > m_names
int m_timer
Timer number for this algorithm.
ISequencerTimerTool * m_timerTool
Pointer to the timer tool.
int m_timer
Timer number for the sequencer.
void run(GaudiParallelizer &prlzr)
Thread task executor method to wrap an algorithm execution in.
StatusCode sysExecute(const EventContext &ctx) override
The actions to be performed by the algorithm on an event.