]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/tpc_digits.C
Added support to display the HLT ESD Tree. See the comment in visscan_local.C for How
[u/mrichter/AliRoot.git] / EVE / alice-macros / tpc_digits.C
CommitLineData
5a5a1232 1// $Id$
d810d0de 2// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
51346b82 7 * full copyright notice. *
d810d0de 8 **************************************************************************/
5a5a1232 9
ba978640 10#if !defined(__CINT__) || defined(__MAKECINT__)
11#include <TStyle.h>
12#include <TTree.h>
13#include <TEveManager.h>
14#include <TEveElement.h>
15
6c49a8e1 16#include <AliRunLoader.h>
17#include <AliEveEventManager.h>
18#include <AliEveTPCData.h>
19#include <AliEveTPCSector2D.h>
20#include <AliEveTPCSector3D.h>
ba978640 21#endif
22
32e219c2 23void tpc_digits(Int_t mode=1)
5a5a1232 24{
4d62585e 25 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
26 rl->LoadDigits("TPC");
27 TTree* dt = rl->GetTreeD("TPC", false);
28 if (dt == 0)
cb4245bb 29 {
05bd816b 30 throw TEveException("tpc_digits Can not access digits tree.");
915dabe1 31 }
5a5a1232 32
4d62585e 33 AliEveTPCData *x = new AliEveTPCData;
34
35 x->LoadDigits(dt, kTRUE); // Create all present sectors.
5a5a1232 36
37 gStyle->SetPalette(1, 0);
092578a7 38 Color_t col = 36;
5a5a1232 39
915dabe1 40 switch(mode) {
41
42 case 0: { // Display a single sector
d810d0de 43 AliEveTPCSector2D* s = new AliEveTPCSector2D();
092578a7 44 s->SetFrameColor(col);
4d62585e 45 s->SetDataSource(x);
84aff7a4 46 gEve->AddElement(s);
47 gEve->Redraw3D();
5a5a1232 48
68ca2fe7 49 //TGLViewer* cam = gEve->GetDefaultGLViewer();
5a5a1232 50 //cam->SetCurrentCamera(TGLViewer::kCameraOrthoXOY) ;
51346b82 51 //cam->SetOrthoCamera(TGLViewer::kCameraOrthoXOY, 2*left, 2*right, 2*top, bottom);
5a5a1232 52 //printf("%f %f %f %f\n", left, right, top, bottom);
53
915dabe1 54 break;
55 }
56
57 case 1: { // Display all sectors
84aff7a4 58 gEve->DisableRedraw();
5a5a1232 59 {
84aff7a4 60 TEveElementList* l = new TEveElementList("TPC plate 1");
5a5a1232 61 l->SetTitle("TPC Plate");
fbc350a3 62 l->SetMainColor(col);
84aff7a4 63 gEve->AddElement(l);
51346b82 64
cb4245bb 65 for (Int_t i = 0; i<18; i++)
66 {
d810d0de 67 AliEveTPCSector2D* s = new AliEveTPCSector2D(Form("AliEveTPCSector2D %d", i));
092578a7 68 s->SetSectorID(i);
4d62585e 69 s->SetDataSource(x);
092578a7 70 s->SetFrameColor(col);
601bca51 71 s->SetAutoTrans(kTRUE);
68ca2fe7 72 l->AddElement(s);
5a5a1232 73 }
5a5a1232 74 }
75 {
84aff7a4 76 TEveElementList* l = new TEveElementList("TPC plate 2");
5a5a1232 77 l->SetTitle("TPC Plate");
fbc350a3 78 l->SetMainColor(col);
5a5a1232 79
84aff7a4 80 gEve->AddElement(l);
cb4245bb 81 for (Int_t i = 18; i<36; i++)
82 {
d810d0de 83 AliEveTPCSector2D* s = new AliEveTPCSector2D(Form("AliEveTPCSector2D %d", i));
092578a7 84 s->SetSectorID(i);
4d62585e 85 s->SetDataSource(x);
092578a7 86 s->SetFrameColor(col);
601bca51 87 s->SetAutoTrans(kTRUE);
68ca2fe7 88 l->AddElement(s);
5a5a1232 89 }
5a5a1232 90 }
84aff7a4 91 gEve->EnableRedraw();
915dabe1 92
93 break;
5a5a1232 94 }
915dabe1 95
915dabe1 96 case 2 : { // Display a single sector in 3D
d810d0de 97 AliEveTPCSector3D* s = new AliEveTPCSector3D();
092578a7 98 s->SetFrameColor(col);
4d62585e 99 s->SetDataSource(x);
84aff7a4 100 gEve->AddElement(s);
101 gEve->Redraw3D();
915dabe1 102 break;
103 }
915dabe1 104
a8600b56 105 case 3: { // Display all sectors in 3D
84aff7a4 106 gEve->DisableRedraw();
a8600b56 107 {
84aff7a4 108 TEveElementList* l = new TEveElementList("TPC plate 1");
a8600b56 109 l->SetTitle("TPC Plate");
fbc350a3 110 l->SetMainColor(col);
84aff7a4 111 gEve->AddElement(l);
51346b82 112
cb4245bb 113 for (Int_t i = 0; i<18; i++)
114 {
d810d0de 115 AliEveTPCSector3D* s = new AliEveTPCSector3D(Form("AliEveTPCSector3D %d", i));
a8600b56 116 s->SetSectorID(i);
4d62585e 117 s->SetDataSource(x);
a8600b56 118 s->SetFrameColor(col);
601bca51 119 s->SetAutoTrans(kTRUE);
68ca2fe7 120 l->AddElement(s);
a8600b56 121 }
122 }
123 {
84aff7a4 124 TEveElementList* l = new TEveElementList("TPC plate 2");
a8600b56 125 l->SetTitle("TPC Plate");
fbc350a3 126 l->SetMainColor(col);
a8600b56 127
84aff7a4 128 gEve->AddElement(l);
cb4245bb 129 for (Int_t i = 18; i<36; i++)
130 {
d810d0de 131 AliEveTPCSector3D* s = new AliEveTPCSector3D(Form("AliEveTPCSector3D %d", i));
a8600b56 132 s->SetSectorID(i);
4d62585e 133 s->SetDataSource(x);
a8600b56 134 s->SetFrameColor(col);
601bca51 135 s->SetAutoTrans(kTRUE);
68ca2fe7 136 l->AddElement(s);
a8600b56 137 }
138 }
84aff7a4 139 gEve->EnableRedraw();
a8600b56 140
141 break;
142 }
143
915dabe1 144 } // switch
5a5a1232 145}
c78930aa 146
147
148void tpc_digits_2drange(Int_t start, Int_t end)
149{
150 if (start < 0) start = 0;
151 if (end > 35) end = 35;
152
4d62585e 153 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
154 rl->LoadDigits("TPC");
155 TTree* dt = rl->GetTreeD("TPC", false);
156 if (dt == 0)
157 {
05bd816b 158 throw TEveException("tpc_digits Can not access digits tree.");
4d62585e 159 }
c78930aa 160
4d62585e 161 AliEveTPCData *x = new AliEveTPCData;
c78930aa 162
4d62585e 163 x->LoadDigits(dt, kTRUE); // Create all present sectors.
c78930aa 164
165 gStyle->SetPalette(1, 0);
166 Color_t col = 36;
167
84aff7a4 168 gEve->DisableRedraw();
c78930aa 169 {
84aff7a4 170 TEveElementList* l = new TEveElementList("TPC sectors");
fbc350a3 171 l->SetMainColor(col);
84aff7a4 172 gEve->AddElement(l);
51346b82 173
cb4245bb 174 for (Int_t i=start; i<=end; i++)
175 {
d810d0de 176 AliEveTPCSector2D* s = new AliEveTPCSector2D();
c78930aa 177 s->SetSectorID(i);
4d62585e 178 s->SetDataSource(x);
c78930aa 179 s->SetFrameColor(col);
180 s->SetAutoTrans(kTRUE);
84aff7a4 181 gEve->AddElement(s, l);
c78930aa 182 }
183 }
84aff7a4 184 gEve->EnableRedraw();
c78930aa 185}