RootGraphix.hh
Go to the documentation of this file.00001
00007 #ifndef ROOTGRAPHIX_h
00008 #define ROOTGRAPHIX_h
00009
00010 #include "BaseModule.hh"
00011 #include "TMutex.h"
00012 #include "TVirtualMutex.h"
00013 #include "TThread.h"
00014 #include <memory>
00015 #include <string>
00016 #include <vector>
00017 #include <boost/shared_ptr.hpp>
00018 class TCanvas;
00019 class TGMainFrame;
00020
00025 class RootGraphix : public BaseModule{
00026 public:
00027 RootGraphix();
00028 ~RootGraphix();
00029 int Process(EventPtr);
00030 int Initialize();
00031 int Finalize();
00032
00033 static const std::string GetDefaultName(){ return "RootGraphix"; }
00034
00038 typedef std::auto_ptr<TLockGuard> Lock;
00040 Lock AcquireLock();
00041
00043 TCanvas* GetCanvas(const char* title=0, bool preventclose=true,
00044 bool hidemenu=false);
00045
00046 private:
00047 void LoadStyle();
00048
00049 TMutex _mutex;
00050 TThread _thread;
00051 std::vector<TCanvas*> _canvases;
00052 TGMainFrame* _mainframe;
00053 bool _single_window;
00054 int _window_w;
00055 int _window_h;
00056 };
00057
00058 #endif