]>
Commit | Line | Data |
---|---|---|
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 | 23 | void 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 | ||
148 | void 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 | } |