]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/pmd_digits.C
Clarify cluster loop. Add check for cluster being 0 (seen in online reco-viz).
[u/mrichter/AliRoot.git] / EVE / alice-macros / pmd_digits.C
CommitLineData
d810d0de 1// $Id$
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 **************************************************************************/
16718cdc 9
dcdad5c4 10void pmd_digits(Int_t mode = 0)
ee0e160c 11{
32e219c2 12 Bool_t drawBackPolygons = kFALSE;
13
ee0e160c 14 gStyle->SetPalette(1, 0);
15
ee0e160c 16
17 TString spl;
18
19 TString sddl;
20 TString bsddl="DDL";
21
22
d810d0de 23 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
ee0e160c 24 rl->LoadDigits("PMD");
25 TTree* pmdt = rl->GetTreeD("PMD", false);
26
27 // cout << pmdt->GetEntries() << endl;
28
84aff7a4 29 gEve->DisableRedraw();
dcdad5c4 30
84aff7a4 31 TEveElementList* l = new TEveElementList("PMD");
ee0e160c 32 // l->SetTitle("tooltip");
fbc350a3 33 // l->SetMainColor(3);
84aff7a4 34 gEve->AddElement(l);
32e219c2 35
84aff7a4 36 TEveRGBAPalette* pal = new TEveRGBAPalette(20, 1000);
32e219c2 37 pal->SetLimits(0, 1024);
38
dcdad5c4 39 Int_t NSM = 0;
40 Int_t istartDDL = 0;
41 Int_t iendDDL = 0;
42 Int_t modnumber = 0;
43 Int_t istartPlane = 0;
44 Int_t iendPlane = 0;
45 Float_t zpos = 0;
46
47 switch(mode)
48 {
49 case 0:
50 istartPlane = 0;
51 iendPlane = 1;
52 printf("--- Visualization is set for PREshower Plane ---\n");
53 break;
54
55 case 1:
56 istartPlane = 1;
57 iendPlane = 2;
58 printf("--- Visualization is set for CPV Plane ---\n");
59 break;
60
61 case 2:
62 istartPlane = 0;
63 iendPlane = 2;
64 printf("--- Visualization is set for both Planes ---\n");
65 break;
66
67 default:
68 printf("--- Not set for any Plane ---\n");
69 }
ee0e160c 70
dcdad5c4 71 for (Int_t ipl = istartPlane; ipl < iendPlane; ipl++)
ee0e160c 72 {
73
74 if (ipl == 0)
75 {
dcdad5c4 76 spl = "PRE";
ee0e160c 77 istartDDL = 0;
78 iendDDL = 4;
dcdad5c4 79 zpos = 365.;
ee0e160c 80 }
81 if (ipl == 1)
82 {
dcdad5c4 83 spl = "CPV";
ee0e160c 84 istartDDL = 4;
85 iendDDL = 6;
dcdad5c4 86 zpos = 360.;
ee0e160c 87 }
51346b82 88
84aff7a4 89 TEveElementList* lplane = new TEveElementList(spl.Data());
fbc350a3 90 // l->SetMainColor(3);
84aff7a4 91 gEve->AddElement(lplane, l);
51346b82 92
ee0e160c 93 for (Int_t iddl = istartDDL; iddl < iendDDL; iddl++)
94 {
95 sddl = bsddl;
96 sddl += iddl;
84aff7a4 97 TEveElementList* lddl = new TEveElementList(sddl.Data());
fbc350a3 98 // l->SetMainColor(3);
84aff7a4 99 gEve->AddElement(lddl, lplane);
ee0e160c 100
101 modnumber = iddl*6;
102
103 if (iddl < 4)
104 {
105 NSM = 6;
106 }
107 else if (iddl >=4 && iddl < 6)
108 {
109 NSM = 12;
110 }
111
112 for (Int_t ism = 0; ism < NSM; ism++)
113 {
51346b82 114
d810d0de 115 AliEvePMDModule *lmodule = new AliEvePMDModule();
dcdad5c4 116 lmodule->SetPosition(0.,0.,zpos);
ee0e160c 117 lmodule->DisplayDigitsData(modnumber, pmdt);
32e219c2 118 lmodule->SetPalette(pal);
119 if (drawBackPolygons)
120 {
84aff7a4 121 TEveFrameBox* b = lmodule->GetFrame();
32e219c2 122 b->SetFrameWidth(1.5);
fbc350a3 123 b->SetFrameColor(1);
7f57990a 124 b->SetBackColor ((Color_t) (kTeal - 9));
32e219c2 125 b->SetFrameFill (kFALSE);
126 b->SetDrawBack (kTRUE);
127 }
84aff7a4 128 gEve->AddElement(lmodule, lddl);
ee0e160c 129 modnumber++;
130 if (iddl == 4 && modnumber == 30) modnumber = 42;
131 }
132
133 }
134
135 }
136
84aff7a4 137 gEve->EnableRedraw();
ee0e160c 138}
139
140// ---------------------------------------------------------------------- //