]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/its_common_foos.C
changes for Vertex and Tracks classes
[u/mrichter/AliRoot.git] / EVE / alice-macros / its_common_foos.C
index fc891118c8b1cfd4b20793e124c796d5334f1193..c6ca576a88616a4761baca81a8f435aa2f0b64b6 100644 (file)
@@ -7,13 +7,25 @@
  * full copyright notice.                                                 *
  **************************************************************************/
 
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TString.h>
+#include <TEveManager.h>
+#include <TEveElement.h>
+
+#include <AliEveITSModule.h>
+#include <AliEveITSDigitsInfo.h>
+#include <AliEveITSScaledModule.h>
+#endif
+
+
 void its_common_foos()
 {}
 
 AliEveITSModule* its_make_module(Int_t i, TEveElement* parent,
                                  AliEveITSDigitsInfo*  di,
                                  AliEveDigitScaleInfo* si,
-                                 Bool_t check_empty, Bool_t scaled_modules)
+                                 Bool_t check_empty,
+                                Bool_t scaled_modules)
 {
   AliEveITSModule* m = 0;
 
@@ -21,12 +33,21 @@ AliEveITSModule* its_make_module(Int_t i, TEveElement* parent,
   if (i > 239 && i < 500) det_id = 1;
   else if (i >= 500)      det_id = 2;
 
-  if (!check_empty || (di->GetDigits(i, det_id) && di->GetDigits(i, det_id)->GetEntriesFast() > 0))
+  if (!check_empty || di->HasData(i, det_id) || di->IsDead(i, det_id))
   {
     if (scaled_modules)
       m = new AliEveITSScaledModule(i, di, si);
     else
       m = new AliEveITSModule(i, di);
+
+    // Before 5.26 ROOT did not draw frames of empty quad-sets.
+    // Bypass until we move there.
+    if (!di->HasData(i, det_id))
+    {
+      m->AddQuad(0,0,0,0);
+      m->RefitPlex();
+    }
+
     if (parent)
       parent->AddElement(m);
   }
@@ -38,155 +59,175 @@ void its_display_raw_digits(AliEveITSDigitsInfo* di, Int_t mode,
                             Bool_t check_empty    = kTRUE,
                             Bool_t scaled_modules = kFALSE)
 {
+  const TString bsSector = "Sector";
+  const TString bsStave  = "Stave";
+  const TString bsLadder = "Ladder";
   TString sSector;
-  TString bsSector="Sector";
   TString sStave;
-  TString bsStave="Stave";
   TString sLadder;
-  TString bsLadder="Ladder";
 
-  Int_t i=0;
-  Int_t nsec, nstave, nlad, nMod;
+  Int_t  i=0;
+  Long_t nsec, nstave, nlad, nMod;
 
   gEve->DisableRedraw();
 
   AliEveDigitScaleInfo* si = 0;
   if (scaled_modules)
+  {
     si = new AliEveDigitScaleInfo;
+  }
 
-  if (mode & 1) {
+  if (mode & 1)
+  {
     TEveElementList* l = new TEveElementList("SPD0");
     l->SetTitle("SPDs' first layer");
-    l->SetMainColor(Color_t(kRed));
+    l->SetMainColor(kRed);
     gEve->AddElement(l);
-    for (nsec=0; nsec<10; nsec++) {
-      sSector  = bsSector;
-      sSector += nsec;
-      TEveElementList* relSector = new TEveElementList(sSector.Data());
-      relSector->SetMainColor(Color_t(kRed));
-      gEve->AddElement(relSector, l);
-      for (nstave=0; nstave<2; nstave++){
-       sStave  = bsStave;
-       sStave += nstave;
-       TEveElementList* relStave = new TEveElementList(sStave.Data());
-       relStave->SetMainColor(Color_t(kRed));
-       gEve->AddElement(relStave, relSector);
+
+    for (nsec=0; nsec<10; nsec++)
+    {
+      TEveElementList* relSector = new TEveElementList(bsSector + nsec);
+      relSector->SetMainColor(kRed);
+      l->AddElement(relSector);
+
+      for (nstave=0; nstave<2; nstave++)
+      {
+       TEveElementList* relStave = new TEveElementList(bsStave + nstave);
+       relStave->SetMainColor(kRed);
+       relSector->AddElement(relStave);
+
        for (nMod=0; nMod<4; ++nMod, ++i)
        {
           its_make_module(i, relStave, di, si, check_empty, scaled_modules);
        }
       }
     }
-  } else {
+  }
+  else
+  {
     i += 10*2*4;
   }
 
-  if (mode & 2) {
+  if (mode & 2)
+  {
     TEveElementList* l = new TEveElementList("SPD1");
     l->SetTitle("SPDs' second layer");
-    l->SetMainColor(Color_t(kRed));
+    l->SetMainColor(kRed);
     gEve->AddElement(l);
 
-    for (nsec=0; nsec<10; nsec++) {
-      sSector  = bsSector;
-      sSector += nsec;
-      TEveElementList* relSector = new TEveElementList(sSector.Data());
-      relSector->SetMainColor(Color_t(kRed));
-      gEve->AddElement(relSector, l);
-      for (nstave=0; nstave<4; nstave++){
-       sStave  = bsStave;
-       sStave += nstave;
-       TEveElementList* relStave = new TEveElementList(sStave.Data());
-       relStave->SetMainColor(Color_t(kRed));
-       gEve->AddElement(relStave, relSector);
+    for (nsec=0; nsec<10; nsec++)
+    {
+      TEveElementList* relSector = new TEveElementList(bsSector + nsec);
+      relSector->SetMainColor(kRed);
+      l->AddElement(relSector);
+
+      for (nstave=0; nstave<4; nstave++)
+      {
+       TEveElementList* relStave = new TEveElementList(bsStave + nstave);
+       relStave->SetMainColor(kRed);
+       relSector->AddElement(relStave);
+
        for (nMod=0; nMod<4;  ++nMod, ++i)
        {
           its_make_module(i, relStave, di, si, check_empty, scaled_modules);
        }
       }
     }
-  } else {
+  }
+  else
+  {
     i += 10*4*4;
   }
 
-  if (mode & 4) {
+  if (mode & 4)
+  {
     TEveElementList* l = new TEveElementList("SDD2");
     l->SetTitle("SDDs' first layer");
-    l->SetMainColor(Color_t(kBlue));
+    l->SetMainColor(kBlue);
     gEve->AddElement(l);
 
-    for (nlad=0; nlad<14; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kBlue));
-      gEve->AddElement(relLadder, l);
+    for (nlad=0; nlad<14; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kBlue);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<6; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 14*6;
   }
 
-  if (mode & 8) {
+  if (mode & 8)
+  {
     TEveElementList* l = new TEveElementList("SDD3");
     l->SetTitle("SDDs' second layer");
-    l->SetMainColor(Color_t(kBlue));
+    l->SetMainColor(kBlue);
     gEve->AddElement(l);
-    for (nlad=0; nlad<22; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kBlue));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<22; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kBlue);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<8;  ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 22*8;
   }
 
-  if (mode & 16) {
+  if (mode & 16)
+  {
     TEveElementList* l = new TEveElementList("SSD4");
     l->SetTitle("SSDs' first layer");
-    l->SetMainColor(Color_t(kGreen));
+    l->SetMainColor(kGreen);
     gEve->AddElement(l);
-    for (nlad=0; nlad<34; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kGreen));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<34; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kGreen);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<22; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 34*22;
   }
 
-  if (mode & 32) {
+  if (mode & 32)
+  {
     TEveElementList* l = new TEveElementList("SSD5");
     l->SetTitle("SSDs' second layer");
-    l->SetMainColor(Color_t(kGreen));
+    l->SetMainColor(kGreen);
     gEve->AddElement(l);
-    for (nlad=0; nlad<38; nlad++) {
-      sLadder  = bsLadder;
-      sLadder += nlad;
-      TEveElementList* relLadder = new TEveElementList(sLadder.Data());
-      relLadder->SetMainColor(Color_t(kGreen));
-      gEve->AddElement(relLadder, l);
+
+    for (nlad=0; nlad<38; nlad++)
+    {
+      TEveElementList* relLadder = new TEveElementList(bsLadder + nlad);
+      relLadder->SetMainColor(kGreen);
+      l->AddElement(relLadder);
       for (nMod=0; nMod<25; ++nMod, ++i)
       {
         its_make_module(i, relLadder, di, si, check_empty, scaled_modules);
       }
     }
-  } else {
+  }
+  else
+  {
     i += 38*25;
   }