From 95fb6e56a3c6bb7e40253408569b53cb2f46dc0f Mon Sep 17 00:00:00 2001 From: mtadel Date: Mon, 14 Dec 2009 14:01:51 +0000 Subject: [PATCH] From Pawel Debski. Some fixes and a new gentle geometry for projectors. --- EVE/EveBase/AliEveConfigManager.cxx | 6 +- EVE/alice-macros/geom_gentle_projector.C | 208 +++++++++++++++++++++++ EVE/macros/VizDB_scan_projector.C | 10 +- 3 files changed, 216 insertions(+), 8 deletions(-) create mode 100644 EVE/alice-macros/geom_gentle_projector.C diff --git a/EVE/EveBase/AliEveConfigManager.cxx b/EVE/EveBase/AliEveConfigManager.cxx index 87d2022afc3..17a6a1394af 100644 --- a/EVE/EveBase/AliEveConfigManager.cxx +++ b/EVE/EveBase/AliEveConfigManager.cxx @@ -233,7 +233,7 @@ void AliEveConfigManager::AliEvePopupHandler(Int_t id) mv->DestroyAllGeometries(); - gEve->LoadVizDB("geom_gentle_default.C", kTRUE, kTRUE); + gEve->LoadVizDB("geom_gentle_projector.C", kTRUE, kTRUE); gEve->LoadVizDB("VizDB_scan_projector.C", kTRUE, kTRUE); @@ -544,7 +544,7 @@ void AliEveConfigManager::AliEvePopupHandler(Int_t id) { TGFileInfo fi; - fi.fFileTypes = gMacroSaveAsTypes; + fi.fFileTypes = gPictureSaveAsTypes; fi.fIniDir = StrDup(""); // current directory fi.fFileTypeIdx = 0; fi.fOverwrite = kTRUE; @@ -717,7 +717,7 @@ void AliEveConfigManager::AliEvePopupHandler(Int_t id) { TGFileInfo fi; - fi.fFileTypes = gMacroSaveAsTypes; + fi.fFileTypes = gPictureSaveAsTypes; fi.fIniDir = StrDup(""); // current directory fi.fFileTypeIdx = 0; fi.fOverwrite = kTRUE; diff --git a/EVE/alice-macros/geom_gentle_projector.C b/EVE/alice-macros/geom_gentle_projector.C new file mode 100644 index 00000000000..85b7eefc55a --- /dev/null +++ b/EVE/alice-macros/geom_gentle_projector.C @@ -0,0 +1,208 @@ +void geom_gentle_projector(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(); + + 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(kBlue-6); + its1->SetMainTransparency(50); + k++; + + TEveGeoShape* its2 = (TEveGeoShape*) *k; + its2->SetRnrSelf(kTRUE); + its2->SetMainTransparency(50); + k++; + + TEveGeoShape* its3 = (TEveGeoShape*) *k; + its3->SetRnrSelf(kTRUE); + its1->SetMainColor(kGreen-10); + its3->SetMainTransparency(50); + +//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(kTRUE); + lvl3->SetMainTransparency(50); + 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->SetMainTransparency(50); + m++; + + TEveGeoShape* tpc2 = (TEveGeoShape*) *m; + tpc2->SetMainColor(kGray); + tpc2->SetMainTransparency(50); + m++; + + TEveGeoShape* tpc3 = (TEveGeoShape*) *m; + tpc3->SetRnrSelf(kTRUE); + tpc3->SetMainTransparency(50); + m++; + +//TRD+TOF + + i++; + + TEveGeoShape* lvl1 = (TEveGeoShape*) *i; + lvl1->SetRnrSelf(kFALSE); + TEveElement::List_i j = lvl1->BeginChildren(); + + TEveGeoShape* lvl2 = (TEveGeoShape*) *j; + lvl2->SetRnrSelf(kTRUE); + lvl2->SetMainTransparency(50); + j++; + + TEveGeoShape* lvl2 = (TEveGeoShape*) *j; + lvl2->SetRnrSelf(kTRUE); + lvl2->SetMainTransparency(50); + j++; + +//PHOS + + i++; + + TEveGeoShape* lvl1 = (TEveGeoShape*) *i; + lvl1->SetRnrSelf(kFALSE); + + for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++) + { + TEveGeoShape* lvl2 = (TEveGeoShape*) *j; + lvl2->SetRnrSelf(kTRUE); + lvl2->SetMainTransparency(50); + } + +//HMPID + + i++; + + TEveGeoShape* lvl1 = (TEveGeoShape*) *i; + lvl1->SetRnrSelf(kFALSE); + + for (TEveElement::List_i j = lvl1->BeginChildren(); j != lvl1->EndChildren(); j++) + { + TEveGeoShape* lvl2 = (TEveGeoShape*) *j; + lvl2->SetRnrSelf(kTRUE); + lvl2->SetMainTransparency(50); + } + + + 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(kGreen-10); + its1->SetMainTransparency(70); + k++; + + TEveGeoShape* its2 = (TEveGeoShape*) *k; + its2->SetRnrSelf(kTRUE); + its2->SetMainTransparency(70); + k++; + + TEveGeoShape* its3 = (TEveGeoShape*) *k; + its3->SetRnrSelf(kTRUE); + its3->SetMainColor(kBlue-6); + its3->SetMainTransparency(70); + + + TFile f("$ALICE_ROOT/EVE/alice-data/gentle_rhoz_geo.root"); + TEveGeoShapeExtract* gse = (TEveGeoShapeExtract*) f.Get("Gentle"); + TEveGeoShape* gsre3 = TEveGeoShape::ImportShapeExtract(gse); + f.Close(); + + 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->SetMainTransparency(70); + its1->SetMainColor(kGreen-10); + k++; + + TEveGeoShape* its2 = (TEveGeoShape*) *k; + its2->SetRnrSelf(kTRUE); + its2->SetMainTransparency(70); +// its2->SetMainColor(kRed+2); + k++; + + TEveGeoShape* its3 = (TEveGeoShape*) *k; + its3->SetRnrSelf(kTRUE); + its3->SetMainColor(kBlue-6); + its3->SetMainTransparency(70); + + + TEveElement* top = gEve->GetCurrentEvent(); + + AliEveMultiView *mv = AliEveMultiView::Instance(); + + mv->InitGeomGentle(gsre1, gsre2, gsre3); + + gEve->FullRedraw3D(kTRUE, kTRUE); + +} + diff --git a/EVE/macros/VizDB_scan_projector.C b/EVE/macros/VizDB_scan_projector.C index 77822754f46..2586dbf1b36 100644 --- a/EVE/macros/VizDB_scan_projector.C +++ b/EVE/macros/VizDB_scan_projector.C @@ -85,25 +85,25 @@ void VizDB_scan_projector() gEve->InsertVizDBEntry("Clusters", ps); ps = new TEvePointSet(); - ps->SetMarkerColor(5); - ps->SetMarkerSize(0.2); + ps->SetMarkerColor(6); + ps->SetMarkerSize(0.4); ps->SetMarkerStyle(2); gEve->InsertVizDBEntry("REC Clusters ITS", ps); ps = new TEvePointSet(); ps->SetMarkerColor(4); - ps->SetMarkerSize(0.2); + ps->SetMarkerSize(0.3); ps->SetMarkerStyle(2); gEve->InsertVizDBEntry("REC Clusters TPC", ps); ps = new TEvePointSet(); - ps->SetMarkerColor(7); + ps->SetMarkerColor(9); ps->SetMarkerSize(0.5); ps->SetMarkerStyle(4); gEve->InsertVizDBEntry("REC Clusters TRD", ps); ps = new TEvePointSet(); - ps->SetMarkerColor(kOrange); + ps->SetMarkerColor(kRed); ps->SetMarkerSize(0.5); ps->SetMarkerStyle(4); gEve->InsertVizDBEntry("REC Clusters TOF", ps); -- 2.31.1