]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/EveBase/AliEveMultiView.h
From Pawel Debski.
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveMultiView.h
CommitLineData
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
31class AliEveMultiView
32{
33public:
34 AliEveMultiView();
35 virtual ~AliEveMultiView() {}
36
37 static AliEveMultiView* Instance();
38
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);
42
43 //-------------------------------------------------------------------------
44
45 void SetDepth(Float_t d);
46
47 //-------------------------------------------------------------------------
48
49 void ImportGeomRPhi(TEveElement* el);
50 void ImportGeomRhoZ(TEveElement* el);
51 void ImportEventRPhi(TEveElement* el);
52 void ImportEventRhoZ(TEveElement* el);
53
54 void DestroyEventRPhi();
55 void DestroyEventRhoZ();
56
57 void SetCenterRPhi(Double_t x, Double_t y, Double_t z);
58 void SetCenterRhoZ(Double_t x, Double_t y, Double_t z);
59
60 //-------------------------------------------------------------------------
61
62 TEveViewer* Get3DView() { return f3DView; }
63 TEveViewer* GetRPhiView() { return fRPhiView; }
64 TEveViewer* GetRhoZView() { return fRhoZView; }
65
66
67protected:
68 TEveProjectionManager *fRPhiMgr; // Obvious meaning.
69 TEveProjectionManager *fRhoZMgr; // Obvious meaning.
70
71 TEveViewer *f3DView; // Obvious meaning.
72 TEveViewer *fRPhiView; // Obvious meaning.
73 TEveViewer *fRhoZView; // Obvious meaning.
74
75 TEveScene *fRPhiGeomScene; // Obvious meaning.
76 TEveScene *fRhoZGeomScene; // Obvious meaning.
77 TEveScene *fRPhiEventScene; // Obvious meaning.
78 TEveScene *fRhoZEventScene; // Obvious meaning.
79
80 TEveGeoShape *fGeomGentle; // Obvious meaning.
81 TEveGeoShape *fGeomGentleRPhi; // Obvious meaning.
82 TEveGeoShape *fGeomGentleRhoZ; // Obvious meaning.
83 TEveGeoShape *fGeomGentleTrd; // Obvious meaning.
84 TEveGeoShape *fGeomGentleMuon; // Obvious meaning.
85
86 static AliEveMultiView* fgInstance; // Obvious meaning.
87
88private:
89 AliEveMultiView(const AliEveMultiView&); // Not implemented
90 AliEveMultiView& operator=(const AliEveMultiView&); // Not implemented
91
92 ClassDef(AliEveMultiView, 0); // Multiple-views.
93};
94
95#endif