From a3e7341e2c2b5ecb37696feac3992760253f9ff4 Mon Sep 17 00:00:00 2001 From: mtadel Date: Tue, 16 Dec 2008 12:42:38 +0000 Subject: [PATCH] alieve_main/alieve_main.cxx --------------------------- - Remove multiple separators from macro-path - this caused TabCompletion to fail. macros/anyscan_init.C --------------------- - Add acorde_raw. alice-macros/acorde_raw.C ------------------------- - Remove hack to set the geo-shape, have setter in TEveGeoShape now. - Add tooltip to each module. alice-macros/esd_zdc.C ---------------------- - Add tooltips for ZDC towers. - Clone a geo-shape instead of fiddling with its fUniqueID. --- EVE/alice-macros/acorde_raw.C | 25 ++++++--------- EVE/alice-macros/esd_zdc.C | 54 ++++++++++++++++++--------------- EVE/alieve_main/alieve_main.cxx | 6 ++++ EVE/macros/anyscan_init.C | 6 ++-- 4 files changed, 48 insertions(+), 43 deletions(-) diff --git a/EVE/alice-macros/acorde_raw.C b/EVE/alice-macros/acorde_raw.C index 90994e12762..3a5ef3582a4 100644 --- a/EVE/alice-macros/acorde_raw.C +++ b/EVE/alice-macros/acorde_raw.C @@ -32,8 +32,6 @@ void acorde_raw() gEve->AddElement(acorde); - Int_t shape_offset = TEveGeoShape::Class()->GetDataMemberOffset("fShape"); - for (Int_t module=0; module < 60; ++module) { TString path = acorde_module_path(module); @@ -45,30 +43,25 @@ void acorde_raw() continue; } - TEveGeoShape* eg_shape = new TEveGeoShape(Form("Module %d", module)); - - eg_shape->RefMainTrans().SetFrom(* gGeoManager->GetCurrentMatrix()); - - // @@NEWROOT@@ Temporary hack. - // Hack to set shape pointer, no interface available in TEveGeoShape. - * (TGeoShape**) (((char*)eg_shape) + shape_offset) = gGeoManager->GetCurrentVolume()->GetShape(); - // From Matevz: - // Here check ctate and assign color, I do it partially for now. + // Here check state and assign color, I do it partially for now. Int_t word_idx = module / 30; Int_t bit_idx = module % 30; Bool_t val = (dy[word_idx] & (1 << bit_idx)) != 0; //printf("Module %2d: word_idx = %d, bit_idx = %2d => val = %d\n", // module, word_idx, bit_idx, val); - if (val) - eg_shape->SetMainColor(2); - else - eg_shape->SetMainColor(4); - eg_shape->StampColorSelection(); + + TEveGeoShape* eg_shape = new TEveGeoShape(TString::Format("Module %d", module), + TString::Format("Module %d, %s", module, val ? "ON" : "OFF")); + eg_shape->SetPickable(kTRUE); + eg_shape->SetMainColor(val ? kRed : kBlue); + eg_shape->RefMainTrans().SetFrom(*gGeoManager->GetCurrentMatrix()); + eg_shape->SetShape((TGeoShape*) gGeoManager->GetCurrentVolume()->GetShape()->Clone()); acorde->AddElement(eg_shape); } + delete stream; gEve->Redraw3D(); } diff --git a/EVE/alice-macros/esd_zdc.C b/EVE/alice-macros/esd_zdc.C index 8f79afe9492..34256b27936 100644 --- a/EVE/alice-macros/esd_zdc.C +++ b/EVE/alice-macros/esd_zdc.C @@ -1,7 +1,7 @@ TEveRGBAPalette *g_zdc_palette = 0; -TEveGeoShape* zdc_make_shape(const Text_t* name, Double_t signal, - const Text_t* path) +TEveGeoShape* zdc_make_shape(const Text_t* name, const Text_t* title_base, + Double_t signal, const Text_t* path) { if ( ! gGeoManager->cd(path)) { @@ -12,10 +12,9 @@ TEveGeoShape* zdc_make_shape(const Text_t* name, Double_t signal, UChar_t rgb[3]; g_zdc_palette->ColorFromValue(TMath::Nint(signal), rgb, kFALSE); - TGeoShape *gs = gGeoManager->GetCurrentVolume()->GetShape(); - gs->SetUniqueID(gs->GetUniqueID() + 1); + TGeoShape *gs = (TGeoShape*) gGeoManager->GetCurrentVolume()->GetShape()->Clone(); - TEveGeoShape *s = new TEveGeoShape(name); + TEveGeoShape *s = new TEveGeoShape(name, Form("%s %s, E=%.3f", title_base, name, signal)); s->SetPickable(kTRUE); s->SetMainColorRGB(rgb[0], rgb[1], rgb[2]); s->SetShape(gs); @@ -52,78 +51,83 @@ void esd_zdc() TEveElementList *c = 0; TEveGeoShape *s = 0; Double_t *te = 0; + Text_t *tb = 0; // ZNC geometry ------------------------------------ - c = new TEveElementList("ZNC"); + tb = "ZNC"; + c = new TEveElementList(tb); l->AddElement(c); te = esd->GetZN1TowerEnergy(); - c->AddElement(zdc_make_shape("Tower 1", te[1], + c->AddElement(zdc_make_shape("Tower 1", tb, te[1], "ALIC_1/ZDCC_1/ZNEU_1/ZNTX_1/ZN1_1")); - c->AddElement(zdc_make_shape("Tower 2", te[2], + c->AddElement(zdc_make_shape("Tower 2", tb, te[2], "ALIC_1/ZDCC_1/ZNEU_1/ZNTX_1/ZN1_2")); - c->AddElement(zdc_make_shape("Tower 3", te[3], + c->AddElement(zdc_make_shape("Tower 3", tb, te[3], "ALIC_1/ZDCC_1/ZNEU_1/ZNTX_2/ZN1_1")); - c->AddElement(zdc_make_shape("Tower 4", te[4], + c->AddElement(zdc_make_shape("Tower 4", tb, te[4], "ALIC_1/ZDCC_1/ZNEU_1/ZNTX_2/ZN1_2")); // ZNA geometry - c = new TEveElementList("ZNA"); + tb = "ZNA"; + c = new TEveElementList(tb); l->AddElement(c); te = esd->GetZN2TowerEnergy(); - c->AddElement(zdc_make_shape("Tower 1", te[1], + c->AddElement(zdc_make_shape("Tower 1", tb, te[1], "ALIC_1/ZDCA_1/ZNEU_2/ZNTX_1/ZN1_1")); - c->AddElement(zdc_make_shape("Tower 2", te[2], + c->AddElement(zdc_make_shape("Tower 2", tb, te[2], "ALIC_1/ZDCA_1/ZNEU_2/ZNTX_1/ZN1_2")); - c->AddElement(zdc_make_shape("Tower 3", te[3], + c->AddElement(zdc_make_shape("Tower 3", tb, te[3], "ALIC_1/ZDCA_1/ZNEU_2/ZNTX_2/ZN1_1")); - c->AddElement(zdc_make_shape("Tower 4", te[4], + c->AddElement(zdc_make_shape("Tower 4", tb, te[4], "ALIC_1/ZDCA_1/ZNEU_2/ZNTX_2/ZN1_2")); // ZPC geometry ------------------------------------ - c = new TEveElementList("ZPC"); + tb = "ZPC"; + c = new TEveElementList(tb); l->AddElement(c); te = esd->GetZP1TowerEnergy(); - c->AddElement(zdc_make_shape("Tower 1", te[1], + c->AddElement(zdc_make_shape("Tower 1", tb, te[1], "ALIC_1/ZDCC_1/ZPRO_1/ZPTX_1/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 2", te[2], + c->AddElement(zdc_make_shape("Tower 2", tb, te[2], "ALIC_1/ZDCC_1/ZPRO_1/ZPTX_2/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 3", te[3], + c->AddElement(zdc_make_shape("Tower 3", tb, te[3], "ALIC_1/ZDCC_1/ZPRO_1/ZPTX_3/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 4", te[4], + c->AddElement(zdc_make_shape("Tower 4", tb, te[4], "ALIC_1/ZDCC_1/ZPRO_1/ZPTX_4/ZP1_1")); // ZPA geometry - c = new TEveElementList("ZPA"); + tb = "ZPA"; + c = new TEveElementList(tb); l->AddElement(c); te = esd->GetZP2TowerEnergy(); - c->AddElement(zdc_make_shape("Tower 1", te[1], + c->AddElement(zdc_make_shape("Tower 1", tb, te[1], "ALIC_1/ZDCA_1/ZPRO_2/ZPTX_1/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 2", te[2], + c->AddElement(zdc_make_shape("Tower 2", tb, te[2], "ALIC_1/ZDCA_1/ZPRO_2/ZPTX_2/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 3", te[3], + c->AddElement(zdc_make_shape("Tower 3", tb, te[3], "ALIC_1/ZDCA_1/ZPRO_2/ZPTX_3/ZP1_1")); - c->AddElement(zdc_make_shape("Tower 4", te[4], + c->AddElement(zdc_make_shape("Tower 4", tb, te[4], "ALIC_1/ZDCA_1/ZPRO_2/ZPTX_4/ZP1_1")); // End - refresh screen diff --git a/EVE/alieve_main/alieve_main.cxx b/EVE/alieve_main/alieve_main.cxx index cc627721650..22444b326cc 100644 --- a/EVE/alieve_main/alieve_main.cxx +++ b/EVE/alieve_main/alieve_main.cxx @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -49,6 +50,11 @@ int main(int argc, char **argv) gInterpreter->AddIncludePath(Form("%s/include", gSystem->Getenv("ALICE_ROOT"))); gInterpreter->AddIncludePath(gSystem->Getenv("ALICE_ROOT")); } + { + // TabCom fails on double-colon in macro-path. + TPMERegexp doubleColon(":{2,}", "og"); + doubleColon.Substitute(macPath, ":"); + } gROOT->SetMacroPath(macPath); // How to hadle AliLog properly? diff --git a/EVE/macros/anyscan_init.C b/EVE/macros/anyscan_init.C index 23fc3fdb3bc..736d8d405b5 100644 --- a/EVE/macros/anyscan_init.C +++ b/EVE/macros/anyscan_init.C @@ -149,13 +149,15 @@ void anyscan_init() exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hit ITS", "its_hits.C", "its_hits", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hit TPC", "tpc_hits.C", "tpc_hits", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hit T0", "t0_hits.C", "t0_hits", "", kFALSE)); + exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hit FMD", "fmd_hits.C", "fmd_hits", "", kFALSE)); + + exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG FMD", "fmd_digits.C", "fmd_digits", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW TPC", "tpc_raw.C", "tpc_raw", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW T0", "t0_raw.C", "t0_raw", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW FMD", "fmd_raw.C", "fmd_raw", "", kFALSE)); - exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "DIG FMD", "fmd_digits.C", "fmd_digits", "", kFALSE)); - exec->AddMacro(new AliEveMacro(AliEveMacro::kRunLoader, "SIM Hit FMD", "fmd_hits.C", "fmd_hits", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW VZERO", "vzero_raw.C", "vzero_raw", "", kFALSE)); + exec->AddMacro(new AliEveMacro(AliEveMacro::kRawReader, "RAW ACORDE", "acorde_raw.C", "acorde_raw", "", kFALSE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX", "primary_vertex.C", "primary_vertex", "", kTRUE)); exec->AddMacro(new AliEveMacro(AliEveMacro::kESD, "REC PVTX Ellipse", "primary_vertex.C", "primary_vertex_ellipse", "", kTRUE)); -- 2.43.5