]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/tpc_digits.C
Merge EVE-dev to HEAD.
[u/mrichter/AliRoot.git] / EVE / alice-macros / tpc_digits.C
CommitLineData
5a5a1232 1// $Id$
2
3#include "TGLViewer.h"
4
915dabe1 5namespace Alieve {
6class TPCData;
7class Event;
8}
9
10Alieve::TPCData* g_tpc_data = 0;
11Alieve::Event* g_tpc_last_event = 0;
12
13void tpc_digits(Int_t mode=0)
5a5a1232 14{
915dabe1 15 if (g_tpc_data == 0 || g_tpc_last_event != Alieve::gEvent) {
16 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
17 rl->LoadDigits("TPC");
18 TTree* dt = rl->GetTreeD("TPC", false);
5a5a1232 19
915dabe1 20 g_tpc_data = new Alieve::TPCData;
21 g_tpc_data->LoadDigits(dt, kTRUE); // Create all present sectors.
5a5a1232 22
915dabe1 23 g_tpc_last_event = Alieve::gEvent;
24 }
5a5a1232 25
26 // Viewport limits.
915dabe1 27 /*
5a5a1232 28 Float_t left, right, top, bottom;
29 right = di->fOut2Seg.fNMaxPads* di->fOut2Seg.fPadWidth;
30 left = -right;
31 bottom = di->fInnSeg.fRlow;
32 top = bottom + di->fOut2Seg.fRlow +
33 di->fOut2Seg.fNRows*di->fOut2Seg.fPadLength - di->fInnSeg.fRlow;
915dabe1 34 */
5a5a1232 35
36 gStyle->SetPalette(1, 0);
37 UInt_t col = 36;
38
915dabe1 39 switch(mode) {
40
41 case 0: { // Display a single sector
5a5a1232 42
43 gReve->DisableRedraw();
5a5a1232 44
915dabe1 45 Alieve::TPCSector2D* s = new Alieve::TPCSector2D();
46 s->SetDataSource(g_tpc_data);
5a5a1232 47 s->SetMainColor(Color_t(col));
915dabe1 48 gReve->AddRenderElement(s);
49 gReve->DrawRenderElement(s);
5a5a1232 50
51 gReve->EnableRedraw();
52
53 TGLViewer* cam = dynamic_cast<TGLViewer*>(gReve->GetCC()->GetViewer3D());
54 //cam->SetCurrentCamera(TGLViewer::kCameraOrthoXOY) ;
55 //cam->SetOrthoCamera(TGLViewer::kCameraOrthoXOY, 2*left, 2*right, 2*top, bottom);
56 //printf("%f %f %f %f\n", left, right, top, bottom);
57
915dabe1 58 break;
59 }
60
61 case 1: { // Display all sectors
5a5a1232 62
63 gReve->DisableRedraw();
64 {
65 Reve::RenderElementList* l = new Reve::RenderElementList("TPC plate 1");
66 l->SetTitle("TPC Plate");
67 l->SetMainColor(Color_t(col));
68 TGListTreeItem *ti = gReve->AddRenderElement(l);
69
70 for(Int_t i = 0; i<18; i++) {
915dabe1 71 Alieve::TPCSector2D* s = new Alieve::TPCSector2D();
5a5a1232 72 s->SetSegmentID(i);
915dabe1 73 s->SetDataSource(g_tpc_data);
5a5a1232 74 s->SetMainColor(Color_t(col));
75 s->SetTrans(true);
76 l->AddElement(s);
77 gReve->AddRenderElement(ti, s);
78 }
79 gReve->DrawRenderElement(l);
80 }
81 {
82 Reve::RenderElementList* l = new Reve::RenderElementList("TPC plate 2");
83 l->SetTitle("TPC Plate");
84 l->SetMainColor(Color_t(col));
85
86 TGListTreeItem *ti = gReve->AddRenderElement(l);
87 for(Int_t i = 18; i<36; i++) {
915dabe1 88 Alieve::TPCSector2D* s = new Alieve::TPCSector2D();
5a5a1232 89 s->SetSegmentID(i);
915dabe1 90 s->SetDataSource(g_tpc_data);
5a5a1232 91 s->SetMainColor(Color_t(col));
5a5a1232 92 s->SetTrans(true);
93 l->AddElement(s);
94 gReve->AddRenderElement(ti, s);
95 }
96 gReve->DrawRenderElement(l);
97 }
98 gReve->EnableRedraw();
915dabe1 99
100 break;
5a5a1232 101 }
915dabe1 102
103 /* // Almost ready ...
104 case 2 : { // Display a single sector in 3D
105 Reve::RenderElementList* l = new Reve::RenderElementList("TPC Drift");
106 l->SetTitle("TPC Segment Drift");
107 l->SetMainColor(Color_t(col));
108 TGListTreeItem *ti = gReve->AddRenderElement(l);
109
110 Alieve::TPCSector3D* = new Alieve::TPCSector3D(di, 0);
111 s->SetMainColor(Color_t(col));
112 l->AddElement(s);
113 gReve->AddRenderElement(ti, s);
114 gReve->DrawRenderElement(l);
115 gReve->EnableRedraw();
116 break;
117 }
118 */
119
120 } // switch
5a5a1232 121}