00001 #ifndef _QIGUI_DETECTORMAP__H_
00002 #define _QIGUI_DETECTORMAP__H_
00003
00004 #include <QObject>
00005 #include <QString>
00006 #include <vector>
00007 #include <map>
00008
00009 class TGeoVolume;
00010 class TGeoManager;
00011
00012 class QIGUIDetectorMap: public QObject
00013 {
00014
00015 public:
00016 QIGUIDetectorMap (QObject * parent = 0);
00017 virtual ~QIGUIDetectorMap();
00018
00019
00020 void Init();
00021 virtual void Display();
00022 virtual void LoadDetectorMap(std::string mapName);
00023 void TriggerChannels (std::vector<int> &triggered);
00024 void TriggerChannels (std::vector<std::pair<int, int> > &triggered);
00025 void SetTransparency(int transparency);
00026 int GetTransparency();
00027 void SetVisTower(int tower, bool vis=true);
00028 void SetVisFloor(int floor, bool vis=true);
00029
00030 protected:
00031 TGeoManager * fGeoManager;
00032 TGeoVolume *fDetectorVolume;
00033
00034 int fNChannels;
00035 std::vector <int> fChannels;
00036 std::map<int, std::vector<int> > fTowers;
00037 std::map<int, std::vector<int> > fFloors;
00038 };
00039
00040 #endif