+// $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 geom_gentle_transparentdark(Bool_t register_as_global=kTRUE)
+{
+
+ TFile f("$ALICE_ROOT/EVE/alice-data/gentle_geo.root");
+ TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
+ TEveGeoShape* gsre1 = TEveGeoShape::ImportShapeExtract(gse);
+ f.Close();
+
+ if (register_as_global)
+ {
+ gEve->AddGlobalElement(gsre1);
+ }
+
+//======================================
+
+ // Fix visibility, color and transparency
+
+ gsre1->SetRnrSelf(kFALSE);
+ TEveElement::List_i i = gsre1->BeginChildren();
+
+//ITS
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+ TEveElement::List_i j = lvl1->BeginChildren();
+
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kFALSE);
+ TEveElement::List_i k = lvl2->BeginChildren();
+
+ TEveGeoShape* its1 = (TEveGeoShape*) *k;
+ its1->SetRnrSelf(kTRUE);
+ its1->SetMainColor(0);
+ its1->SetMainTransparency(80);
+ k++;
+
+ TEveGeoShape* its2 = (TEveGeoShape*) *k;
+ its2->SetRnrSelf(kTRUE);
+ its2->SetMainColor(0);
+ its2->SetMainTransparency(80);
+ k++;
+
+ TEveGeoShape* its3 = (TEveGeoShape*) *k;
+ its3->SetRnrSelf(kTRUE);
+ its3->SetMainColor(0);
+ its3->SetMainTransparency(80);
+
+//TPC
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+ TEveElement::List_i j = lvl1->BeginChildren();
+
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kFALSE);
+ TEveElement::List_i k = lvl2->BeginChildren();
+
+ TEveGeoShape* lvl3 = (TEveGeoShape*) *k;
+ lvl3->SetRnrSelf(kFALSE);
+ lvl3->SetMainColor(0);
+ lvl3->SetMainTransparency(80);
+ TEveElement::List_i l = lvl3->BeginChildren();
+
+ TEveGeoShape* lvl4 = (TEveGeoShape*) *l;
+ lvl4->SetRnrSelf(kFALSE);
+ TEveElement::List_i m = lvl4->BeginChildren();
+
+ TEveGeoShape* tpc1 = (TEveGeoShape*) *m;
+ tpc1->SetRnrSelf(kTRUE);
+ tpc1->SetMainColor(0);
+ tpc1->SetMainTransparency(80);
+ m++;
+
+ TEveGeoShape* tpc2 = (TEveGeoShape*) *m;
+ tpc2->SetMainColor(kGray);
+ tpc2->SetMainColor(0);
+ tpc2->SetMainTransparency(80);
+ m++;
+
+ TEveGeoShape* tpc3 = (TEveGeoShape*) *m;
+ tpc3->SetRnrSelf(kTRUE);
+ tpc3->SetMainColor(0);
+ tpc3->SetMainTransparency(80);
+ m++;
+
+//TRD+TOF
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); ++j)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+
+ }
+
+//PHOS
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); ++j)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//HMPID
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); ++j)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//======================================
+
+ // The resulting geometry is NOT added into the global scene!
+
+ TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rphi_geo.root");
+ TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
+ TEveGeoShape* gsre2 = TEveGeoShape::ImportShapeExtract(gse);
+ f.Close();
+
+ // Fix visibility, color and transparency
+
+ gsre2->SetRnrSelf(kFALSE);
+ TEveElement::List_i i = gsre2->BeginChildren();
+
+//ITS
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+ TEveElement::List_i j = lvl1->BeginChildren();
+
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kFALSE);
+ TEveElement::List_i k = lvl2->BeginChildren();
+
+ TEveGeoShape* its1 = (TEveGeoShape*) *k;
+ its1->SetRnrSelf(kTRUE);
+ its1->SetMainColor(0);
+ its1->SetMainTransparency(80);
+
+ k++;
+
+ TEveGeoShape* its2 = (TEveGeoShape*) *k;
+ its2->SetRnrSelf(kTRUE);
+ its2->SetMainColor(0);
+ its2->SetMainTransparency(80);
+ k++;
+
+ TEveGeoShape* its3 = (TEveGeoShape*) *k;
+ its3->SetRnrSelf(kTRUE);
+ its3->SetMainColor(0);
+ its3->SetMainTransparency(80);
+
+//TPC
+
+ i++;
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//PHOS
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+
+ }
+
+//HMPID
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//======================================
+
+ // The resulting geometry is NOT added into the global scene!
+
+ TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rhoz_geo.root");
+ TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle");
+ TEveGeoShape* gsre3 = TEveGeoShape::ImportShapeExtract(gse);
+ f.Close();
+
+ // Fix visibility, color and transparency
+
+ gsre3->SetRnrSelf(kFALSE);
+ TEveElement::List_i i = gsre3->BeginChildren();
+
+//ITS
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+ TEveElement::List_i j = lvl1->BeginChildren();
+
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kFALSE);
+ TEveElement::List_i k = lvl2->BeginChildren();
+
+ TEveGeoShape* its1 = (TEveGeoShape*) *k;
+ its1->SetRnrSelf(kTRUE);
+ its1->SetMainColor(0);
+ k++;
+
+ TEveGeoShape* its2 = (TEveGeoShape*) *k;
+ its2->SetRnrSelf(kTRUE);
+ its2->SetMainColor(0);
+ k++;
+
+ TEveGeoShape* its3 = (TEveGeoShape*) *k;
+ its3->SetRnrSelf(kTRUE);
+ its3->SetMainColor(0);
+
+//TPC
+
+ i++;
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+
+ }
+
+//PHOS
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//HMPID
+
+ i++;
+
+ TEveGeoShape* lvl1 = (TEveGeoShape*) *i;
+ lvl1->SetRnrSelf(kFALSE);
+// TEveElement::List_i j = lvl1->BeginChildren();
+
+ for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++)
+ {
+ TEveGeoShape* lvl2 = (TEveGeoShape*) *j;
+ lvl2->SetRnrSelf(kTRUE);
+ lvl2->SetMainColor(0);
+ lvl2->SetMainTransparency(80);
+ }
+
+//======================================
+
+
+ TEveElement* top = gEve->GetCurrentEvent();
+
+ AliEveMultiView *mv = AliEveMultiView::Instance();
+
+ mv->InitGeomGentle(gsre1, gsre2, gsre3);
+
+ gEve->FullRedraw3D(kTRUE, kTRUE);
+
+}