]>
Commit | Line | Data |
---|---|---|
1e9caa37 | 1 | // $Id$ |
2 | // Author: Matevz Tadel 2009 | |
3 | ||
4 | /************************************************************************** | |
5 | * Copyright(c) 1998-2009, ALICE Experiment at CERN, all rights reserved. * | |
6 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
7 | * full copyright notice. * | |
8 | **************************************************************************/ | |
9 | ||
10 | #ifndef AliEveMultiView_H | |
11 | #define AliEveMultiView_H | |
12 | ||
13 | #include <TEveManager.h> | |
14 | ||
15 | #include <TEveViewer.h> | |
16 | #include <TGLViewer.h> | |
17 | ||
18 | #include <TEveScene.h> | |
19 | #include <TEveGeoShape.h> | |
20 | ||
21 | #include <TEveProjectionManager.h> | |
22 | #include <TEveProjectionAxes.h> | |
23 | ||
24 | #include <TEveBrowser.h> | |
25 | #include <TEveWindow.h> | |
26 | ||
27 | //______________________________________________________________________________ | |
28 | // Short description of AliEveMultiView | |
29 | // | |
30 | ||
31 | class AliEveMultiView | |
32 | { | |
33 | public: | |
5f4e9982 | 34 | AliEveMultiView(Bool_t setMuonView = kFALSE); |
1e9caa37 | 35 | virtual ~AliEveMultiView() {} |
36 | ||
37 | static AliEveMultiView* Instance(); | |
38 | ||
5f4e9982 | 39 | void InitGeomGentle(TEveGeoShape* g3d, TEveGeoShape* grphi, TEveGeoShape* grhoz, TEveGeoShape* gmuon); |
1e9caa37 | 40 | void InitGeomGentleTrd(TEveGeoShape* gtrd); |
5f4e9982 | 41 | void InitGeomGentleMuon(TEveGeoShape* gmuon, Bool_t showRPhi, Bool_t showRhoZ, Bool_t showMuon); |
1e9caa37 | 42 | |
43 | //------------------------------------------------------------------------- | |
44 | ||
45 | void SetDepth(Float_t d); | |
46 | ||
47 | //------------------------------------------------------------------------- | |
48 | ||
49 | void ImportGeomRPhi(TEveElement* el); | |
50 | void ImportGeomRhoZ(TEveElement* el); | |
5f4e9982 | 51 | void ImportGeomMuon(TEveElement* el); |
1e9caa37 | 52 | void ImportEventRPhi(TEveElement* el); |
53 | void ImportEventRhoZ(TEveElement* el); | |
5f4e9982 | 54 | void ImportEventMuon(TEveElement* el); |
1e9caa37 | 55 | |
56 | void DestroyEventRPhi(); | |
57 | void DestroyEventRhoZ(); | |
5f4e9982 | 58 | void DestroyEventMuon(); |
1e9caa37 | 59 | |
60 | void SetCenterRPhi(Double_t x, Double_t y, Double_t z); | |
61 | void SetCenterRhoZ(Double_t x, Double_t y, Double_t z); | |
5f4e9982 | 62 | void SetCenterMuon(Double_t x, Double_t y, Double_t z); |
1e9caa37 | 63 | |
a13d7c88 | 64 | void DestroyAllGeometries(); |
65 | ||
1e9caa37 | 66 | //------------------------------------------------------------------------- |
67 | ||
68 | TEveViewer* Get3DView() { return f3DView; } | |
69 | TEveViewer* GetRPhiView() { return fRPhiView; } | |
70 | TEveViewer* GetRhoZView() { return fRhoZView; } | |
5f4e9982 | 71 | TEveViewer* GetMuonView() { return fMuonView; } |
72 | ||
73 | void SetMuonView(Bool_t set) { fIsMuonView = set; } | |
74 | Bool_t IsMuonView() { return fIsMuonView; } | |
1e9caa37 | 75 | |
76 | ||
77 | protected: | |
78 | TEveProjectionManager *fRPhiMgr; // Obvious meaning. | |
79 | TEveProjectionManager *fRhoZMgr; // Obvious meaning. | |
5f4e9982 | 80 | TEveProjectionManager *fMuonMgr; // Obvious meaning. |
1e9caa37 | 81 | |
82 | TEveViewer *f3DView; // Obvious meaning. | |
83 | TEveViewer *fRPhiView; // Obvious meaning. | |
84 | TEveViewer *fRhoZView; // Obvious meaning. | |
5f4e9982 | 85 | TEveViewer *fMuonView; // Obvious meaning. |
1e9caa37 | 86 | |
87 | TEveScene *fRPhiGeomScene; // Obvious meaning. | |
88 | TEveScene *fRhoZGeomScene; // Obvious meaning. | |
5f4e9982 | 89 | TEveScene *fMuonGeomScene; // Obvious meaning. |
1e9caa37 | 90 | TEveScene *fRPhiEventScene; // Obvious meaning. |
91 | TEveScene *fRhoZEventScene; // Obvious meaning. | |
5f4e9982 | 92 | TEveScene *fMuonEventScene; // Obvious meaning. |
1e9caa37 | 93 | |
94 | TEveGeoShape *fGeomGentle; // Obvious meaning. | |
95 | TEveGeoShape *fGeomGentleRPhi; // Obvious meaning. | |
96 | TEveGeoShape *fGeomGentleRhoZ; // Obvious meaning. | |
97 | TEveGeoShape *fGeomGentleTrd; // Obvious meaning. | |
98 | TEveGeoShape *fGeomGentleMuon; // Obvious meaning. | |
99 | ||
5f4e9982 | 100 | Bool_t fIsMuonView; |
101 | ||
1e9caa37 | 102 | static AliEveMultiView* fgInstance; // Obvious meaning. |
103 | ||
104 | private: | |
105 | AliEveMultiView(const AliEveMultiView&); // Not implemented | |
106 | AliEveMultiView& operator=(const AliEveMultiView&); // Not implemented | |
107 | ||
108 | ClassDef(AliEveMultiView, 0); // Multiple-views. | |
109 | }; | |
110 | ||
111 | #endif |