1 #ifndef LIB_GAUDIPARALLELIZER_H 2 #define LIB_GAUDIPARALLELIZER_H 1 7 #include <boost/bind.hpp> 8 #include <tbb/task_group.h> 9 #include <tbb/task_scheduler_init.h> 89 #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.
void setExecuted(bool state) override
Set the executed flag to the specified state.
This class is used for returning status codes from appropriate routines.
StatusCode sysExecute() override
The actions to be performed by the algorithm on an event.
The useful base class for data processing algorithms.
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.
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.