]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/pmd_raw.C
Update from Andrea D.
[u/mrichter/AliRoot.git] / EVE / alice-macros / pmd_raw.C
index d75b3eafa0d8b54753f82621d55cae174154642b..3729cfffb5a84deba77211df188700ff97ede6ab 100644 (file)
@@ -1,3 +1,11 @@
+// $Id$
+// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
+
+/**************************************************************************
+ * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
+ * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
+ * full copyright notice.                                                 *
+ **************************************************************************/
 // ---------------------------------------------------------------------- //
 void pmd_raw(Int_t mode = 0)
 {
@@ -11,20 +19,23 @@ void pmd_raw(Int_t mode = 0)
   TString sddl;
   TString bsddl="DDL";
 
-  Int_t ievt = 0;
+  // Use this to get data consistent with current event:
+  // AliRawReader *reader = AliEveEventManager::AssertRawReader();
+
+  Int_t ievt = 159;
   AliRawReaderRoot reader("raw.root",ievt);
   AliPMDRawStream stream(&reader);
 
-  gReve->DisableRedraw();
+  gEve->DisableRedraw();
 
-  Reve::RenderElementList* l = new Reve::RenderElementList("PMD");
+  TEveElementList* l = new TEveElementList("PMD");
   //  l->SetTitle("PMD");
-  //  l->SetMainColor((Color_t)3);
-  gReve->AddRenderElement(l);
-  
+  //  l->SetMainColor(3);
+  gEve->AddElement(l);
+
   Int_t NSM       = 0;
   Int_t istartDDL = 0;
-  Int_t iendDDL    = 0;
+  Int_t iendDDL   = 0;
   Int_t modnumber = 0;
   Int_t istartPlane = 0;
   Int_t iendPlane   = 0;
@@ -37,7 +48,7 @@ void pmd_raw(Int_t mode = 0)
       iendPlane   = 1;
       printf("--- Visualization is set for PREshower Plane ---\n");
       break;
-      
+
     case 1:
       istartPlane = 1;
       iendPlane   = 2;
@@ -49,7 +60,7 @@ void pmd_raw(Int_t mode = 0)
       iendPlane   = 2;
       printf("--- Visualization is set for both the Plane ---\n");
       break;
-      
+
     default:
       printf("--- Not set for any Plane ---\n");
     }
@@ -71,52 +82,49 @@ void pmd_raw(Int_t mode = 0)
          iendDDL   = 6;
          zpos      = 360.;
        }
+
+      TEveElementList* lplane = new TEveElementList(spl.Data());
+      //  l->SetMainColor(3);
+      gEve->AddElement(lplane, l);
+
+      Int_t iddl = -1;
+
+      while ((iddl = stream.DdlData(&pmdddlcont)) >=0) {
+         if (iddl >= istartDDL && iddl < iendDDL){
+             sddl = bsddl;
+             sddl += iddl;
+             TEveElementList* lddl = new TEveElementList(sddl.Data());
+             //  l->SetMainColor(3);
+             gEve->AddElement(ddl, lplane);
+             
+             modnumber = iddl*6;
+             
+             if (iddl < 4)
+             {
+                 NSM = 6;
+             }
+             else if (iddl >=4 && iddl < 6)
+             {
+                 NSM = 12;
+             }
+
+             for (Int_t ism = 0; ism < NSM; ism++)
+             {
+                 AliEvePMDModule *lmodule = new AliEvePMDModule();
+                 lmodule->SetPosition(0.,0.,zpos);
+                 lmodule->DisplayRawData(modnumber,pmdddlcont);
+                 gEve->AddElement(lmodule, lddl);
+                 modnumber++;
+                 if (iddl == 4 && modnumber == 30) modnumber = 42;
+             }
+             
+             pmdddlcont->Delete();
+         }
+      }
       
-      Reve::RenderElementList* lplane = new Reve::RenderElementList(spl.Data());
-      //  l->SetMainColor((Color_t)3);
-      gReve->AddRenderElement(l,lplane);
-      
-      for (Int_t iddl = istartDDL; iddl < iendDDL; iddl++)
-      //for (Int_t iddl = 0; iddl < 1; iddl++)
-       {
-         sddl = bsddl;
-         sddl += iddl;
-         Reve::RenderElementList* lddl = new Reve::RenderElementList(sddl.Data());
-         //  l->SetMainColor((Color_t)3);
-         gReve->AddRenderElement(lplane,lddl);
-
-         modnumber = iddl*6;
-
-         if (iddl < 4)
-           {
-             NSM = 6;
-           }
-         else if (iddl >=4 && iddl < 6)
-           {
-             NSM = 12;
-           }
-
-         reader.Select("PMD", iddl, iddl);
-         Bool_t junk = stream.DdlData(iddl,pmdddlcont);
-
-         for (Int_t ism = 0; ism < NSM; ism++)
-           {
-             Alieve::PMDModule *lmodule = new Alieve::PMDModule();
-             lmodule->SetPosition(0.,0.,zpos);
-             lmodule->DisplayRawData(modnumber,pmdddlcont);
-             gReve->AddRenderElement(lddl, lmodule);
-             modnumber++;
-             if (iddl == 4 && modnumber == 30) modnumber = 42;
-           }
-
-         pmdddlcont->Clear();
-       }
+      gEve->EnableRedraw();
     }
-
-
-  gReve->EnableRedraw();
   
-  gReve->Redraw3D();
 }
-
 // ---------------------------------------------------------------------- //
+