2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 #if !defined(__CINT__) || defined(__MAKECINT__)
11 #include <TClonesArray.h>
14 #include <TGeoManager.h>
15 #include <TEveManager.h>
16 #include <TEveElement.h>
18 #include <AliRunLoader.h>
19 #include <AliTOFGeometry.h>
20 #include <AliEveEventManager.h>
21 #include <AliEveTOFDigitsInfo.h>
22 #include <AliEveTOFStrip.h>
25 void tof_digits_strips(Int_t selectedSector=-1)
27 TClonesArray *array = 0x0;
29 // Int_t nDigitsInVolume[3] = {-1, -1, -1};
31 TGeoManager *localGeoManager = gEve->GetGeometry("./geometry.root");// gGeoManager = gEve->GetDefaultGeometry();
33 if (!localGeoManager) {
34 printf("ERROR: no TGeo\n");
37 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
38 rl->LoadDigits("TOF");
39 TTree* dt = rl->GetTreeD("TOF", false);
41 AliEveTOFDigitsInfo* di = new AliEveTOFDigitsInfo();
46 AliTOFGeometry* g = di->GetTOFgeometry();
48 gStyle->SetPalette(1, 0);
49 gEve->DisableRedraw();
52 TString bsPlate="Plate";
54 Char_t sectorName[100];
55 Char_t sectorTitle[200];
57 TEveElementList* ll = new TEveElementList("TOF");
58 ll->SetTitle("TOF detector");
62 for(Int_t iSector=0; iSector<g->NSectors(); iSector++) {
63 if (selectedSector!=-1 && iSector!=selectedSector) continue;
64 sprintf(sectorName,"Sector%2i",iSector);
65 TEveElementList* l = new TEveElementList(sectorName);
66 l->SetTitle(sectorTitle);
68 gEve->AddElement(l, ll);
71 for(Int_t iPlate=0; iPlate<g->NPlates(); iPlate++) {
72 if ((iSector==13 || iSector==14 || iSector==15) &&
73 (iPlate==2) )continue; // staging TOF geometry with holes
75 if(iPlate==2) nStrips=15;
80 TEveElementList* relPlate = new TEveElementList(sPlate.Data());
81 relPlate->SetMainColor(2);
82 gEve->AddElement(relPlate, l);
85 for(Int_t iStrip=0; iStrip<nStrips; iStrip++) {
87 array = di->GetDigits(iSector,iPlate, iStrip);
89 AliEveTOFStrip* m = new AliEveTOFStrip(localGeoManager,
90 iSector,iPlate,iStrip,array);
91 gEve->AddElement(m, relPlate);