]>
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 | |
d810d0de | 10 | class AliEveTPCData; |
11 | class AliEveEventManager; | |
915dabe1 | 12 | |
cb4245bb | 13 | AliEveTPCData *g_tpc_data = 0; |
14 | AliEveEventManager *g_tpc_last_event = 0; | |
915dabe1 | 15 | |
32e219c2 | 16 | void tpc_digits(Int_t mode=1) |
5a5a1232 | 17 | { |
a15e6d7d | 18 | if (g_tpc_data == 0 || g_tpc_last_event != gAliEveEvent) |
cb4245bb | 19 | { |
d810d0de | 20 | AliRunLoader* rl = AliEveEventManager::AssertRunLoader(); |
915dabe1 | 21 | rl->LoadDigits("TPC"); |
22 | TTree* dt = rl->GetTreeD("TPC", false); | |
5a5a1232 | 23 | |
d810d0de | 24 | g_tpc_data = new AliEveTPCData; |
915dabe1 | 25 | g_tpc_data->LoadDigits(dt, kTRUE); // Create all present sectors. |
5a5a1232 | 26 | |
a15e6d7d | 27 | g_tpc_last_event = gAliEveEvent; |
915dabe1 | 28 | } |
5a5a1232 | 29 | |
30 | // Viewport limits. | |
915dabe1 | 31 | /* |
5a5a1232 | 32 | Float_t left, right, top, bottom; |
33 | right = di->fOut2Seg.fNMaxPads* di->fOut2Seg.fPadWidth; | |
34 | left = -right; | |
35 | bottom = di->fInnSeg.fRlow; | |
36 | top = bottom + di->fOut2Seg.fRlow + | |
37 | di->fOut2Seg.fNRows*di->fOut2Seg.fPadLength - di->fInnSeg.fRlow; | |
915dabe1 | 38 | */ |
5a5a1232 | 39 | |
40 | gStyle->SetPalette(1, 0); | |
092578a7 | 41 | Color_t col = 36; |
5a5a1232 | 42 | |
915dabe1 | 43 | switch(mode) { |
44 | ||
45 | case 0: { // Display a single sector | |
d810d0de | 46 | AliEveTPCSector2D* s = new AliEveTPCSector2D(); |
092578a7 | 47 | s->SetFrameColor(col); |
915dabe1 | 48 | s->SetDataSource(g_tpc_data); |
84aff7a4 | 49 | gEve->AddElement(s); |
50 | gEve->Redraw3D(); | |
5a5a1232 | 51 | |
84aff7a4 | 52 | //TGLViewer* cam = gEve->GetGLViewer(); |
5a5a1232 | 53 | //cam->SetCurrentCamera(TGLViewer::kCameraOrthoXOY) ; |
51346b82 | 54 | //cam->SetOrthoCamera(TGLViewer::kCameraOrthoXOY, 2*left, 2*right, 2*top, bottom); |
5a5a1232 | 55 | //printf("%f %f %f %f\n", left, right, top, bottom); |
56 | ||
915dabe1 | 57 | break; |
58 | } | |
59 | ||
60 | case 1: { // Display all sectors | |
84aff7a4 | 61 | gEve->DisableRedraw(); |
5a5a1232 | 62 | { |
84aff7a4 | 63 | TEveElementList* l = new TEveElementList("TPC plate 1"); |
5a5a1232 | 64 | l->SetTitle("TPC Plate"); |
fbc350a3 | 65 | l->SetMainColor(col); |
84aff7a4 | 66 | gEve->AddElement(l); |
51346b82 | 67 | |
cb4245bb | 68 | for (Int_t i = 0; i<18; i++) |
69 | { | |
d810d0de | 70 | AliEveTPCSector2D* s = new AliEveTPCSector2D(Form("AliEveTPCSector2D %d", i)); |
092578a7 | 71 | s->SetSectorID(i); |
915dabe1 | 72 | s->SetDataSource(g_tpc_data); |
092578a7 | 73 | s->SetFrameColor(col); |
601bca51 | 74 | s->SetAutoTrans(kTRUE); |
84aff7a4 | 75 | gEve->AddElement(s, l); |
5a5a1232 | 76 | } |
5a5a1232 | 77 | } |
78 | { | |
84aff7a4 | 79 | TEveElementList* l = new TEveElementList("TPC plate 2"); |
5a5a1232 | 80 | l->SetTitle("TPC Plate"); |
fbc350a3 | 81 | l->SetMainColor(col); |
5a5a1232 | 82 | |
84aff7a4 | 83 | gEve->AddElement(l); |
cb4245bb | 84 | for (Int_t i = 18; i<36; i++) |
85 | { | |
d810d0de | 86 | AliEveTPCSector2D* s = new AliEveTPCSector2D(Form("AliEveTPCSector2D %d", i)); |
092578a7 | 87 | s->SetSectorID(i); |
915dabe1 | 88 | s->SetDataSource(g_tpc_data); |
092578a7 | 89 | s->SetFrameColor(col); |
601bca51 | 90 | s->SetAutoTrans(kTRUE); |
84aff7a4 | 91 | gEve->AddElement(s, l); |
5a5a1232 | 92 | } |
5a5a1232 | 93 | } |
84aff7a4 | 94 | gEve->EnableRedraw(); |
915dabe1 | 95 | |
96 | break; | |
5a5a1232 | 97 | } |
915dabe1 | 98 | |
915dabe1 | 99 | case 2 : { // Display a single sector in 3D |
d810d0de | 100 | AliEveTPCSector3D* s = new AliEveTPCSector3D(); |
092578a7 | 101 | s->SetFrameColor(col); |
102 | s->SetDataSource(g_tpc_data); | |
84aff7a4 | 103 | gEve->AddElement(s); |
104 | gEve->Redraw3D(); | |
915dabe1 | 105 | break; |
106 | } | |
915dabe1 | 107 | |
a8600b56 | 108 | case 3: { // Display all sectors in 3D |
84aff7a4 | 109 | gEve->DisableRedraw(); |
a8600b56 | 110 | { |
84aff7a4 | 111 | TEveElementList* l = new TEveElementList("TPC plate 1"); |
a8600b56 | 112 | l->SetTitle("TPC Plate"); |
fbc350a3 | 113 | l->SetMainColor(col); |
84aff7a4 | 114 | gEve->AddElement(l); |
51346b82 | 115 | |
cb4245bb | 116 | for (Int_t i = 0; i<18; i++) |
117 | { | |
d810d0de | 118 | AliEveTPCSector3D* s = new AliEveTPCSector3D(Form("AliEveTPCSector3D %d", i)); |
a8600b56 | 119 | s->SetSectorID(i); |
120 | s->SetDataSource(g_tpc_data); | |
121 | s->SetFrameColor(col); | |
601bca51 | 122 | s->SetAutoTrans(kTRUE); |
84aff7a4 | 123 | gEve->AddElement(s, l); |
a8600b56 | 124 | } |
125 | } | |
126 | { | |
84aff7a4 | 127 | TEveElementList* l = new TEveElementList("TPC plate 2"); |
a8600b56 | 128 | l->SetTitle("TPC Plate"); |
fbc350a3 | 129 | l->SetMainColor(col); |
a8600b56 | 130 | |
84aff7a4 | 131 | gEve->AddElement(l); |
cb4245bb | 132 | for (Int_t i = 18; i<36; i++) |
133 | { | |
d810d0de | 134 | AliEveTPCSector3D* s = new AliEveTPCSector3D(Form("AliEveTPCSector3D %d", i)); |
a8600b56 | 135 | s->SetSectorID(i); |
136 | s->SetDataSource(g_tpc_data); | |
137 | s->SetFrameColor(col); | |
601bca51 | 138 | s->SetAutoTrans(kTRUE); |
84aff7a4 | 139 | gEve->AddElement(s, l); |
a8600b56 | 140 | } |
141 | } | |
84aff7a4 | 142 | gEve->EnableRedraw(); |
a8600b56 | 143 | |
144 | break; | |
145 | } | |
146 | ||
915dabe1 | 147 | } // switch |
5a5a1232 | 148 | } |
c78930aa | 149 | |
150 | ||
151 | void tpc_digits_2drange(Int_t start, Int_t end) | |
152 | { | |
153 | if (start < 0) start = 0; | |
154 | if (end > 35) end = 35; | |
155 | ||
a15e6d7d | 156 | if (g_tpc_data == 0 || g_tpc_last_event != gAliEveEvent) { |
d810d0de | 157 | AliRunLoader* rl = AliEveEventManager::AssertRunLoader(); |
c78930aa | 158 | rl->LoadDigits("TPC"); |
159 | TTree* dt = rl->GetTreeD("TPC", false); | |
160 | ||
d810d0de | 161 | g_tpc_data = new AliEveTPCData; |
c78930aa | 162 | g_tpc_data->LoadDigits(dt, kTRUE); // Create all present sectors. |
163 | ||
a15e6d7d | 164 | g_tpc_last_event = gAliEveEvent; |
c78930aa | 165 | } |
166 | ||
167 | gStyle->SetPalette(1, 0); | |
168 | Color_t col = 36; | |
169 | ||
84aff7a4 | 170 | gEve->DisableRedraw(); |
c78930aa | 171 | { |
84aff7a4 | 172 | TEveElementList* l = new TEveElementList("TPC sectors"); |
fbc350a3 | 173 | l->SetMainColor(col); |
84aff7a4 | 174 | gEve->AddElement(l); |
51346b82 | 175 | |
cb4245bb | 176 | for (Int_t i=start; i<=end; i++) |
177 | { | |
d810d0de | 178 | AliEveTPCSector2D* s = new AliEveTPCSector2D(); |
c78930aa | 179 | s->SetSectorID(i); |
180 | s->SetDataSource(g_tpc_data); | |
181 | s->SetFrameColor(col); | |
182 | s->SetAutoTrans(kTRUE); | |
84aff7a4 | 183 | gEve->AddElement(s, l); |
c78930aa | 184 | } |
185 | } | |
84aff7a4 | 186 | gEve->EnableRedraw(); |
c78930aa | 187 | } |