#ifndef _TaskManager_H #define _TaskManager_H #include "Performance.h" #include "L1Algo.h" class L1AlgoInputSettings; class L1AlgoInputData; class L1AlgoInputMCData; class TaskManager{ public: TaskManager(int n=1):fTracker(n) {}; void Init( const L1AlgoInputSettings* settings,int verbose = 0 ); void SetData( const L1AlgoInputData* data, const L1AlgoInputMCData* mcData = 0 ); void SetData( const L1AlgoInputData* data, const L1AlgoInputMCData* mcData, vector &McDataHit, vector &McDataHit2); void SetNThreads(int n=1) {fTracker.SetNThreads(n);} void Run(); static TaskManager *Instance(){ return fInstance; } static TaskManager *fInstance; const L1Algo& GetAlgo() const { return fTracker; } void PrintEff(); private: const L1AlgoInputSettings* fSettings; const L1AlgoInputData* fData; const L1AlgoInputMCData* fMCData; int fVerbose; vector fMcDataHit; vector fMcDataHit2; L1Algo fTracker; Performance fPerf; }; #endif