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
35 virtual ~AliEveMultiView() {}
37 static AliEveMultiView* Instance();
39 void InitGeomGentle(TEveGeoShape* g3d, TEveGeoShape* grphi, TEveGeoShape* grhoz);
40 void InitGeomGentleTrd(TEveGeoShape* gtrd);
41 void InitGeomGentleMuon(TEveGeoShape* gmuon, Bool_t showRPhi, Bool_t showRhoZ);
43 //-------------------------------------------------------------------------
45 void SetDepth(Float_t d);
47 //-------------------------------------------------------------------------
49 void ImportGeomRPhi(TEveElement* el);
50 void ImportGeomRhoZ(TEveElement* el);
51 void ImportEventRPhi(TEveElement* el);
52 void ImportEventRhoZ(TEveElement* el);
54 void DestroyEventRPhi();
55 void DestroyEventRhoZ();
57 void SetCenterRPhi(Double_t x, Double_t y, Double_t z);
58 void SetCenterRhoZ(Double_t x, Double_t y, Double_t z);
60 void DestroyAllGeometries();
62 //-------------------------------------------------------------------------
64 TEveViewer* Get3DView() { return f3DView; }
65 TEveViewer* GetRPhiView() { return fRPhiView; }
66 TEveViewer* GetRhoZView() { return fRhoZView; }
70 TEveProjectionManager *fRPhiMgr; // Obvious meaning.
71 TEveProjectionManager *fRhoZMgr; // Obvious meaning.
73 TEveViewer *f3DView; // Obvious meaning.
74 TEveViewer *fRPhiView; // Obvious meaning.
75 TEveViewer *fRhoZView; // Obvious meaning.
77 TEveScene *fRPhiGeomScene; // Obvious meaning.
78 TEveScene *fRhoZGeomScene; // Obvious meaning.
79 TEveScene *fRPhiEventScene; // Obvious meaning.
80 TEveScene *fRhoZEventScene; // Obvious meaning.
82 TEveGeoShape *fGeomGentle; // Obvious meaning.
83 TEveGeoShape *fGeomGentleRPhi; // Obvious meaning.
84 TEveGeoShape *fGeomGentleRhoZ; // Obvious meaning.
85 TEveGeoShape *fGeomGentleTrd; // Obvious meaning.
86 TEveGeoShape *fGeomGentleMuon; // Obvious meaning.
88 static AliEveMultiView* fgInstance; // Obvious meaning.
91 AliEveMultiView(const AliEveMultiView&); // Not implemented
92 AliEveMultiView& operator=(const AliEveMultiView&); // Not implemented
94 ClassDef(AliEveMultiView, 0); // Multiple-views.