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 **************************************************************************/
9 #if !defined(__CINT__) || defined(__MAKECINT__)
10 #include <TEveManager.h>
11 #include <TEveElement.h>
12 #include <TEvePointSet.h>
14 #include <AliESDEvent.h>
15 #include <AliTrackPointArray.h>
16 #include <AliEveEventManager.h>
17 #include <AliEveMultiView.h>
20 TEvePointSet* clusters_from_index(Int_t index=0, TEveElement* cont=0)
22 AliESDEvent* esd = AliEveEventManager::AssertESD();
25 Warning("clusters_from_index", "index not set.");
29 if (index >= esd->GetNumberOfTracks()) {
30 Warning("clusters_from_index", "index out of range");
34 TEvePointSet* clusters = new TEvePointSet(64);
35 clusters->SetOwnIds(kTRUE);
37 AliESDtrack* at = esd->GetTrack(index);
38 const AliTrackPointArray* pArr = at->GetTrackPointArray();
40 Warning("clusters_from_index", "TrackPointArray not stored with ESD track.");
43 Int_t np = pArr->GetNPoints();
44 const Float_t* x = pArr->GetX();
45 const Float_t* y = pArr->GetY();
46 const Float_t* z = pArr->GetZ();
47 for (Int_t i=0; i<np; ++i) {
48 clusters->SetNextPoint(x[i], y[i], z[i]);
49 AliTrackPoint *atp = new AliTrackPoint;
50 pArr->GetPoint(*atp, i);
51 clusters->SetPointId(atp); }
54 if(clusters->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
55 Warning("clusters_from_index", "No clusters for index '%d'", index);
60 clusters->SetMarkerStyle(2);
61 clusters->SetMarkerSize(2);
62 clusters->SetMarkerColor(4);
64 clusters->SetName(Form("Clusters idx=%d", index));
65 clusters->SetTitle(Form("N=%d", clusters->Size()));
67 gEve->AddElement(clusters);
69 if (AliEveMultiView::Instance())
71 AliEveMultiView::Instance()->ImportEventRPhi(clusters);
72 AliEveMultiView::Instance()->ImportEventRhoZ(clusters);