3 /**************************************************************************
4 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
5 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
6 * full copyright notice. *
7 **************************************************************************/
9 // Macro to visualise clusters from MUON spectrometer
10 // (both tracker and trigger).
12 // Use muon_clusters() in order to run it
14 // Needs that alieve_init() is already called
18 #include "AliMUONVCluster.h"
19 #include "AliMUONVClusterStore.h"
21 #include "AliRunLoader.h"
23 #include "EveBase/AliEveEventManager.h"
25 #include <TEveManager.h>
26 #include <TEvePointSet.h>
29 #include <Riostream.h>
33 //______________________________________________________________________________
34 void add_muon_clusters(TIter* next, TEvePointSet* clusterList)
36 // loop over clusters and produce corresponding graphic objects
37 AliMUONVCluster* cluster;
38 while ( ( cluster = static_cast<AliMUONVCluster*>((*next)()) ) )
40 clusterList->SetNextPoint(cluster->GetX(),cluster->GetY(),cluster->GetZ());
44 //______________________________________________________________________________
48 AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
49 rl->LoadRecPoints("MUON");
50 TTree* ct = rl->GetTreeR("MUON",kFALSE);
52 AliMUONVClusterStore* clusterStore = AliMUONVClusterStore::Create(*ct);
53 clusterStore->Clear();
54 clusterStore->Connect(*ct,kFALSE);
56 if (clusterStore->GetSize() == 0 && !gEve->GetKeepEmptyCont()) return;
59 TEvePointSet* clusterList = new TEvePointSet(10000);
60 clusterList->SetName("MUON Clusters");
61 clusterList->SetTitle(Form("N=%d",clusterStore->GetSize()));
62 clusterList->SetPickable(kFALSE);
63 clusterList->SetMarkerStyle(20);
64 clusterList->SetMarkerColor(kCyan);
65 clusterList->SetMarkerSize(1.);
67 // add cluster to the container
68 TIter next(clusterStore->CreateIterator());
69 add_muon_clusters(&next, clusterList);
72 // add graphic containers
73 gEve->DisableRedraw();
74 gEve->AddElement(clusterList);