19#include <tbb/concurrent_hash_map.h>
33 typedef tbb::concurrent_hash_map<std::string, unsigned int>
CHM;
72 "Decide if the local random generator is to be used" };
75 this,
"SleepFraction", 0.0,
76 "Fraction of time, between 0 and 1, when an algorithm is actually sleeping instead of crunching" };
Gaudi::Property< bool > m_invertCFD
std::vector< DataObjectHandle< DataObject > * > m_outputHandles
CPUCruncher & operator=(const CPUCruncher &)
the assignement operator is disabled
CPUCruncher()
the default constructor is disabled
StatusCode execute() override
the execution of the algorithm
virtual ~CPUCruncher()
virtual & protected desctrustor
void declareRuntimeRequestedOutputs()
The CPU intensive function.
Gaudi::Property< std::vector< std::string > > m_outKeys
StatusCode finalize() override
the finalization of the algorithm
std::vector< DataObjectHandle< DataObject > * > m_inputHandles
double get_runtime() const
tbb::concurrent_hash_map< std::string, unsigned int > CHM
static CHM m_name_ncopies_map
SmartIF< ICPUCrunchSvc > m_crunchSvc
Gaudi::Property< bool > m_local_rndm_gen
Gaudi::Property< double > m_var_runtime
Gaudi::Property< std::vector< std::string > > m_inpKeys
StatusCode initialize() override
Its initialization.
Gaudi::Property< int > m_nParallel
bool isClonable() const override
Gaudi::Property< double > m_avg_runtime
Gaudi::Property< bool > m_loader
Gaudi::Property< double > m_sleepFraction
CPUCruncher(const CPUCruncher &)
the copy constructor is disabled
Gaudi::Property< unsigned int > m_rwRepetitions
CPUCruncher(const std::string &name, ISvcLocator *pSvc)
Gaudi::Property< unsigned int > m_failNEvents
Algorithm(std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION)
Constructor.
const std::string & name() const override
The identifying name of the algorithm object.
Implementation of property with value of concrete type.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Small smart pointer class with automatic reference counting for IInterface.
This class is used for returning status codes from appropriate routines.