// $Id$
+// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
-void clusters_from_label(Int_t label=0)
+/**************************************************************************
+ * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
+ * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
+ * full copyright notice. *
+ **************************************************************************/
+
+TEvePointSet* clusters_from_label(Int_t label=0, TEveElement* cont=0)
{
- AliESD* esd = Alieve::Event::AssertESD();
- TPolyMarker3D* clusters = new TPolyMarker3D(64);
+ AliESDEvent* esd = AliEveEventManager::AssertESD();
+ TEvePointSet* clusters = new TEvePointSet(64);
+ clusters->SetOwnIds(kTRUE);
- for (Int_t n=0; n<esd->GetNumberOfTracks(); n++) {
+ for (Int_t n=0; n<esd->GetNumberOfTracks(); n++)
+ {
AliESDtrack* at = esd->GetTrack(n);
if (at->GetLabel() == label) {
const AliTrackPointArray* pArr = at->GetTrackPointArray();
const Float_t* z = pArr->GetZ();
for (Int_t i=0; i<np; ++i) {
clusters->SetNextPoint(x[i], y[i], z[i]);
+ AliTrackPoint *atp = new AliTrackPoint;
+ pArr->GetPoint(*atp, i);
+ clusters->SetPointId(atp);
}
}
}
+
+ if(clusters->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
+ Warning("clusters_from_label", Form("No clusters match label '%d'", label));
+ delete clusters;
+ return 0;
+ }
+
clusters->SetMarkerStyle(2);
- clusters->SetMarkerSize(5);
+ clusters->SetMarkerSize(0.5);
clusters->SetMarkerColor(4);
- clusters->SetName(Form("Clusters lab=%d", label));
+ //PH The line below is replaced waiting for a fix in Root
+ //PH which permits to use variable siza arguments in CINT
+ //PH on some platforms (alphalinuxgcc, solariscc5, etc.)
+ //PH clusters->SetName(Form("Clusters lab=%d", label));
+ char form[1000];
+ sprintf(form,"Clusters lab=%d", label);
+ clusters->SetName(form);
+
+ char tip[1000];
+ sprintf(tip,"N=%d", clusters->Size());
+ clusters->SetTitle(tip);
+ gEve->AddElement(clusters, cont);
+ gEve->Redraw3D();
- using namespace Reve;
- Color_t* colp = FindColorVar(clusters, "fMarkerColor");
- RenderElementObjPtr* rnrEl = new RenderElementObjPtr(clusters, *colp);
- gReve->AddRenderElement(rnrEl);
- gReve->Redraw3D();
+ return clusters;
}