]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/pmd_raw.C
Put index into track's name instead of its label.
[u/mrichter/AliRoot.git] / EVE / alice-macros / pmd_raw.C
1 // ---------------------------------------------------------------------- //
2 void pmd_raw(Int_t mode = 0)
3 {
4   gStyle->SetPalette(1, 0);
5
6
7   TObjArray *pmdddlcont = new TObjArray();
8
9   TString spl;
10
11   TString sddl;
12   TString bsddl="DDL";
13
14   Int_t ievt = 0;
15   AliRawReaderRoot reader("raw.root",ievt);
16   AliPMDRawStream stream(&reader);
17
18   gReve->DisableRedraw();
19
20   Reve::RenderElementList* l = new Reve::RenderElementList("PMD");
21   //  l->SetTitle("PMD");
22   //  l->SetMainColor((Color_t)3);
23   gReve->AddRenderElement(l);
24   
25   Int_t NSM       = 0;
26   Int_t istartDDL = 0;
27   Int_t iendDDL    = 0;
28   Int_t modnumber = 0;
29   Int_t istartPlane = 0;
30   Int_t iendPlane   = 0;
31   Float_t zpos      = 0;
32
33   switch(mode)
34     {
35     case 0:
36       istartPlane = 0;
37       iendPlane   = 1;
38       printf("--- Visualization is set for PREshower Plane ---\n");
39       break;
40       
41     case 1:
42       istartPlane = 1;
43       iendPlane   = 2;
44       printf("--- Visualization is set for CPV Plane ---\n");
45       break;
46
47     case 2:
48       istartPlane = 0;
49       iendPlane   = 2;
50       printf("--- Visualization is set for both the Plane ---\n");
51       break;
52       
53     default:
54       printf("--- Not set for any Plane ---\n");
55     }
56
57   for (Int_t ipl = istartPlane; ipl < iendPlane; ipl++)
58     {
59
60       if (ipl == 0)
61         {
62           spl       = "PRE";
63           istartDDL = 0;
64           iendDDL   = 4;
65           zpos      = 365.;
66         }
67       if (ipl == 1)
68         {
69           spl = "CPV";
70           istartDDL = 4;
71           iendDDL   = 6;
72           zpos      = 360.;
73         }
74       
75       Reve::RenderElementList* lplane = new Reve::RenderElementList(spl.Data());
76       //  l->SetMainColor((Color_t)3);
77       gReve->AddRenderElement(lplane, l);
78       
79       for (Int_t iddl = istartDDL; iddl < iendDDL; iddl++)
80       //for (Int_t iddl = 0; iddl < 1; iddl++)
81         {
82           sddl = bsddl;
83           sddl += iddl;
84           Reve::RenderElementList* lddl = new Reve::RenderElementList(sddl.Data());
85           //  l->SetMainColor((Color_t)3);
86           gReve->AddRenderElement(ddl, lplane);
87
88           modnumber = iddl*6;
89
90           if (iddl < 4)
91             {
92               NSM = 6;
93             }
94           else if (iddl >=4 && iddl < 6)
95             {
96               NSM = 12;
97             }
98
99           reader.Select("PMD", iddl, iddl);
100           Bool_t junk = stream.DdlData(iddl,pmdddlcont);
101
102           for (Int_t ism = 0; ism < NSM; ism++)
103             {
104               Alieve::PMDModule *lmodule = new Alieve::PMDModule();
105               lmodule->SetPosition(0.,0.,zpos);
106               lmodule->DisplayRawData(modnumber,pmdddlcont);
107               gReve->AddRenderElement(lmodule, lddl);
108               modnumber++;
109               if (iddl == 4 && modnumber == 30) modnumber = 42;
110             }
111
112           pmdddlcont->Clear();
113         }
114     }
115
116
117   gReve->EnableRedraw();
118   
119   gReve->Redraw3D();
120 }
121
122 // ---------------------------------------------------------------------- //