BBQ
TBBQManager.h
Go to the documentation of this file.
1 #ifndef __TBBQMANAGER_H__
2 #define __TBBQMANAGER_H__
3 
4 // C++
5 
6 #include <string>
7 #include <map>
8 
9 // ROOT
10 
11 class TObject;
12 class TSystem;
13 
14 class TGObject;
15 class TGListBox;
16 
17 class TEveListTreeItem;
18 #include <TEveManager.h>
19 
20 // GEAR
21 
22 namespace gear {
23  class GearMgr;
24 }
25 
26 // LCIO
27 
28 namespace EVENT {
29  class LCEvent;
30 }
31 
32 namespace IO {
33  class LCReader;
34 }
35 
36 // VisTPC
37 
38 class VisTPC;
39 class TBBQEventManager;
40 
52 class TBBQManager : public TEveManager {
53 public:
54 
55  gear::GearMgr* fGearMgr;
56 
57  std::string fCurrentGEARFile;
58 
60 
61  TGListBox* fHitsCollections;
62  TGListBox* fPulsesCollections;
63  TGListBox* fTracksCollections;
64 
65  std::map<std::string, TGObject*> fGUI;
66 
67 public:
68 
69  TBBQManager(UInt_t w, UInt_t h, Bool_t map_window = kTRUE, Option_t* opt = "FI");
70  ~TBBQManager();
71 
72  static TBBQManager* Create(Bool_t map_window = kTRUE, Option_t* opt = "FIV");
73  static void Terminate();
74 
75  virtual TBBQEventManager* GetCurrentEvent() {return (TBBQEventManager*) gEve->GetCurrentEvent();}
76 
77  //---------------------------------------------------------------------------
79 
81 
82  TGListBox* getHitsCollections() {return fHitsCollections;}
85  VisTPC* getVisTPC() {return fVisTPC;}
86  gear::GearMgr* getGearMgr() {return fGearMgr;}
87 
89 
90  //---------------------------------------------------------------------------
94  void clearEventCollections();
95  void displayEventCollections(const EVENT::LCEvent* event);
96 
97  void clearEventScene();
98  void clearGlobalScene();
99 
100  //
101 
102  std::string dialogOpenFile(const char** fileTypes);
103  void dialogOpenGEARFile();
104  void dialogOpenLCIOFile();
105 
106  void importGEARFile(const std::string& filePath);
107  void importLCIOFile(const std::string& filePath);
108 
109  void updateGUIState();
110 
112 
113  //---------------------------------------------------------------------------
118 
119  void handleCheckbutton(const char *);
120  void handleDriftVelocityEntry(const char *text);
121  void handleMaxDriftLengthEntry(const char *text);
122  void handleReadoutFrequencyEntry(const char *text);
123 
124  void slotMenu(Int_t menuId);
125  void slotTreeItemChecked(TEveListTreeItem* item, Bool_t check);
126 
128 
129 protected:
130 
131 private:
132  ClassDef(TBBQManager, 1);
133 };
134 
135 R__EXTERN TBBQManager* gBBQ;
136 
137 #endif
void importGEARFile(const std::string &filePath)
void handleDriftVelocityEntry(const char *text)
std::string fCurrentGEARFile
Definition: TBBQManager.h:57
void updateGUIState()
TGListBox * getPulsesCollections()
Definition: TBBQManager.h:83
static void Terminate()
Main visualization class. It is used to draw GEAR detector geometries and LCIO data. It is a self-contained class that depends only on ROOT, TEve, GEAR and LCIO. This means you can use this class outside and independent of BBQ.
Definition: vistpc.h:65
A derived class of TEveEventManager that governs the navigation through events.
VisTPC * getVisTPC()
Definition: TBBQManager.h:85
void displayEventCollections(const EVENT::LCEvent *event)
void importLCIOFile(const std::string &filePath)
std::string dialogOpenFile(const char **fileTypes)
virtual TBBQEventManager * GetCurrentEvent()
Definition: TBBQManager.h:75
TBBQManager(UInt_t w, UInt_t h, Bool_t map_window=kTRUE, Option_t *opt="FI")
Definition: TBBQManager.cxx:70
R__EXTERN TBBQManager * gBBQ
Definition: TBBQManager.h:135
void clearGlobalScene()
std::map< std::string, TGObject * > fGUI
Definition: TBBQManager.h:65
void dialogOpenGEARFile()
void slotMenu(Int_t menuId)
static TBBQManager * Create(Bool_t map_window=kTRUE, Option_t *opt="FIV")
TGListBox * fHitsCollections
Definition: TBBQManager.h:61
void dialogOpenLCIOFile()
void slotTreeItemChecked(TEveListTreeItem *item, Bool_t check)
TGListBox * fPulsesCollections
Definition: TBBQManager.h:62
TGListBox * fTracksCollections
Definition: TBBQManager.h:63
gear::GearMgr * getGearMgr()
Definition: TBBQManager.h:86
TGListBox * getTracksCollections()
Definition: TBBQManager.h:84
gear::GearMgr * fGearMgr
Definition: TBBQManager.h:55
TGListBox * getHitsCollections()
Definition: TBBQManager.h:82
VisTPC * fVisTPC
Definition: TBBQManager.h:59
void handleMaxDriftLengthEntry(const char *text)
void handleCheckbutton(const char *)
void handleReadoutFrequencyEntry(const char *text)
void clearEventScene()
A derived class of TEveManager tailored to the needs of BBQ.
Definition: TBBQManager.h:52
void clearEventCollections()
ClassDef(TBBQManager, 1)