00001 #ifndef GAUDI_KERNEL_THREADLIBGAUDI_H 00002 #define GAUDI_KERNEL_THREADLIBGAUDI_H 00003 00004 #include "GaudiKernel/System.h" /* ThreadHandle" */ 00005 #include <string> 00006 #include <map> 00007 00008 00009 00015 class ThreadGaudi { 00016 public: 00017 typedef std::map< System::ThreadHandle , std::string > ThreadMap; 00019 static ThreadGaudi* instance() ; 00021 void setThreadID(const std::string& threadID) ; 00023 ThreadMap* getThreadMap() ; 00025 const std::string& getThreadID() ; 00026 00027 protected: 00028 ThreadGaudi() ; 00029 virtual ~ThreadGaudi() ; 00030 ThreadMap* m_threadMap ; 00031 }; 00032 00034 std::string getGaudiThreadIDfromID(int iCopy) ; 00036 std::string getGaudiThreadIDfromName(const std::string& name) ; 00038 std::string getGaudiThreadGenericName(const std::string& name) ; 00040 bool isGaudiThreaded(const std::string& name); 00041 00042 #endif // GAUDI_KERNEL_THREADLIBGAUDI_H