]>
Commit | Line | Data |
---|---|---|
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 * | |
7 | * full copyright notice. * | |
8 | **************************************************************************/ | |
9 | // ---------------------------------------------------------------------- // | |
10 | ||
11 | #if !defined(__CINT__) || defined(__MAKECINT__) | |
12 | #include <TObjArray.h> | |
13 | #include <TString.h> | |
14 | #include <TStyle.h> | |
15 | #include <TEveManager.h> | |
16 | #include <TEveElement.h> | |
17 | #include <TEvePointSet.h> | |
18 | ||
19 | #include <AliPMDRawStream.h> | |
20 | #include <AliRawReaderRoot.h> | |
21 | #include <AliCluster.h> | |
22 | #include <AliEveEventManager.h> | |
23 | #include <AliEvePMDModule.h> | |
24 | #endif | |
25 | ||
26 | void pmd_raw(Int_t mode = 0) | |
27 | { | |
28 | gStyle->SetPalette(1, 0); | |
29 | ||
30 | ||
31 | TObjArray *pmdddlcont = new TObjArray(); | |
32 | ||
33 | TString spl; | |
34 | ||
35 | TString sddl; | |
36 | TString bsddl="DDL"; | |
37 | ||
38 | // Use this to get data consistent with current event: | |
39 | // AliRawReader *reader = AliEveEventManager::AssertRawReader(); | |
40 | ||
41 | Int_t ievt = 159; | |
42 | AliRawReaderRoot reader("raw.root",ievt); | |
43 | AliPMDRawStream stream(&reader); | |
44 | ||
45 | gEve->DisableRedraw(); | |
46 | ||
47 | TEveElementList* l = new TEveElementList("PMD"); | |
48 | // l->SetTitle("PMD"); | |
49 | // l->SetMainColor(3); | |
50 | gEve->AddElement(l); | |
51 | ||
52 | Int_t NSM = 0; | |
53 | Int_t istartDDL = 0; | |
54 | Int_t iendDDL = 0; | |
55 | Int_t modnumber = 0; | |
56 | Int_t istartPlane = 0; | |
57 | Int_t iendPlane = 0; | |
58 | Float_t zpos = 0; | |
59 | ||
60 | switch(mode) | |
61 | { | |
62 | case 0: | |
63 | istartPlane = 0; | |
64 | iendPlane = 1; | |
65 | printf("--- Visualization is set for PREshower Plane ---\n"); | |
66 | break; | |
67 | ||
68 | case 1: | |
69 | istartPlane = 1; | |
70 | iendPlane = 2; | |
71 | printf("--- Visualization is set for CPV Plane ---\n"); | |
72 | break; | |
73 | ||
74 | case 2: | |
75 | istartPlane = 0; | |
76 | iendPlane = 2; | |
77 | printf("--- Visualization is set for both the Plane ---\n"); | |
78 | break; | |
79 | ||
80 | default: | |
81 | printf("--- Not set for any Plane ---\n"); | |
82 | } | |
83 | ||
84 | for (Int_t ipl = istartPlane; ipl < iendPlane; ipl++) | |
85 | { | |
86 | ||
87 | if (ipl == 0) | |
88 | { | |
89 | spl = "PRE"; | |
90 | istartDDL = 0; | |
91 | iendDDL = 4; | |
92 | zpos = 365.; | |
93 | } | |
94 | if (ipl == 1) | |
95 | { | |
96 | spl = "CPV"; | |
97 | istartDDL = 4; | |
98 | iendDDL = 6; | |
99 | zpos = 360.; | |
100 | } | |
101 | ||
102 | TEveElementList* lplane = new TEveElementList(spl.Data()); | |
103 | // l->SetMainColor(3); | |
104 | gEve->AddElement(lplane, l); | |
105 | ||
106 | Int_t iddl = -1; | |
107 | ||
108 | while ((iddl = stream.DdlData(pmdddlcont)) >=0) { | |
109 | if (iddl >= istartDDL && iddl < iendDDL){ | |
110 | sddl = bsddl; | |
111 | sddl += iddl; | |
112 | TEveElementList* lddl = new TEveElementList(sddl.Data()); | |
113 | // l->SetMainColor(3); | |
114 | gEve->AddElement(lddl, lplane); | |
115 | ||
116 | modnumber = iddl*6; | |
117 | ||
118 | if (iddl < 4) | |
119 | { | |
120 | NSM = 6; | |
121 | } | |
122 | else if (iddl >=4 && iddl < 6) | |
123 | { | |
124 | NSM = 12; | |
125 | } | |
126 | ||
127 | for (Int_t ism = 0; ism < NSM; ism++) | |
128 | { | |
129 | AliEvePMDModule *lmodule = new AliEvePMDModule(); | |
130 | lmodule->SetPosition(0.,0.,zpos); | |
131 | lmodule->DisplayRawData(modnumber,pmdddlcont); | |
132 | gEve->AddElement(lmodule, lddl); | |
133 | modnumber++; | |
134 | if (iddl == 4 && modnumber == 30) modnumber = 42; | |
135 | } | |
136 | ||
137 | pmdddlcont->Delete(); | |
138 | } | |
139 | } | |
140 | ||
141 | gEve->EnableRedraw(); | |
142 | } | |
143 | ||
144 | } | |
145 | // ---------------------------------------------------------------------- // | |
146 |