]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
From Raffaele: introduce new GUI levels for all ITS layers (sectors, ladders, staves).
authormtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Oct 2006 16:33:42 +0000 (16:33 +0000)
committermtadel <mtadel@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Oct 2006 16:33:42 +0000 (16:33 +0000)
EVE/alice-macros/its_digits.C

index 83962fd84ba059b03307362e71013bfa012ab447..6242d43cca05abc8263610d8ddbbc1d3a0300e8e 100644 (file)
@@ -1,6 +1,13 @@
 // $Id$
 
-void its_digits(Int_t mode=7)
+// Load ITS digits.
+// Argument mode is a bitwise or determining which layers to import:
+//    1,  2 : SPD
+//    4,  8 : SDD
+//   16, 32 : SSD
+// By default import all layers.
+
+void its_digits(Int_t mode=63)
 {
   AliRunLoader* rl =  Alieve::Event::AssertRunLoader();
   rl->LoadDigits("ITS");
@@ -15,37 +22,138 @@ void its_digits(Int_t mode=7)
 
   gReve->DisableRedraw();
 
+  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;
+
   if (mode & 1) {
-    Reve::RenderElementList* l = new Reve::RenderElementList("SPD");
-    l->SetTitle("Silicon Pixel Detectors");
+    Reve::RenderElementList* l = new Reve::RenderElementList("SPD0");
+    l->SetTitle("SPDs' first layer");
     l->SetMainColor((Color_t)2);
     gReve->AddRenderElement(l);
-    for(Int_t i=g->GetStartSPD(); i<=g->GetLastSPD(); i++) {
-      Alieve::ITSModule* m = new Alieve::ITSModule(i, di, (Color_t)2);
-      gReve->AddRenderElement(l, m);
+    for(nsec=0; nsec<10; nsec++) {
+      sSector=bsSector;
+      sSector+=nsec;
+      Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
+      relSector->SetMainColor((Color_t)2);
+      gReve->AddRenderElement(l, relSector);
+      for(nstave=0; nstave<2; nstave++){
+       sStave=bsStave;
+       sStave += nstave;
+       Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
+       relStave->SetMainColor((Color_t)2);
+       gReve->AddRenderElement(relSector, relStave);
+       for(nMod=0; nMod<4; nMod++) {
+         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)2);
+         gReve->AddRenderElement(relStave, m);
+       }
+      }
     }
   }
 
   if (mode & 2) {
-    Reve::RenderElementList* l = new Reve::RenderElementList("SDD");
-    l->SetTitle("Silicon Drift Detectors");
-    l->SetMainColor((Color_t)3);
+    Reve::RenderElementList* l = new Reve::RenderElementList("SPD1");
+    l->SetTitle("SPDs' second layer");
+    l->SetMainColor((Color_t)2);
     gReve->AddRenderElement(l);
-    for(Int_t i=g->GetStartSDD(); i<=g->GetLastSDD(); i++) {
-      Alieve::ITSModule* m = new Alieve::ITSModule(i, di, (Color_t)3);
-      gReve->AddRenderElement(l, m);
+
+    for(nsec=0; nsec<10; nsec++) {
+      sSector=bsSector;
+      sSector+=nsec;
+      Reve::RenderElementList* relSector = new Reve::RenderElementList(sSector.Data());
+      relSector->SetMainColor((Color_t)2);
+      gReve->AddRenderElement(l, relSector);
+      for(nstave=0; nstave<4; nstave++){
+       sStave=bsStave;
+       sStave += nstave;
+       Reve::RenderElementList* relStave = new Reve::RenderElementList(sStave.Data());
+       relStave->SetMainColor((Color_t)2);
+       gReve->AddRenderElement(relSector, relStave);
+       for(nMod=0; nMod<4; nMod++) {
+         Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)2);
+         gReve->AddRenderElement(relStave, m);
+       }
+      }
     }
   }
 
   if (mode & 4) {
-    Reve::RenderElementList* l = new Reve::RenderElementList("SSD");
-    l->SetTitle("Silicon Strip Detectors");
+    Reve::RenderElementList* l = new Reve::RenderElementList("SDD2");
+    l->SetTitle("SDDs' first layer");
+    l->SetMainColor((Color_t)3);
+    gReve->AddRenderElement(l);
+
+    for(nlad=0; nlad<14; nlad++) {
+      sLadder=bsLadder;
+      sLadder+=nlad;
+      Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
+      relLadder->SetMainColor((Color_t)3);
+      gReve->AddRenderElement(l, relLadder);
+      for(nMod=0; nMod<6; nMod++) {
+       Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)3);
+       gReve->AddRenderElement(relLadder, m);
+      }
+    }
+  }
+
+  if (mode & 8) {
+    Reve::RenderElementList* l = new Reve::RenderElementList("SDD3");
+    l->SetTitle("SDDs' second layer");
+    l->SetMainColor((Color_t)3);
+    gReve->AddRenderElement(l);
+    for(nlad=0; nlad<22; nlad++) {
+      sLadder=bsLadder;
+      sLadder+=nlad;
+      Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
+      relLadder->SetMainColor((Color_t)3);
+      gReve->AddRenderElement(l, relLadder);
+      for(nMod=0; nMod<8; nMod++) {
+       Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)3);
+       gReve->AddRenderElement(relLadder, m);
+      }
+    }
+  }
+
+  if (mode & 16) {
+    Reve::RenderElementList* l = new Reve::RenderElementList("SSD4");
+    l->SetTitle("SSDs' first layer");
     l->SetMainColor((Color_t)4);
     gReve->AddRenderElement(l);
-    for(Int_t i=g->GetStartSSD(); i<=g->GetLastSSD(); i++) {
-      Alieve::ITSModule* m = new Alieve::ITSModule(i, di, (Color_t)4);
-      gReve->AddRenderElement(l, m);
-    } 
+    for(nlad=0; nlad<34; nlad++) {
+      sLadder=bsLadder;
+      sLadder+=nlad;
+      Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
+      relLadder->SetMainColor((Color_t)4);
+      gReve->AddRenderElement(l, relLadder);
+      for(nMod=0; nMod<22; nMod++) {
+       Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)4);
+       gReve->AddRenderElement(relLadder, m);
+      }
+    }
+  }
+
+  if (mode & 32) {
+    Reve::RenderElementList* l = new Reve::RenderElementList("SSD5");
+    l->SetTitle("SSDs' second layer");
+    l->SetMainColor((Color_t)4);
+    gReve->AddRenderElement(l);
+    for(nlad=0; nlad<38; nlad++) {
+      sLadder=bsLadder;
+      sLadder+=nlad;
+      Reve::RenderElementList* relLadder = new Reve::RenderElementList(sLadder.Data());
+      relLadder->SetMainColor((Color_t)4);
+      gReve->AddRenderElement(l, relLadder);
+      for(nMod=0; nMod<25; nMod++) {
+       Alieve::ITSModule* m = new Alieve::ITSModule(i++, di, (Color_t)4);
+       gReve->AddRenderElement(relLadder, m);
+      }
+    }
   }
 
   gReve->EnableRedraw();