Fix aclic compilation.
[u/mrichter/AliRoot.git] / EVE / alice-macros / its_clusters.C
index f243e9303deb2add2cb162adc775495b14710bd1..a00b056dda137eeb24f7981448e759f0779c247d 100644 (file)
@@ -1,19 +1,43 @@
+// $Id$
+// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
 
-Reve::PointSet* its_clusters(RenderElement* cont=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.                                                 *
+ **************************************************************************/
+#ifdef __CINT__
+
+class TEveElement;
+class TEvePointSet;
+
+#else
+
+#include <TEveManager.h>
+#include <TEvePointSet.h>
+#include <EveBase/AliEveEventManager.h>
+
+#include <AliRunLoader.h>
+#include <AliCluster.h>
+
+#include <TClonesArray.h>
+
+#endif
+
+TEvePointSet* its_clusters(TEveElement* cont=0, Float_t maxR=50)
 {
-  if (!gGeoManager)
-    gReve->GetGeometry("$PWD/misaligned_geometry.root");
+  AliEveEventManager::AssertGeometry();
 
-  AliRunLoader* rl = Alieve::Event::AssertRunLoader();
+  AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
   rl->LoadRecPoints("ITS");
 
   TTree *cTree = rl->GetTreeR("ITS", false);
 
-  Reve::PointSet* clusters = new Reve::PointSet(10000);
+  TEvePointSet* clusters = new TEvePointSet(10000);
   clusters->SetOwnIds(kTRUE);
 
-  TClonesArray *cl=NULL;
-  TBranch *branch=cTree->GetBranch("ITSRecPoints");
+  TClonesArray *cl = NULL;
+  TBranch *branch  = cTree->GetBranch("ITSRecPoints");
   branch->SetAddress(&cl);
 
   Int_t nentr=(Int_t)cTree->GetEntries();
@@ -22,25 +46,28 @@ Reve::PointSet* its_clusters(RenderElement* cont=0)
 
     Int_t ncl=cl->GetEntriesFast();
 
+    Float_t maxRsqr = maxR*maxR;
     while (ncl--) {
       AliCluster *c=(AliCluster*)cl->UncheckedAt(ncl);
       Float_t g[3]; //global coordinates
       c->GetGlobalXYZ(g);
-
-      clusters->SetNextPoint(g[0], g[1], g[2]);
-      AliCluster *atp = new AliCluster(*c);
-      clusters->SetPointId(atp);
+      if (g[0]*g[0]+g[1]*g[1] < maxRsqr)
+      {
+       clusters->SetNextPoint(g[0], g[1], g[2]);
+       AliCluster *atp = new AliCluster(*c);
+       clusters->SetPointId(atp);
+      }
     }
   }
 
-  if(clusters->Size() == 0 && gReve->GetKeepEmptyCont() == kFALSE) {
+  if (clusters->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) {
     Warning("its_clusters", "No ITS clusters");
     delete clusters;
     return 0;
   }
 
   clusters->SetMarkerStyle(2);
-  clusters->SetMarkerSize(0.5);
+  clusters->SetMarkerSize(0.2);
   clusters->SetMarkerColor(4);
 
   char form[1000];
@@ -50,10 +77,8 @@ Reve::PointSet* its_clusters(RenderElement* cont=0)
   char tip[1000];
   sprintf(tip,"N=%d", clusters->Size());
   clusters->SetTitle(tip);
-
-  using namespace Reve;
-  gReve->AddRenderElement(clusters);
-  gReve->Redraw3D();
+  gEve->AddElement(clusters, cont);
+  gEve->Redraw3D();
 
   return clusters;
 }