2 // Author: Matevz Tadel 2009
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 **************************************************************************/
10 #ifndef AliEveMultiView_H
11 #define AliEveMultiView_H
13 #include <TEveManager.h>
15 #include <TEveViewer.h>
16 #include <TGLViewer.h>
18 #include <TEveScene.h>
19 #include <TEveGeoShape.h>
21 #include <TEveProjectionManager.h>
22 #include <TEveProjectionAxes.h>
24 #include <TEveBrowser.h>
25 #include <TEveWindow.h>
27 //______________________________________________________________________________
28 // Short description of AliEveMultiView
34 AliEveMultiView(Bool_t setMuonView = kFALSE);
35 virtual ~AliEveMultiView();
37 static AliEveMultiView* Instance();
39 void InitGeomGentle(TEveGeoShape* g3d, TEveGeoShape* grphi, TEveGeoShape* grhoz, TEveGeoShape* gmuon);
40 void InitGeomGentleTrd(TEveGeoShape* gtrd);
41 void InitGeomGentleMuon(TEveGeoShape* gmuon, Bool_t showRPhi, Bool_t showRhoZ, Bool_t showMuon);
43 //-------------------------------------------------------------------------
45 void SetDepth(Float_t d);
47 //-------------------------------------------------------------------------
49 void ImportGeomRPhi(TEveElement* el);
50 void ImportGeomRhoZ(TEveElement* el);
51 void ImportGeomMuon(TEveElement* el);
52 void ImportEventRPhi(TEveElement* el);
53 void ImportEventRhoZ(TEveElement* el);
54 void ImportEventMuon(TEveElement* el);
56 void DestroyEventRPhi();
57 void DestroyEventRhoZ();
58 void DestroyEventMuon();
60 void SetCenterRPhi(Double_t x, Double_t y, Double_t z);
61 void SetCenterRhoZ(Double_t x, Double_t y, Double_t z);
62 void SetCenterMuon(Double_t x, Double_t y, Double_t z);
64 void DestroyAllGeometries();
66 //-------------------------------------------------------------------------
68 TEveViewer* Get3DView() { return f3DView; }
69 TEveViewer* GetRPhiView() { return fRPhiView; }
70 TEveViewer* GetRhoZView() { return fRhoZView; }
71 TEveViewer* GetMuonView() { return fMuonView; }
73 void SetMuonView(Bool_t set) { fIsMuonView = set; }
74 Bool_t IsMuonView() { return fIsMuonView; }
78 TEveProjectionManager *fRPhiMgr; // Obvious meaning.
79 TEveProjectionManager *fRhoZMgr; // Obvious meaning.
80 TEveProjectionManager *fMuonMgr; // Obvious meaning.
82 TEveViewer *f3DView; // Obvious meaning.
83 TEveViewer *fRPhiView; // Obvious meaning.
84 TEveViewer *fRhoZView; // Obvious meaning.
85 TEveViewer *fMuonView; // Obvious meaning.
87 TEveScene *fRPhiGeomScene; // Obvious meaning.
88 TEveScene *fRhoZGeomScene; // Obvious meaning.
89 TEveScene *fMuonGeomScene; // Obvious meaning.
90 TEveScene *fRPhiEventScene; // Obvious meaning.
91 TEveScene *fRhoZEventScene; // Obvious meaning.
92 TEveScene *fMuonEventScene; // Obvious meaning.
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.
102 static AliEveMultiView* fgInstance; // Obvious meaning.
105 AliEveMultiView(const AliEveMultiView&); // Not implemented
106 AliEveMultiView& operator=(const AliEveMultiView&); // Not implemented
108 ClassDef(AliEveMultiView, 0); // Multiple-views.